addConsumerOffset
里加上下面这段:if int(offset.Partition) >= len(consumerTopicMap) {
// The partition count must have increased. Append enough extra partitions to our slice
for i := len(consumerTopicMap); i < partitionCount; i++ {
consumerTopicMap = append(consumerTopicMap, nil)
}
}
fatal error: concurrent map read and map write
, 查了下是在evaluateGroup
中对clusterMap.broker的读操作和在addBrokerOffset
中对其写操作引发, 加锁吧~,可以拷贝一份clusterMap.broker
来读.