Houliang Qi created IOTDB-860:
---------------------------------
Summary: Emend the async log applier
Key: IOTDB-860
URL: https://issues.apache.org/jira/browse/IOTDB-860
Project: Apache IoTDB
Issue Type: Improvement
Components: Core/Cluster
Reporter: Houliang Qi
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)
--
This message was sent by Atlassian Jira
(v8.3.4#803005)