Skip to content

Commit fe7bd48

Browse files
committed
FAB-15160 fix data race in Raft chain
Update of RaftIndex in BlockMetadata should be guarded by write lock as well, to avoid race with clone. Change-Id: I7656e2129eee058179f694c055f98981e91b14c5 Signed-off-by: Jay Guo <guojiannan1101@gmail.com>
1 parent 1462531 commit fe7bd48

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

orderer/consensus/etcdraft/chain.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1191,8 +1191,8 @@ func (c *Chain) writeConfigBlock(block *common.Block, index uint64) {
11911191
case common.HeaderType_CONFIG:
11921192
configMembership := c.detectConfChange(block)
11931193

1194-
c.opts.BlockMetadata.RaftIndex = index
11951194
c.raftMetadataLock.Lock()
1195+
c.opts.BlockMetadata.RaftIndex = index
11961196
if configMembership != nil {
11971197
c.opts.BlockMetadata = configMembership.NewBlockMetadata
11981198
c.opts.Consenters = configMembership.NewConsenters

0 commit comments

Comments
 (0)