Details

    • Sub-task
    • Status: Closed
    • Medium
    • Resolution: Done
    • None
    • v2.0.0
    • None
    • None

    Description

      Currently, the commit of pvtData of old block execute the following steps:

      1. commit the pvtData of old blocks to the pvtdata store.
      2. commit the data to stateDB.
      3. remove a marker from the pvtdata store. If the peer fails after storing the data in pvtdatastore, the marker helps in synching the stateDB with the pvtdataStore.

      The complex flow is used for the failure/recovery.

      This can be simplified as follows:

      1. store the pvtData of old blocks to the stateDB.
      2. store the pvtData of old blocks to the pvtDataStore.

      If the peer fails after storing the pvtData in the stateDB, we don't need to do any special operation to recover the states. The reconciler would fetch the data as the pvtData is missing in the pvtdata Store. While committing the pvtData to the stateDB, at the worst case, we might overwrite existing data but there is no consistency issues. Hence, the pvtdataStore would be easily synced after the failure. 

       

      Attachments

        Activity

          People

            Senthil1 Senthilnathan N
            Senthil1 Senthilnathan N
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: