1. 03 Feb, 2017 1 commit
    • manish's avatar
      Move Blockstorage code under /fabric/common package · 2a16532c
      manish authored
      https://jira.hyperledger.org/browse/FAB-2022
      
      
      
      This changes introduced by this CR
      - Moves the block storage code from package
      core/ledger/blkstorage to common/ledger/blkstorage
      
      - Splits the ledger_interface.go so as to move common interfaces
      and data type to common/ledger package
      
      - Moves some of the util functions to common/ledger package
      
      - Moves core/ledger/ordererledger package to orderer/ledger/fsledger
      orderer folks can futher rename/refactor this as seems suitable to them
      
      Change-Id: I759e16f00dc2ec9bb62196121083cf48eae76948
      Signed-off-by: default avatarmanish <manish.sethi@gmail.com>
      2a16532c
  2. 27 Jan, 2017 1 commit
    • denyeart's avatar
      [FAB-1885] GetTransactionByID to return Tran Envelope · 9ca80f1f
      denyeart authored
      
      
      QSCC GetTransactionByID should return a Transaction  Envelope,
      not a Transaction. The Envelope contains the signature and
      Payload, which contains the transaction header and Transaction.
      
      Clients will want the transaction header information when retrieving
      the transaction.  They may also want the signature to verify that
      the transaction hasn't changed since the time they submitted it.
      The return type will change from Transaction proto to Envelope proto.
      
      Change-Id: I1de238035c3b6cd00abb3ed8506c54566ee0f2b0
      Signed-off-by: default avatardenyeart <enyeart@us.ibm.com>
      9ca80f1f
  3. 19 Jan, 2017 1 commit
  4. 17 Jan, 2017 1 commit
    • manish's avatar
      SingleLevelDB for block index · 8cdd0f4d
      manish authored
      https://jira.hyperledger.org/browse/FAB-1664
      
      
      
      This changeset:
      - Renames package ledger/util/db to ledger/util/leveldbhelper
      - Implements a leveldb provider
        (that enables using same leveldb instance as a multiple logical dbs)
        in util package for being able to reuse across statedb, index,
        and later for historydb
      - Implements a provider as a single point of invocation
        for managing multiple block storage
      - Uses a single leveldb instance for block storage index
      - Makes the structures other than providers as private
        to their respective packages
      
      Change-Id: I5f0b3b9aa8ef3ac1ccdce4f3c6fa6d842b5318c1
      Signed-off-by: default avatarmanish <manish.sethi@gmail.com>
      8cdd0f4d
  5. 05 Jan, 2017 1 commit
    • Artem Barger's avatar
      Code cleanup, removing duplicates of envelope decoding · 152ce786
      Artem Barger authored
      
      
      There are several places in the code which implements
      logic of decoding byte array into Envelope, there is
      method available inside txutils.go called GetEnvelopeFromBlock,
      there is GetEnvelope from proputils.go and there is
      ExtractEnvelope from commonutils.go.
      
      This commits removes duplicate and switching to reuse single
      method from txutils.go.
      
      Change-Id: Ia7a963cfd0df85377ef4294d2dba33cca1eb904b
      Signed-off-by: default avatarArtem Barger <bartem@il.ibm.com>
      152ce786
  6. 13 Dec, 2016 1 commit
    • Mari Wade's avatar
      FAB-1336 Add new ledger blockstorage index. · 458c5212
      Mari Wade authored
      
      
      Add a new ledger blockstorage index for History
      that will map (blocknum,trannum) to the file storage
      location for this block transaction
      
      This index will be used for the API  GetTransactionsForKey()
      for (chaincode1,key1).  It will do a key range query on chaincode1~key1
      to pick up all chaincode1~key1 records.  Results will indicate
      the set of (blocknum,trannum) transactions that updated this key.
      
      Change-Id: I81da09e5526d7e2966634c78a03d34011d514442
      Signed-off-by: default avatarMari Wade <mariwade@us.ibm.com>
      458c5212
  7. 10 Dec, 2016 1 commit
  8. 01 Dec, 2016 1 commit
  9. 28 Nov, 2016 1 commit
  10. 27 Nov, 2016 1 commit
    • Srinivasan Muralidharan's avatar
      FAB-1198-rm old pb.Transaction, pb.Block · 61affa05
      Srinivasan Muralidharan authored
      NOTE - Removing of old proto.Transaction is the cause for
      the large change set. It affects chaincode framework and
      all users of the framework such as endorser, system chaincodes,
      unit tests etc.
      
      Transaction2 is renamed to Transaction.
      Response2 is renamed to Response.
      Message2 is renamed to Message.
      
      The changes are fully described in
          https://jira.hyperledger.org/browse/FAB-1198
      
      
      
      Summary
      =======
         . Remove old Transaction and rename Transaction2
         . Cleanup of Chaincode protobuf message
         . Add TxID for SDK and higher layers to optionally
           set (currently errors if not set)
      
      ChaincodeMessage removes QUERY and QUERY_CHAINCODE enums.
      
      Shim interface does not enforce Query or QueryChaincode.
      
      chaincode_example02 and 05 implement Query function via
      the Invoke implementation.
      
      The "noop" system chaincode is removed
         . it was using Transaction which is not an endorser
           artifact any longer
         . there are many system chaincodes to that thoroughly
           test sys chaincode functions
      
      Change-Id: Ib77b7e5a6756eac47e888309816076580ae505e7
      Signed-off-by: default avatarSrinivasan Muralidharan <muralisr@us.ibm.com>
      61affa05
  11. 14 Nov, 2016 1 commit
  12. 11 Nov, 2016 1 commit
  13. 09 Nov, 2016 1 commit
  14. 01 Nov, 2016 1 commit
  15. 28 Oct, 2016 1 commit
  16. 26 Oct, 2016 1 commit
  17. 28 Sep, 2016 1 commit
  18. 26 Sep, 2016 1 commit
  19. 20 Sep, 2016 1 commit
    • manish's avatar
      Disable WAL for block storage DB · 0df6a8d1
      manish authored
      
      
      (Rocks) DB WAL adds overheads while using the DB for saving checkpoints
      for block storage. Avoiding writing to WAL translates the write workload
      (appending blocks to the blockfile) into a sequential disk writes.
      
      This commit changes the way checkpoints are saved - checkpoints are
      written to DB as before, however since WAL is disabled, the checkpoint
      stays in-memory only. The in-memory checkpoint is flushed explicitly to
      disk (via DB flush) at the time of new block file creation. The in-memory
      checkpoint would implicitly also be flushed to memory at the time of DB
      shutdown. However, if a crash takes place, the checkpoint available in the
      DB would be behind the actual block file status. In order to handle this
      crash scenario, this commit also adds code to perform a scan of the block
      file beyond the last saved checkpoint and update the checkpoint.
      
      Change-Id: Ie88646b225abaa50b595833f5e7ed8d4facae920
      Signed-off-by: default avatarmanish <manish.sethi@gmail.com>
      0df6a8d1
  20. 15 Sep, 2016 1 commit