Perf : try lock优化purge binlog与rotate binlog时锁LOCK_index的冲突
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 35/100
- Tipo de issue
- Refactorización
- Claridad
- Bastante claro
- Estado de actividad
- Tranquilo
- Stack tecnológico
- cpp
- Área
- databases, performance
Línea de trabajo
No se nombran archivos ni tests. Empieza localizando las rutas de purge y rotate binlog y cómo gestionan LOCK_index y LOCK_log; después revisa los tests existentes relacionados con locks, si los hay. Se considera terminado cuando los tests cubren el comportamiento solicitado de try-lock, retry y menor contención.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
用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
- Lenguaje dominante
- C++
- Estrellas
- 338
- Forks
- 235
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de OpenTenBase/TXSQL
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
OpenTenBase/TXSQL#95 · 1 comentario ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
OpenTenBase/TXSQL#57 · 1 comentario ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 32/100
OpenTenBase/TXSQL#113 ·
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
OpenTenBase/TXSQL#112 ·
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
OpenTenBase/TXSQL#111 ·
Todos los issues de OpenTenBase/TXSQL
Issues similares
-
ai_reviewed
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
ydb-platform/ydb#53869 · 3 comentarios ·
-
bug cert blocker needs triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
project-chip/connectedhomeip#74373 ·
-
[request] tracy/0.14.1 Abiertoupstream update
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
conan-io/conan-center-index#31035 ·
-
Bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
-
documentation
Dificultad 1/5 Menos de una hora Aptitud para principiantes 85/100
vllm-project/vllm-ascend#17329 ·