Uploaded image for project: 'Apache IoTDB'
  1. Apache IoTDB
  2. IOTDB-860

[Distributed]Emend the async log applier

    XMLWordPrintableJSON

Details

    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:

      1. When starting to take a snapshot, record the current commitIndex.
      2. Block until all logs whose indices <= the recorded commitIndex are applied. (Use RaftLogManager to do so instead of LogApplier)
      3. Prevent the log cleaner thread to clean logs that are not applied.
      4. Change StorageEngine.getInstance().syncCloseAllProcessor(); in takeSnapshot() to send a flush plan within the group. (So the file sequence will not be broken by snapshots)
      5. When committed logs are recovered during start-up, re-apply all of them. (Notice that operation sequences in IoTDB are idempotent)

       

      Attachments

        Issue Links

          Activity

            People

              houliang Houliang Qi
              houliang Houliang Qi
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: