From 025d14f3e751706db7d1a1809b46fc313539c3d9 Mon Sep 17 00:00:00 2001 From: Martin Martinez Rivera Date: Fri, 8 May 2020 09:35:35 -0700 Subject: [PATCH] Update group checksums when combining multiple deltas. (#5394) The function processing the oracle delta stream combines multiple deltas into one to reduce the number of proposal. However, the group checksums were not being updated, causing some group checksums update to be lost. gRPC guarantees that the ordering of the deltas coming from the stream so overwriting the group checksums is safe. Tested by following the steps in #5368. Fixes #5368 --- worker/groups.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/worker/groups.go b/worker/groups.go index 214c8cd60bd..371008e7562 100644 --- a/worker/groups.go +++ b/worker/groups.go @@ -947,6 +947,9 @@ func (g *groupi) processOracleDeltaStream() { batch++ delta.Txns = append(delta.Txns, more.Txns...) delta.MaxAssigned = x.Max(delta.MaxAssigned, more.MaxAssigned) + for gid, checksum := range more.GroupChecksums { + delta.GroupChecksums[gid] = checksum + } default: break SLURP }