Uploaded image for project: 'Fabric'
  1. Fabric
  2. FAB-14307

Peer administration: Rollback a channel's ledger on a peer, while preserving private data (finalize doc)

    XMLWordPrintable

Details

    Description

      Administrative ability to rollback a channel's ledger on a peer to a prior block height in the case the channel gets into a corrupt state at a later block height. During the rollback, need to preserve private data since it cannot be obtained from ordering service at a later time.

      Design Doc: https://docs.google.com/document/d/1_-e4Bu42E9vfdttrYBmiSUeOdanH2SiSnuhM1oOn1TA/edit 

      Attachments

        Issue Links

          1.
          truncate blockstore and delete index entries Sub-task Closed Senthilnathan N
          2.
          drop all DBs except pvtdata store and ledgerProvider Sub-task Closed Senthilnathan N
          3.
          fetch pvtdata of both valid/invalid tx (gossip side) Sub-task Closed Senthilnathan N
          4.
          store pvtdata of both valid/invalid tx (pvtdataStore) Sub-task Closed Senthilnathan N
          5.
          set reprocessing flag after a rollback (gossip) Sub-task Closed Senthilnathan N
          6.
          reprocessing: make gossip to fetch pvtdata from local pvtstore Sub-task Closed Senthilnathan N
          7.
          reprocessing: don't update pvtdata store Sub-task Closed Unassigned
          8.
          reprocessing: disable pvtdata reconciliation Sub-task Closed Senthilnathan N
          9.
          unset reprocessing flag once the pre rollbacked block height is reached (gossip) Sub-task Closed Senthilnathan N
          10.
          convert updateBatch to updateBatchBytes (deterministically) Sub-task Closed Manish Sethi
          11.
          BlockCommitHash per Block Sub-task Closed Senthilnathan N
          12.
          skip channelConfig from commit hash Sub-task Closed Manish Sethi
          13.
          Allow all ledgers on a peer to reset to genesis block Sub-task Closed Senthilnathan N
          14.
          Delay starting the endorser server Sub-task Closed Senthilnathan N
          15.
          Clear off pre-reset height files after reset/rollback Sub-task Closed David Enyeart
          16.
          skip submitting missing pvtData of invalid tx to txmgr Sub-task Closed Senthilnathan N
          17.
          add v1.4.2 application capability tag for enabling ledger rollback Sub-task Closed Senthilnathan N
          18.
          peer rollback offline command Sub-task Closed Senthilnathan N
          19.
          Document peer rollback CLI command Sub-task Closed Senthilnathan N
          20.
          optimization: drop whole index DB when more than half of blocks need to be rollbacked Sub-task Closed Senthilnathan N
          21.
          End to end test for block commit hash Sub-task Closed Unassigned
          22.
          End to end test for ledger reset/rollback Sub-task Closed Senthilnathan N
          23.
          code hygine: rm ifApplicable from addBlockCommitHashIfApplicable() Sub-task Closed Senthilnathan N
          24.
          code hygine: introduce func for missingData in test Sub-task Closed Senthilnathan N
          25.
          code hygine: rm uneeded if and correct values in test Sub-task Closed Senthilnathan N
          26.
          replace rollbacking with rollingback Sub-task Closed Senthilnathan N
          27.
          remove rollback capability from mock Sub-task Closed Senthilnathan N
          28.
          Add Tests for commit hash with rollback and reset Sub-task Closed Manish Sethi
          29.
          Implement filelock for allow only one of peer start, reset, and rollback Sub-task Closed Senthilnathan N
          30.
          code hygine: replace fmt.Sprintf to fmt.Errorf Sub-task Closed Senthilnathan N
          31.
          refactor integration/ledger to avoid duplicates Sub-task Closed Unassigned
          32.
          change the order of commit of pvtData of old blocks Sub-task Closed Senthilnathan N
          33.
          Ensure that the stateDB is dropped after reset/rollback Sub-task Closed Senthilnathan N
          34.
          mv store/DB's location consructor code to a common place Sub-task Closed Senthilnathan N
          35.
          remove sync up between pvtdataStore and blockstore Sub-task Closed Senthilnathan N
          36.
          fix peer node cmd preamble/postscript Sub-task Closed Senthilnathan N
          37.
          add wrapper in ledgerstorage to simplfy test Sub-task Closed Unassigned

          Activity

            People

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

              Dates

                Created:
                Updated:
                Resolved: