Dan*_*man 3 hyperledger-fabric hyperledger-composer
我有一个概念性的问题.我正在向Composer REST执行异步请求,我收到消息:'error trying invoke chaincode. Error: Peer has rejected transaction \'552b42fa4d2cfd366ff1b7d01371878f53f7553b44f141187c6db86b75f68906\' with cdoe MVCC_READ_CONFLICT',
.使用node-sdk时遇到了同样的问题.这是什么原因?是不是可以异步提交多个事务?
Hyperledger Fabric使用无锁的乐观并发,并在脏读/写时进行回滚.您需要尽可能避免密钥冲突,并且可能需要在客户端编写重试逻辑.
Fabric的BatchTimeout设置可用于减少延迟(最小化冲突的可能性),但代价是:
https://github.com/hyperledger/fabric/blob/release/sampleconfig/configtx.yaml#L144
小智 5
提交事务时,对等方会生成一个读写集。然后,在将事务提交到分类账时使用此读/写集。它包含要读取/写入的变量的名称以及读取它们时的版本。如果在集创建和提交之间的时间内,提交了另一个事务并更改了变量的版本,则在提交期间将拒绝原始事务,因为读取时的版本不是当前版本。
为了解决这个问题,您将必须创建避免同时编辑同一密钥的数据和事务结构。此处的fabric-samples中提供了执行此操作的示例方法:
https://github.com/hyperledger/fabric-samples/tree/release/high-throughput
归档时间: |
|
查看次数: |
5152 次 |
最近记录: |