From dc3cbcc59a95769626056c7bc70aade501e7741d Mon Sep 17 00:00:00 2001 From: Valentin Staykov <79150443+V-Staykov@users.noreply.github.com> Date: Tue, 23 Jul 2024 18:19:26 +0300 Subject: [PATCH] 833 datastream wrong end batch entry 2 (#841) * refactor datastream server * optimization and nil checks * added a datastream check tool * fix rpc to seqencer switching in datastream * move batch end check after injected * fix 0 batch gap bug --- zk/datastream/server/data_stream_server_utils.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/zk/datastream/server/data_stream_server_utils.go b/zk/datastream/server/data_stream_server_utils.go index be1814ecb0d..1653003e011 100644 --- a/zk/datastream/server/data_stream_server_utils.go +++ b/zk/datastream/server/data_stream_server_utils.go @@ -138,7 +138,11 @@ func createBatchStartEntriesProto( var err error var batchStartEntries []DataStreamEntryProto - entries := NewDataStreamEntries(2 + int(3*(batchGap-1)) + len(gers)) + batchGapEntriesCount := int(batchGap) - 1 + if batchGapEntriesCount < 0 { + batchGapEntriesCount = 0 + } + entries := NewDataStreamEntries(2 + 3*batchGapEntriesCount + len(gers)) // if we have a gap of more than 1 batch then we need to write in the batch start and ends for these empty batches if batchGap > 1 {