Same merges produce different mergeKeys, causing merge races #2299
Closed
Description
It looks like maxProtocolVersion is used to create MergeKey in the merge re-attachment map. During normal operation in addBatch it uses current protocol version, but when FutureBucket calls makeLive is over-approximates it to Config::CURRENT_LEDGER_PROTOCOL_VERSION, so I think same merges could produce different keys in the merge map, if supported protocol version differs from current protocol version. I think this may cause redoing some of the merges, since we won't be able to retrieve finished/running merge due to differing keys.