From 9354aa6ccf769929ed3e7bd09f0dd95f8ab3a2a2 Mon Sep 17 00:00:00 2001 From: Cheahuychou Mao Date: Tue, 16 May 2023 18:42:34 +0000 Subject: SERVER-76807 Avoid adding opTimes for non-retryable internal transactions to the session migration new opTime buffer --- src/mongo/db/s/session_catalog_migration_source_test.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'src/mongo/db/s/session_catalog_migration_source_test.cpp') diff --git a/src/mongo/db/s/session_catalog_migration_source_test.cpp b/src/mongo/db/s/session_catalog_migration_source_test.cpp index 3cca3b085b8..fc489def1bb 100644 --- a/src/mongo/db/s/session_catalog_migration_source_test.cpp +++ b/src/mongo/db/s/session_catalog_migration_source_test.cpp @@ -996,8 +996,9 @@ TEST_F(SessionCatalogMigrationSourceTest, ASSERT_EQ(migrationSource.getSessionOplogEntriesSkippedSoFarLowerBound(), 0); } -TEST_F(SessionCatalogMigrationSourceTest, - DiscardOplogEntriesForNewCommittedInternalTransactionForNonRetryableWrite) { +DEATH_TEST_F(SessionCatalogMigrationSourceTest, + DiscardOplogEntriesForNewCommittedInternalTransactionForNonRetryableWrite, + "invariant") { SessionCatalogMigrationSource migrationSource(opCtx(), kNs, kChunkRange, kShardKey); migrationSource.init(opCtx(), kMigrationLsid); ASSERT_FALSE(migrationSource.fetchNextOplog(opCtx())); @@ -1021,6 +1022,10 @@ TEST_F(SessionCatalogMigrationSourceTest, ASSERT_TRUE(migrationSource.hasMoreOplog()); ASSERT_FALSE(migrationSource.fetchNextOplog(opCtx())); ASSERT_EQ(migrationSource.getSessionOplogEntriesToBeMigratedSoFar(), 0); + + // notifyNewWriteOpTime() uses dassert, so it will only invariant in debug mode. Deliberately + // crash here in non-debug mode to make the test work in both modes. + invariant(kDebugBuild); } TEST_F(SessionCatalogMigrationSourceTest, -- cgit v1.2.1