Details
-
Improvement
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
Description
Now we support the async log applier to make the inset operations parallel in different storage groups, at the same time, we need to rethink the following things when do snapshot:
- When starting to take a snapshot, record the current commitIndex.
- Block until all logs whose indices <= the recorded commitIndex are applied. (Use RaftLogManager to do so instead of LogApplier)
- Prevent the log cleaner thread to clean logs that are not applied.
- Change StorageEngine.getInstance().syncCloseAllProcessor(); in takeSnapshot() to send a flush plan within the group. (So the file sequence will not be broken by snapshots)
- When committed logs are recovered during start-up, re-apply all of them. (Notice that operation sequences in IoTDB are idempotent)
Attachments
Issue Links
- is a child of
-
IOTDB-68 IoTDB supports distributed version
- Open
- links to