diff --git a/db/blip_handler.go b/db/blip_handler.go index 117b78fa14..ea8917c21e 100644 --- a/db/blip_handler.go +++ b/db/blip_handler.go @@ -1141,10 +1141,10 @@ func (bh *blipHandler) processRev(rq *blip.Message, stats *processRevStats) (err // due to no-conflict write restriction, but we still need to enforce security here to prevent leaking data about previous // revisions to malicious actors (in the scenario where that user has write but not read access). var deltaSrcRev DocumentRevision - if bh.useHLV() { + if bh.useHLV() && !base.IsRevTreeID(deltaSrcRevID) { deltaSrcVersion, parseErr := ParseVersion(deltaSrcRevID) if parseErr != nil { - return base.HTTPErrorf(http.StatusUnprocessableEntity, "Unable to parse version for delta source for doc %s, error: %v", base.UD(docID), err) + return base.HTTPErrorf(http.StatusUnprocessableEntity, "Unable to parse version for delta source for doc %s, error: %v", base.UD(docID), parseErr) } deltaSrcRev, err = bh.collection.GetCV(bh.loggingCtx, docID, &deltaSrcVersion, false) } else { diff --git a/rest/blip_api_delta_sync_test.go b/rest/blip_api_delta_sync_test.go index ef4ad67b03..e4791f0f95 100644 --- a/rest/blip_api_delta_sync_test.go +++ b/rest/blip_api_delta_sync_test.go @@ -933,8 +933,6 @@ func TestBlipDeltaSyncPullRevCache(t *testing.T) { // TestBlipDeltaSyncPush tests that a simple push replication handles deltas in EE, // and checks that full body replication is still supported in CE. func TestBlipDeltaSyncPush(t *testing.T) { - - t.Skip("TODO: CBG-4832 - Failing because of broken legacy rev ID as deltaSrc logic in processRev") base.SetUpTestLogging(t, base.LevelDebug, base.KeyCRUD, base.KeySGTest, base.KeySyncMsg, base.KeySync) sgUseDeltas := base.IsEnterpriseEdition() rtConfig := RestTesterConfig{