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

RocksDbKeyValueStorage recreates DB on start, so data can't be found until Raft log is replayed

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • None
    • None
    • Docs Required, Release Notes Required

    Description

      RocksDbKeyValueStorage recreates DB on start. This means that entries that were put to this storage earlier, can or cant be found until raft log is replayed, i.e. the behavior is undefined. For example, this can cause assertion on node recovery:

      java.lang.AssertionError: Configuration revision must be greater than local node applied revision [msRev=0, appliedRev=1
      

      which means that applied revision in vault is 1 but only 0 is found in meta storage, as the storage of meta storage is being recreated.

      For now, the only thing that saves us from this assertion to be thrown every time, is that operations related to node recovery, applied from distributed configuration (see IgniteImpl#notifyConfigurationListeners ), take some time and raft log is small enough to replay faster than the performing of recovery operations.

      Attachments

        Issue Links

          Activity

            People

              v.pyatkov Vladislav Pyatkov
              Denis Chudov Denis Chudov
              Votes:
              0 Vote for this issue
              Watchers:
              3 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 - 1h
                  1h