apache / apache/iotdb

Integrate Apache Ratis to help manage Raft status

Aperta
#3,954 27 commenti 0 reazioni 0 assegnatari Vedi su GitHub
Lingua principale
Java
Stelle
6.4k
Fork
1.2k
Merge medio
1g 23h
PR unite (30g)
115

Descrizione

We have some discussions about the integration of Apache Ratis in RP: https://github.com/apache/iotdb/pull/3939.

Create a new issue here to let more people join.

https://github.com/apache/iotdb/pull/3939#issuecomment-917955815

https://github.com/apache/iotdb/pull/3939#issuecomment-917961701

https://github.com/apache/iotdb/pull/3939#issuecomment-917983405

Update the reasons why I'd like to import a 3rd party Raft library.

- First and the important one, raft implementation in IoTDB can't guarantee the correctness (I mean consensus part, even only for write). We have found and fixed some bugs about Raft and we are not sure the end of this. Just like @LebronAl said, the devil lies in the corner cases. It's very hard for us to construct a systematic UT/IT/Manual tests to ensure the safe properties of Raft. As for performance affect, my understanding is even the fastest vehicle should be saft. And raft is only a small part of system, I think if we can use the 3rd party library properly, performance loss should be very small.

- Second, current implementation of Raft mixed together with application logic which is hard to maintain and understand.

- Last but not least, apply 3rd party library could release us from detail of Raft and focus on core engine improvement, building IoTDB ecosystem, etc.

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

Inizia leggendo la discussione nella pull request 3939 e i commenti collegati sull’importazione di Apache Ratis. L’issue non specifica i file di implementazione, i test, i confini di integrazione o i criteri di accettazione; prima di poter iniziare l’implementazione sono necessari un design concordato e criteri di completamento definiti.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
java
Ambito
distributed-systems
Tipo di issue
Funzionalità
Difficoltà
5/5
Tempo stimato
Più di una settimana
Stato di attività
Ferma
Chiarezza
Da chiarire
Idoneità per principianti
20/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.