Perf : try lock优化purge binlog与rotate binlog时锁LOCK_index的冲突
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 35/100
- Type d'issue
- Refactorisation
- Clarté
- Plutôt claire
- Activité
- Calme
- Stack technique
- cpp
- Domaine
- databases, performance
Piste de recherche
Aucun fichier ni test n’est nommé. Commencez par localiser les chemins de purge et rotate binlog ainsi que leur gestion de LOCK_index et LOCK_log, puis examinez les tests existants liés aux locks, s’il y en a. C’est terminé lorsque les tests couvrent le comportement demandé pour try-lock, retry et la réduction de la contention.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
用try lock优化purge binlog与rotate binlog时锁LOCK_index的冲突
1.如果puger加上锁, rotate 进行try lock失败,就不加锁了,让binlog增长
2.如果rotate加上锁了, purge进行try lock失败,就多尝试几次等锁
作用:
- 减少purge流程对gtid分配影响,当index中文件数量很多的时候,purge会长时间持有gtid的排他锁,导致正常提交的事务不能分配gtid。purge卡点:从index文件中获取所有文件名称,用于后续更新lost gtids。实际上对于我们的场景,不需要获取所有的binlog文件名称,只需要获取第一个binlog文件即可,提供参数控制获取binlog文件数量,设置成1,降低purge对正常事务的影响。
- 减少rotate影响rotate会先锁住LOCK_log,采用try lock的方式,拿不到LOCK_log的锁就放弃rotate
- Langage dominant
- C++
- Étoiles
- 338
- Forks
- 235
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Guide de contribution
Aucun guide de contribution indexé pour ce dépôt
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de OpenTenBase/TXSQL
-
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
OpenTenBase/TXSQL#95 · 1 commentaire ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
OpenTenBase/TXSQL#57 · 1 commentaire ·
-
Difficulté 4/5 3-5 jours Accessibilité débutants 32/100
OpenTenBase/TXSQL#113 ·
-
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 35/100
OpenTenBase/TXSQL#112 ·
-
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 25/100
OpenTenBase/TXSQL#111 ·
Toutes les issues de OpenTenBase/TXSQL
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 70/100
-
Difficulté 2/5 1-3 heures Accessibilité débutants 65/100
duckdb/duckdb-wasm#2258 ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
objectionary/eo-graphs#75 ·
-
Coarray integration tests carry no LABELS, so run_tests.py silently skips them under every backend Ouvertecoarray
Difficulté 2/5 1-3 heures Accessibilité débutants 70/100
-
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
FISCO-BCOS/FISCO-BCOS#5642 ·