Integrate Apache Ratis to help manage Raft status
- Langage dominant
- Java
- Étoiles
- 6.4k
- Forks
- 1.2k
- Merge moyen
- 1 j 23 h
- PR mergées (30 j)
- 115
Description
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.
Guide de contribution
Ouvrir le guide de contribution
Piste de recherche
Commencez par lire la discussion dans la pull request 3939 et les commentaires associés concernant l’importation d’Apache Ratis. L’issue ne précise pas les fichiers d’implémentation, les tests, les limites d’intégration ni les critères d’acceptation ; une conception approuvée et des critères d’achèvement définis sont nécessaires avant de pouvoir commencer l’implémentation.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- java
- Domaine
- distributed-systems
- Type d'issue
- Fonctionnalité
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Activité
- À l'abandon
- Clarté
- À clarifier
- Accessibilité débutants
- 20/100