[Bug] Cut-over may self-deadlock (Error 1205) behind Cloud Proxy / ProxySQL due to session-level lock visibility inconsistency
Mantenedores costumam responder em até 10 dias
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 5/5
- Tempo estimado
- Mais de uma semana
- Facilidade para iniciantes
- 42/100
Direção de pesquisa
Comece com a orquestração do lock de cut-over e o gerenciamento de sessões/conexões do gh-ost e, em seguida, reproduza Error 1205 por meio de um proxy ProxySQL-like ou cloud com tráfego zero. Defina e teste um modo opcional de cut-over de sessão única, verificando que o rename atômico seja concluído sem timeout enquanto o comportamento existente permanece inalterado.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
Environment
MySQL: 8.0+ (Cloud RDS: Tencent Cloud / Alibaba Cloud)
gh-ost: 1.0.49
Topology: MySQL accessed through cloud proxy / load balancer (e.g. ProxySQL-like architecture)
Description In a cloud-native deployment where MySQL is accessed via a proxy layer, gh-ost repeatedly fails during cut-over with:
Error 1205: Lock wait timeout exceeded
This occurs even under very low or zero application traffic, and with no observable long-running transactions.
Under the same zero-traffic conditions, a manual atomic RENAME TABLE old TO old_del, ghost TO old succeeds immediately.
Observed Behavior
gh-ost enters cut-over
lock orchestration retries/yields
eventually exits with lock wait timeout (1205)
Expected Behavior Cut-over should complete successfully under no-contention conditions, similar to the manual atomic RENAME TABLE.
Hypothesis / Possible Root Cause gh-ost cut-over uses multiple sessions (e.g. one session holding LOCK TABLES WRITE, another issuing RENAME TABLE).
When routed through a proxy, these sessions may not share lock state/ordering semantics exactly as expected (session split-brain / lock visibility inconsistency), causing the RENAME session to wait on locks effectively held by gh-ost’s own companion session.
This can look like a self-deadlock pattern and ends in timeout/yield.
Suggested Improvement Add an optional mode for proxy/cloud-RDS environments, e.g.:
--single-session-cut-over
that executes cut-over lock + atomic rename in a single session/connection, avoiding multi-session lock orchestration dependency.
- Linguagem predominante
- Go
- Estrelas
- 13.6k
- Forks
- 1.4k
- Merge médio
- 9d 19h
- PRs com merge (30d)
- 1
Preparar o ambiente
- Inclui um Dockerfile ou arquivo Docker Compose
- Tem um modelo de pull request
- Ler o guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de github/gh-ost
-
`--resume` without `--execute` drops the ghost table it correctly skipped alteringTalvez já em andamento @ajm188 assumiu há 56 dias. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 86/100
Mantenedores costumam responder em até 10 dias
-
[Suggestion] Apply simple validation to alter commandTalvez já em andamento @drkemp187 assumiu há 106 dias. Abertaenhancement good first issue
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 64/100
github/gh-ost#1431 · 4 comentários ·
Mantenedores costumam responder em até 10 dias
-
Migration hangs when --attempt-instant-ddl succeedsTalvez já em andamento Um pull request vinculado a esta issue está aberto ou já foi mesclado. Aberta
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 30/100
Mantenedores costumam responder em até 10 dias
-
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 42/100
Mantenedores costumam responder em até 10 dias
-
Atomic cut-over always fails on MySQL 9.1+: information_schema.processlist errors out (3854) while another session runs a non-BMP utf8mb4 statementTalvez já em andamento Um pull request vinculado a esta issue está aberto ou já foi mesclado. Aberta
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 52/100
github/gh-ost#1780 · 1 comentário ·
Mantenedores costumam responder em até 10 dias
Todas as issues de github/gh-ost
Issues semelhantes
-
[Docs] Four internal links return 404 (Models concept, Contributing to Docs, Providers reference)Talvez já em andamento Um pull request vinculado a esta issue está aberto ou já foi mesclado. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
meshery/meshery#23520 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
flaky: execenv TestRelayControlledCancelAndDirectParentDeath reads an empty pid file under loadAberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 70/100
SocialGouv/iterion#3263 ·
Mantenedores costumam responder em até 1 dia
-
Container registry refuses image names with "__" or "--" (NAME_INVALID), which the OCI distribution spec allows since v1.1.0Talvez já em andamento @lazerg assumiu hoje. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
Mantenedores costumam responder em até 1 dia
-
Unsupported language versionAberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 62/100
-
bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
itadori26/trisse-home#226 ·
Mantenedores costumam responder em até 1 dia