Master-master replication incompatibility.
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 25/100
- Tipo di issue
- Bug
- Chiarezza
- Da chiarire
- Stato di attività
- Ferma
- Stack tecnologico
- lua
- Ambito
- databases, distributed-systems
Direzione di ricerca
Non sono indicati file, test o punti di ingresso dell'implementazione. Inizia tracciando la creazione del tube-space di tarantool-queue e la logica di avvio del cluster intorno a box.once(), quindi riproduci gli errori di _space e _index duplicati con la replica master-master; il lavoro è completato quando la replica continua a funzionare senza errori dovuti a ID duplicati.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Consider following case:
Few (let's say 3) nodes in a cluster, with master-master replication.
Each node has it's own queue with name, unique in cluster.
As each tube need to have its own space, these spaces will be created.
But ID of each space may be not unique, as they created on each node separately at virtually the same time.
As a result, there will be errors like
E> ER_TUPLE_FOUND: Duplicate key exists in unique index 'primary' in space '_space'
E> ER_TUPLE_FOUND: Duplicate key exists in unique index 'primary' in space '_index'
in logs.
These errors are fatal for replication. And therefore replication stops.
Following solutions could be proposed:
- Change in application: change cluster startup logic, so it'll create all necessary tubes in box.once(). Later each node can pick appropriate queue somehow, and use it.
- Change in tarantool-queue: Ensure space ID is globally-unique in cluster. (But how to ensure it?)
- Mixed change: tarantool-queue to provide interface to specify ID of a new tube space, so application can assign cluster-unique values for them.
- Lingua principale
- Lua
- Stelle
- 244
- Fork
- 56
- Merge medio
- 6g 8h
- PR unite (30g)
- 1
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
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 tarantool/queue
-
documentation good first issue
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 85/100
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 76/100
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 48/100
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 55/100
-
1sp bug teamE
Difficoltà 4/5 3-5 giorni Idoneità per principianti 25/100
Tutte le issue di tarantool/queue
Issue simili
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
LandSandBoat/server#11579 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
ArchiveTeam/sinavideo-grab#7 · 3 reazioni ·
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
mailcow/mailcow-dockerized#7480 ·
-
mapper bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100