From d4d2f8f744414f03e055a29a7d397a310de6a505 Mon Sep 17 00:00:00 2001 From: Tor Colvin Date: Mon, 10 Nov 2025 15:50:13 -0500 Subject: [PATCH] CBG-4989 don't panic if no _vv but _sync.rev.ver on import --- db/import_listener.go | 2 +- db/import_test.go | 17 +++++++++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/db/import_listener.go b/db/import_listener.go index 344757f26f..0284fa286b 100644 --- a/db/import_listener.go +++ b/db/import_listener.go @@ -202,7 +202,7 @@ func (il *importListener) ImportFeedEvent(ctx context.Context, collection *Datab il.importStats.ImportErrorCount.Add(1) return } - var cv cvExtractor + var cv *rawHLV vv := rawDoc.Xattrs[base.VvXattrName] if len(vv) > 0 { cv = base.Ptr(rawHLV(vv)) diff --git a/db/import_test.go b/db/import_test.go index 51471787dc..f1e63f27f0 100644 --- a/db/import_test.go +++ b/db/import_test.go @@ -1477,3 +1477,20 @@ func TestImportCancelOnDocWithCorruptSequenceOndemand(t *testing.T) { }, 1) } + +func TestImportWithSyncCVAndNoVV(t *testing.T) { + db, ctx := setupTestDBWithOptionsAndImport(t, nil, DatabaseContextOptions{}) + defer db.Close(ctx) + + collection, ctx := GetSingleDatabaseCollectionWithUser(ctx, t, db) + docID := SafeDocumentName(t, t.Name()) + + _, doc, err := collection.Put(ctx, docID, Body{"foo": "baz"}) + require.NoError(t, err) + + err = collection.dataStore.RemoveXattrs(ctx, docID, []string{base.VvXattrName}, doc.Cas) + require.NoError(t, err) + + base.RequireWaitForStat(t, db.DbStats.Database().Crc32MatchCount.Value, 1) + +}