ResourceConfigCache Staleness causes same workflow to be deleted multiple times.
Nessuno ha ancora preso questa issue.
- #2958 di @himanshukandwal — chiusa senza merge
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 35/100
- Tipo di issue
- Bug
- Chiarezza
- Da chiarire
- Stato di attività
- Ferma
- Stack tecnologico
- java
- Ambito
- distributed-systems
Direzione di ricerca
Traccia TaskDriver.delete attraverso Helix Controller Pipeline, concentrandoti sugli aggiornamenti della cache di ResourceConfig e sull’ordine degli eventi ResourceConfigChange e OnDemandRebalance. Confronta come vengono preparati ResourceConfig e TaskDataCache dopo una cancellazione; il lavoro è completato quando un workflow cancellato non viene reintrodotto e viene cancellato una sola volta, anche durante sequenze di eventi in un cluster occupato.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Describe the bug
When a Workflow is marked as deleted (TargetState.DELETE) via TaskDriver.delete API, then the workflow is deleted by the Helix Controller Pipeline in the next run. With deletion, the entries from ZK are deleted and the TaskDataCache is also updated. However, the other entries for this workflow are still present in ResourceConfig (Base) cache.
Usually, the next event which is in the pipeline is the ResourceConfigChange Event (as the resource config was deleted), which takes care of the resourceConfig cache update, but in case of a very busy cluster, other change event can be already earlier in the pipeline than the scheduled ResourceConfigChange event. Now, the ResourceConfig cache is updated selectively and not always, so the ResourceConfig cache keeps the deleted workflow entries, and when the Workflow (TaskDataCache) is prepared, these (previously deleted) workflow entries comes back in again. This causes, same workflows to be deleted multiple times. (Until we see the ResourceConfigChange or OnDemandRebalance event).
TLDR: In Busy Cluster, the resourceConfig cache can take time to be eventually consistent and this causes duplicate deletes of the same workflow.
Impact: Some customers delete and re-create workflow with same name and this behavior causes the recently deleted workflow to be deleted again (unexpectedly).
To Reproduce
Since this happens in a busy cluster where a lot of events are happening (indeterministically) so its not possible to reproduce this behavior. This however is evident in the cluster logs.
Expected behavior
Deletion should happen once only, and ResourceConfig cache should be updated immediately to serve the next events in a reliable and deterministic manner.
Additional context
Add any other context about the problem here.
- Lingua principale
- Java
- Stelle
- 505
- Fork
- 258
- Merge medio
- 4g 20h
- PR unite (30g)
- 3
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Nessuna guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di apache/helix
-
Four TestConstraintBasedAlgorithm tests pass when nothing is thrownForse già presa @sharanggupta l’ha presa oggi. Aperta
Difficoltà 1/5 1-3 ore Idoneità per principianti 85/100
-
Helix ZkClient times out after successful ZooKeeper SASL DIGEST-MD5 authenticationForse già presa @adityaanikam l’ha presa 43 giorni fa. Apertabug
Difficoltà 3/5 1-2 giorni Idoneità per principianti 68/100
-
NPE in canCompleteSwap if path doesn't existsForse già presa @waterWang l’ha presa 106 giorni fa. Apertabug
Difficoltà 2/5 1-3 ore Idoneità per principianti 50/100
-
Legacy IZkStateListenerI0ItecImpl causes zombie participants by discarding session IDsForse già presa @LZD-PratyushBhatt l’ha presa 457 giorni fa. Apertabug
Difficoltà 4/5 3-5 giorni Idoneità per principianti 45/100
-
bug
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
Tutte le issue di apache/helix
Issue simili
-
Enhancing the Issue TemplateAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 66/100
SasanLabs/VulnerableApp#912 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
I maintainer di solito rispondono entro 1 giorno
-
desktop edt not responding
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
datafusion-contrib/StreamFusion#653 ·
I maintainer di solito rispondono entro 1 giorno
-
[Bug] Absolute row/column index 0 is ignored for images, hyperlinks and commentsForse già presa @fanOfSunny l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
I maintainer di solito rispondono entro 1 giorno