IoTDB is a highly efficient time-series database, which supports high-speed query process, including aggregation query.
Currently, clustered IoTDB is under close development. It now supports leader election, log replication, cluster membership change, and log compaction. We are testing and optimizing these features these days.
However, we have not yet implemented log status tracking for peers, which leads to the fact that when sending the logs, the logs required by a peer may not be immediately sent correctly, resulting in wasted bandwidth and possible errors.
So there are two improvements about peer tracker need to be done:
1.implement a peer tracker to track follower's log status. You can borrow from other projects or design your own, as long as it's right.
2.you should also dynamically maintain the peer tracker on the current design and handle possible conflicting inconsistencies, this requires a little understanding of IoTDB’s raft log module.
This proposal is mainly for implementing and maintaining a peer tracker in clustered IoTDB.
It is necessary for you to understand that correctness is the most important thing.
You should know:
- IoTDB cluster structure
- IoTDB raft RPC module
- IoTDB raft log module