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

CouchDB Phantom Read

    XMLWordPrintable

Details

    • Story
    • Status: Closed
    • High
    • Resolution: Done
    • None
    • Future
    • fabric-ledger
    • Unset
    • Unset
    • Unset

    Description

      Using CouchDB rich query functionality in the current implementation introduces a potential phantom read problem. As an example if endorsing chaincode performs a rich query to determine if a transaction is a duplicate and returns no results (happy path), by the time the commit happens that same query "could" produce a different result in the situation where a prior transaction was committed between the endorsement and committing phase.

      Range queries against the LevelDB protect against this by rerunning the query at commit time. Currently, the rich query is not rerun and thus the result set is not validated for the query at time of commit. Protection against phantom reads should be included for CouchDB rich queries.

      Attachments

        Activity

          People

            Unassigned Unassigned
            timpii Tim Snyder
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: