Skip to content

Commit

Permalink
RavenDB-21646 : check tombstones in the restored database instead of …
Browse files Browse the repository at this point in the history
…the original one
  • Loading branch information
aviv86 committed Nov 8, 2023
1 parent 3544bed commit a6eab56
Showing 1 changed file with 13 additions and 3 deletions.
16 changes: 13 additions & 3 deletions test/SlowTests/Server/Replication/ReplicationCleanTombstones.cs
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
using Raven.Client.Json.Serialization;
using Raven.Client.ServerWide;
using Raven.Server;
using Raven.Server.Documents;
using Raven.Server.Documents.ETL;
using Raven.Server.Documents.Replication;
using Raven.Server.Documents.Replication.ReplicationItems;
Expand Down Expand Up @@ -848,11 +849,11 @@ public async Task CanBackupAndRestoreTombstonesWithSameId(Options options)
Assert.Equal(1, stats.CountOfDocuments); // the marker
Assert.Equal(2, stats.CountOfTombstones);

var storage = await GetDocumentDatabaseInstanceForAsync(store, options.DatabaseMode, id);
using (storage.DocumentsStorage.ContextPool.AllocateOperationContext(out DocumentsOperationContext ctx))
var storage = await GetDocumentStorageFor(store, options.DatabaseMode, configuration.DatabaseName, id);
using (storage.ContextPool.AllocateOperationContext(out DocumentsOperationContext ctx))
using (ctx.OpenReadTransaction())
{
foreach (var tombstone in storage.DocumentsStorage.GetTombstonesFrom(ctx, 0))
foreach (var tombstone in storage.GetTombstonesFrom(ctx, 0))
{
var documentTombstone = (DocumentReplicationItem)tombstone;
Assert.Equal("oren\r\neini", documentTombstone.Id);
Expand Down Expand Up @@ -900,5 +901,14 @@ private async Task<RestoreBackupConfiguration> RunBackupAndCreateRestoreConfigur

return configuration;
}

private async Task<DocumentsStorage> GetDocumentStorageFor(IDocumentStore store, RavenDatabaseMode mode, string databaseName, string id)
{
return (await Server.ServerStore.DatabasesLandlord.TryGetOrCreateResourceStore(
mode == RavenDatabaseMode.Single
? databaseName
: await Sharding.GetShardDatabaseNameForDocAsync(store, id, databaseName))).DocumentsStorage;

}
}
}

0 comments on commit a6eab56

Please sign in to comment.