- 03 Feb, 2017 1 commit
-
-
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:
manish <manish.sethi@gmail.com>
-
- 27 Jan, 2017 1 commit
-
-
Chris Elder authored
Motivation for this change: Maintain the version inline with the document, without changing the structure/value of the stored document. This will prevent unexpected data values being returned and will prevent possible name collisions with document values. - Create a data wrapper for ledger JSON data stored in CouchDB. - Return the version based on block number and transaction id The wrapper will be implemented as a new key named "data" which will contain the JSON data for the state database. Prior to change example: "doc": { "_id": "2", "_rev": "2-8ee0c31b21ad650e5b872c0b98e59ab5", "version":"1:2" "asset_name": "marble2", "color": "red", "owner": "tom", "size": "25" } Following change: "doc": { "_id": "2", "_rev": "2-8ee0c31b21ad650e5b872c0b98e59ab5", "version":"1:2" "data": { "asset_name": "marble2", "color": "red", "owner": "tom", "size": "25" } } Change-Id: I59391ea926531c46c346fc8448e3d041ca5f3fdf Signed-off-by:
Chris Elder <chris.elder@us.ibm.com>
-
- 26 Jan, 2017 1 commit
-
-
denyeart authored
- Utilize leveldb for history of keys instead of couchdb - Single leveldb database serves all chains to optimize footprint (same structure as leveldb block index database and leveldb state database) - Block commit writes a history key for each key/value that is updated in a tran, in the form: ns~key~blocknum~trannum - History database is an index for history of key writes over time. The key values are not included to reduce size of database. - GetHistoryForKey() finds all records starting with ~ns~key and returns the transactions that updated the key. - Subsequent changeset will lookup and return the txid and historic value from the block storage. Client can then GetTransactionById to see the historic transactions. - Since history db size is much reduced, it is now enabled by default in core.yaml. - Upon crash recovery, ledger initialization will ensure that both state db and history db in sync with block storage Reused existing test logic, therefore the changeset is relatively large to ensure tests still pass. Change-Id: I79103aa39957f58d246de5b5295fb40a4b9c033b Signed-off-by:
denyeart <enyeart@us.ibm.com>
-
- 20 Jan, 2017 1 commit
-
-
denyeart authored
When various packages that utilize CouchDB were tested all together, we received intermitent test failures due to collisions in test envionment. Fixed by scoping each test package to different CouchDB databases (chains). Change-Id: I93b9043f7a5a60b1052d74e9f5f877f9e19a29d9 Signed-off-by:
denyeart <enyeart@us.ibm.com>
-
- 15 Jan, 2017 1 commit
-
-
denyeart authored
FAB-1505 refactors CouchDB code to be aligned with LevelDB structure. FAB-1337 applies all ledger tests written for LevelDB against CouchDB. In order to test the CouchDB refactor, had to implement FAB-1337 in same changeset to test. Like most refactors, this changeset touches a lot of files and code, since it is not feasible to do a partial refactor. Tests related to versioning and deleting have been commented out, these will be re-enabled in subsequent changeset when CouchDB has the support, in order to keep this changeset size more reasonable. Change-Id: I0d2d6cca89bd0252f6e84317457a9140b3a0d7a5 Signed-off-by:
denyeart <enyeart@us.ibm.com>
-
- 08 Jan, 2017 1 commit
-
-
manish authored
https://jira.hyperledger.org/browse/FAB-1543 Change-Id: Ib11d1a2fc14cf81dd5380eadf93e73e1c56113e3 Signed-off-by:
manish <manish.sethi@gmail.com>
-
- 14 Dec, 2016 1 commit
-
-
manish authored
https://jira.hyperledger.org/browse/FAB-602 The refactoring allows sharing of transaction execution and validation code across goleveldb and couchdb. This refactoring also allows plugging-in different schemes for various aspects of transaction execution such as maintianing isolation during simulation, validation and commit. Change-Id: I0d3fb1cdff99c3f6f991e7b7469920173f194a87 Signed-off-by:
manish <manish.sethi@gmail.com>
-