Uploaded image for project: 'Ignite'
  1. Ignite
  2. IGNITE-18122

Track last applied term and group config in storages

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • 3.0.0-beta2
    • persistence

    Description

      We need last applied index, term and group config to build a snapshot meta. In the current implementation, only the index is stored our storages (MV and TX), but term and config are taken from JRaft's LogManager. This is unreliable as the log might be truncated.

      We must store term and config in our storages as well (term in both of them as it is kinda required attribute of a RAFT index, and group only in MV storage).

      Also, we must make sure that on ANY command processed by PartitionListener (and on configuration committed event, too), we update lastAppliedIndex+term in one of the storages, Otherwise, a resulting gap might hinder AppendEntries calls to followers requiring to install a snapshot in an infinite loop.

      Attachments

        Issue Links

          Activity

            People

              rpuch Roman Puchkovskiy
              rpuch Roman Puchkovskiy
              Aleksandr Polovtsev Aleksandr Polovtsev
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 6h 40m
                  6h 40m