Dave Enyeart
Dave Enyeart
@ggold7046 Broken Link Checker runs nightly, see results here: https://github.com/hyperledger/fabric/actions/workflows/broken-link-checker.yml In the report, look for 404 not found errors. Here's an example: ``` https://hyperledger-fabric.readthedocs.io/en/latest/pluggable_endorsement_and_validation.html 404 https://hyperledger.github.io/fabric-sdk-node/main/tutorial-chaincode-lifecycle.html ``` In this case,...
@ggold7046 I grepped the Fabric source, you'll find that broken link in: [docs/source/pluggable_endorsement_and_validation.rst](https://github.com/hyperledger/fabric/blob/main/docs/source/pluggable_endorsement_and_validation.rst)
@Sayalikukkar This will be a complex epic as the v1.x chaincode lifecycle is embedded in many places. The first thing to do would be to decompose the work into smaller...
Thanks @C0rWin , that would be great! Perhaps @Sayalikukkar could help on some of the tasks. I mentioned @ale-linux because I remember there was some prior design thought around removing...
GetHistoryForKey() is implemented at: https://github.com/hyperledger/fabric/blob/main/core/chaincode/handler.go#L893 Note that the query does not scan all blocks. It uses an internal LevelDB index based on the key to find the blocks and transaction...
The history index is based on {key, blockNumber, transactionNumber}. So for every key it is efficient to find the set of historical {blockNumber,transactionNumber} transactions that wrote to it. Then there...
Please clarify what you mean by a range query... there is no range query for history. Are you simply iterating over getHistoryForKey() for each of the 108 keys in chaincode?...
Please provide exact reproduction steps. e.g. are you using v2.x chaincode lifecycle? What are the series of lifecycle calls made? What client is invoking? What invoke calls are made?
Ok, yeah it will be slow to iterate in the chaincode. First of all you are making 108 separate grpc calls from chaincode to the peer runtime. Second of all...
I agree, in theory the order of insertion should not be very significant when using these LevelDB key based 'indexes'. That's why I was hoping you could further break down...