首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Hyperledger fabric对等节点由于先前的块哈希不匹配而死机

Hyperledger fabric对等节点由于先前的块哈希不匹配而死机
EN

Stack Overflow用户
提问于 2021-01-28 18:02:24
回答 1查看 79关注 0票数 1

我有一个hyperledger fabric网络,有2个组织,每个组织有2个对等点。我从备份中恢复了网络,对等点开始抛出以下错误:

代码语言:javascript
复制
2021-01-28 09:49:55.374 UTC [gossip.state] commitBlock -> ERRO 26b Got error while committing(unexpected Previous block hash. Expected PreviousHash = [91e8aafc47e2f521afc8a52d44b80c60fe781084dec9e1b92ab40d8b6138e7d0], PreviousHash referred in the latest block= [042c3059d75a1622fea88f7f2a5f268363206004ebca635118039e0496b83197]
github.com/hyperledger/fabric/common/ledger/blkstorage/fsblkstorage.(*blockfileMgr).addBlock
        /opt/gopath/src/github.com/hyperledger/fabric/common/ledger/blkstorage/fsblkstorage/blockfile_mgr.go:254
github.com/hyperledger/fabric/common/ledger/blkstorage/fsblkstorage.(*fsBlockStore).AddBlock
        /opt/gopath/src/github.com/hyperledger/fabric/common/ledger/blkstorage/fsblkstorage/fs_blockstore.go:42
github.com/hyperledger/fabric/core/ledger/ledgerstorage.(*Store).CommitWithPvtData
        /opt/gopath/src/github.com/hyperledger/fabric/core/ledger/ledgerstorage/store.go:132
github.com/hyperledger/fabric/core/ledger/kvledger.(*kvLedger).CommitWithPvtData
        /opt/gopath/src/github.com/hyperledger/fabric/core/ledger/kvledger/kv_ledger.go:312
github.com/hyperledger/fabric/core/ledger/ledgermgmt.(*closableLedger).CommitWithPvtData
        <autogenerated>:1
github.com/hyperledger/fabric/core/committer.(*LedgerCommitter).CommitWithPvtData
        /opt/gopath/src/github.com/hyperledger/fabric/core/committer/committer_impl.go:93
github.com/hyperledger/fabric/gossip/privdata.(*coordinator).StoreBlock
        /opt/gopath/src/github.com/hyperledger/fabric/gossip/privdata/coordinator.go:243
github.com/hyperledger/fabric/gossip/state.(*GossipStateProviderImpl).commitBlock
        /opt/gopath/src/github.com/hyperledger/fabric/gossip/state/state.go:810
github.com/hyperledger/fabric/gossip/state.(*GossipStateProviderImpl).deliverPayloads
        /opt/gopath/src/github.com/hyperledger/fabric/gossip/state/state.go:598
runtime.goexit
        /opt/go/src/runtime/asm_amd64.s:1333
commit failed
github.com/hyperledger/fabric/gossip/privdata.(*coordinator).StoreBlock
        /opt/gopath/src/github.com/hyperledger/fabric/gossip/privdata/coordinator.go:246
github.com/hyperledger/fabric/gossip/state.(*GossipStateProviderImpl).commitBlock
        /opt/gopath/src/github.com/hyperledger/fabric/gossip/state/state.go:810
github.com/hyperledger/fabric/gossip/state.(*GossipStateProviderImpl).deliverPayloads
        /opt/gopath/src/github.com/hyperledger/fabric/gossip/state/state.go:598
runtime.goexit
        /opt/go/src/runtime/asm_amd64.s:1333
github.com/hyperledger/fabric/gossip/state.(*GossipStateProviderImpl).commitBlock
        /opt/gopath/src/github.com/hyperledger/fabric/gossip/state/state.go:811
github.com/hyperledger/fabric/gossip/state.(*GossipStateProviderImpl).deliverPayloads
        /opt/gopath/src/github.com/hyperledger/fabric/gossip/state/state.go:598
runtime.goexit
        /opt/go/src/runtime/asm_amd64.s:1333)

我不确定哪里出了问题,但所有4个同龄人都开始抛出错误。对下一步应该做什么有什么建议吗?谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-01-28 18:27:00

您可能通过先备份对等节点,然后备份订单者来备份网络。

这很危险,因为您创建的备份会导致对等节点的块高度高于排序节点。

例如,假设订购者具有最新备份的块100,而对等体具有散列为bar的最新备份块101。排序者将创建具有foo散列的块101,并且对等体将永远不需要拉出它。然后,排序器将创建具有先前散列foo的块102,但是对等体期望bar的先前散列。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65934836

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档