aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatt Peters <[email protected]>2025-10-01 12:59:45 -0600
committerGitHub Enterprise <[email protected]>2025-10-01 20:59:45 +0200
commit1d0ab036e5b0e2e57ae49b120d1b1d4c5ebbfd45 (patch)
treeead60ce1a82519adda54f7f04dfa5a58cb5ec4a5
parentskip dropped oplogs in ScanForOplogs() (#534) (diff)
downloadzen-1d0ab036e5b0e2e57ae49b120d1b1d4c5ebbfd45.tar.xz
zen-1d0ab036e5b0e2e57ae49b120d1b1d4c5ebbfd45.zip
Fix bug in ReplayLogEntries for large op blobs (#537)
- Bugfix: Fixed issue where large ops in oplog would fail to read properly ReplayLogEntries: Fix bug in the case where an op is too big for OpBl…obsBuffer. The OpBufferView needs to be pointed to the temporary buffer.
-rw-r--r--CHANGELOG.md1
-rw-r--r--src/zenserver/projectstore/projectstore.cpp1
2 files changed, 2 insertions, 0 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index dcd6acb8c..bc0664bd5 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,6 +2,7 @@
- Bugfix: Parsing of `zen builds` `--log-progress` option fixed
- Bugfix: Rebuild State phase of `zen builds download` could read out of bound for target path array
- Bugfix: Don't include oplogs pending delete when scanning for oplogs
+- Bugfix: Fixed issue where large ops in oplog would fail to read properly
## 5.7.3
- Feature: `zen builds download` and `zen builds ls` now allows multiple wildcards for `--wildcard` and `--exclude-wildcard` separated by semicolons (;)
diff --git a/src/zenserver/projectstore/projectstore.cpp b/src/zenserver/projectstore/projectstore.cpp
index c83ec808c..0fe66bdf1 100644
--- a/src/zenserver/projectstore/projectstore.cpp
+++ b/src/zenserver/projectstore/projectstore.cpp
@@ -1073,6 +1073,7 @@ struct ProjectStore::OplogStorage : public RefCounted
{
IoBuffer OpBuffer(Entry.Address.Size);
OpBlobsBuffer.Read((void*)OpBuffer.Data(), Entry.Address.Size, OpFileOffset);
+ OpBufferView = OpBuffer.GetView();
if (CbValidateError Error = ValidateCompactBinary(OpBufferView, CbValidateMode::Default); Error == CbValidateError::None)
{
CbObjectView OpView(OpBuffer.Data());