From 6c5c7cc18b9ffdf8eebbda7a1af8a04eb99bf79c Mon Sep 17 00:00:00 2001 From: Ross Lawley Date: Tue, 16 Jun 2026 11:00:31 +0100 Subject: [PATCH 01/10] Update the Git specifications submodule from 4484038 to 1871900 --- testing/resources/specifications | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/testing/resources/specifications b/testing/resources/specifications index 44840386103..187190089df 160000 --- a/testing/resources/specifications +++ b/testing/resources/specifications @@ -1 +1 @@ -Subproject commit 44840386103b93e5ebb7d7d595ca605c44eb6e08 +Subproject commit 187190089dfc20d4ef3c289a2dd39017b98d6c08 From 4cfc48b3b9a394e62818af848d2418e1bbb2b7bc Mon Sep 17 00:00:00 2001 From: Ross Lawley Date: Tue, 16 Jun 2026 11:10:28 +0100 Subject: [PATCH 02/10] Skip DRIVERS-3274 transaction tests pending JAVA-6179 implementation Specs commit 2a6fa820 (DRIVERS-3274) changed the unified transaction tests to assert that afterClusterTime is sent on writes in causally-consistent sessions. The Java driver does not implement this yet, so skip the five affected tests. --- .../mongodb/client/unified/UnifiedTestModifications.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/driver-sync/src/test/functional/com/mongodb/client/unified/UnifiedTestModifications.java b/driver-sync/src/test/functional/com/mongodb/client/unified/UnifiedTestModifications.java index 286e6f525a5..076b35dc94f 100644 --- a/driver-sync/src/test/functional/com/mongodb/client/unified/UnifiedTestModifications.java +++ b/driver-sync/src/test/functional/com/mongodb/client/unified/UnifiedTestModifications.java @@ -473,6 +473,14 @@ public static void applyCustomizations(final TestDef def) { .file("transactions", "backpressure-retryable-commit"); def.skipJira("https://jira.mongodb.org/browse/JAVA-5956 TODO-JAVA-5956") .file("transactions", "backpressure-retryable-abort"); + def.skipJira("https://jira.mongodb.org/browse/JAVA-6179") + .test("transactions", "retryable-writes", "increment txnNumber") + .test("transactions", "commit", "reset session state commit") + .test("transactions", "commit", "reset session state abort") + .test("transactions-convenient-api", "callback-commits", + "withTransaction still succeeds if callback commits and runs extra op") + .test("transactions-convenient-api", "callback-aborts", + "withTransaction still succeeds if callback aborts and runs extra op"); // valid-pass From 972be79a214f2a49d95e26d66ee3c7ac97b9d392 Mon Sep 17 00:00:00 2001 From: Ross Lawley Date: Tue, 16 Jun 2026 11:15:28 +0100 Subject: [PATCH 03/10] Skip DRIVERS-2944 handshake OP_MSG test pending JAVA-6088 implementation Specs commit e675eff9 (DRIVERS-2944) added an opmsg-not-supported test that asserts isClientError: false for connection-closed errors during initial hello. Skip pending Java driver implementation tracked in JAVA-6088. --- .../mongodb/client/unified/UnifiedTestModifications.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/driver-sync/src/test/functional/com/mongodb/client/unified/UnifiedTestModifications.java b/driver-sync/src/test/functional/com/mongodb/client/unified/UnifiedTestModifications.java index 076b35dc94f..a5c7bddfba0 100644 --- a/driver-sync/src/test/functional/com/mongodb/client/unified/UnifiedTestModifications.java +++ b/driver-sync/src/test/functional/com/mongodb/client/unified/UnifiedTestModifications.java @@ -352,6 +352,12 @@ public static void applyCustomizations(final TestDef def) { .file("crud", "updateOne-rawData") .file("index-management", "index management-rawData"); + // mongodb-handshake + + def.skipJira("https://jira.mongodb.org/browse/JAVA-6088") + .test("mongodb-handshake/tests/unified", "op_msg not supported", + "server closing connection during initial hello produces an error"); + // retryable-reads def.modify(WAIT_FOR_BATCH_CURSOR_CREATION, IGNORE_EXTRA_EVENTS) From f05dee2579b25c645c03349d653c58f7fb0a1fb7 Mon Sep 17 00:00:00 2001 From: Ross Lawley Date: Thu, 18 Jun 2026 11:12:24 +0100 Subject: [PATCH 04/10] Remove handshake skip, test was removed --- .../mongodb/client/unified/UnifiedTestModifications.java | 6 ------ 1 file changed, 6 deletions(-) diff --git a/driver-sync/src/test/functional/com/mongodb/client/unified/UnifiedTestModifications.java b/driver-sync/src/test/functional/com/mongodb/client/unified/UnifiedTestModifications.java index a5c7bddfba0..076b35dc94f 100644 --- a/driver-sync/src/test/functional/com/mongodb/client/unified/UnifiedTestModifications.java +++ b/driver-sync/src/test/functional/com/mongodb/client/unified/UnifiedTestModifications.java @@ -352,12 +352,6 @@ public static void applyCustomizations(final TestDef def) { .file("crud", "updateOne-rawData") .file("index-management", "index management-rawData"); - // mongodb-handshake - - def.skipJira("https://jira.mongodb.org/browse/JAVA-6088") - .test("mongodb-handshake/tests/unified", "op_msg not supported", - "server closing connection during initial hello produces an error"); - // retryable-reads def.modify(WAIT_FOR_BATCH_CURSOR_CREATION, IGNORE_EXTRA_EVENTS) From b4846936efabefc0bc117d0c8a8ae9d386471d80 Mon Sep 17 00:00:00 2001 From: Nabil Hachicha Date: Tue, 30 Jun 2026 12:11:10 +0100 Subject: [PATCH 05/10] Update specifications submodule to latest (ac0b0ad6) --- testing/resources/specifications | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/testing/resources/specifications b/testing/resources/specifications index 187190089df..ac0b0ad6e2c 160000 --- a/testing/resources/specifications +++ b/testing/resources/specifications @@ -1 +1 @@ -Subproject commit 187190089dfc20d4ef3c289a2dd39017b98d6c08 +Subproject commit ac0b0ad6e2c347c72990804b61119e45716545d0 From 1a45652b4c81099efd80b073ac5fffe0d7940116 Mon Sep 17 00:00:00 2001 From: Nabil Hachicha Date: Tue, 30 Jun 2026 14:48:01 +0100 Subject: [PATCH 06/10] JAVA-6237: skip explicit encryption non-zero contention test on server >= 9.0 Case 2 of the Explicit Encryption prose tests inserts with contentionFactor 10 but encryptedFields.json configures the encryptedIndexed field with contention 0. Servers >= 9.0 reject this mismatch (SERVER-91887). Skip on those servers until the spec prose test is corrected (DRIVERS-3547). --- .../AbstractClientSideEncryptionExplicitEncryptionTest.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/driver-sync/src/test/functional/com/mongodb/client/AbstractClientSideEncryptionExplicitEncryptionTest.java b/driver-sync/src/test/functional/com/mongodb/client/AbstractClientSideEncryptionExplicitEncryptionTest.java index 9f4594143f1..45e7e26fb9d 100644 --- a/driver-sync/src/test/functional/com/mongodb/client/AbstractClientSideEncryptionExplicitEncryptionTest.java +++ b/driver-sync/src/test/functional/com/mongodb/client/AbstractClientSideEncryptionExplicitEncryptionTest.java @@ -43,6 +43,7 @@ import static com.mongodb.ClusterFixture.isStandalone; import static com.mongodb.ClusterFixture.serverVersionAtLeast; +import static com.mongodb.ClusterFixture.serverVersionLessThan; import static com.mongodb.client.Fixture.getDefaultDatabase; import static com.mongodb.client.Fixture.getDefaultDatabaseName; import static com.mongodb.client.Fixture.getMongoClient; @@ -138,6 +139,10 @@ public void canInsertEncryptedIndexedAndFind() { @Test public void canInsertEncryptedIndexedAndFindWithNonZeroContention() { + // JAVA-6237: this test inserts with contentionFactor 10 but encryptedFields.json configures the + // encryptedIndexed field with contention 0. Servers >= 9.0 reject this mismatch (SERVER-91887); + // skip until the spec prose test is corrected (DRIVERS-3547). + assumeTrue(serverVersionLessThan(9, 0)); EncryptOptions encryptOptions = new EncryptOptions("Indexed").keyId(key1Id).contentionFactor(10L); MongoCollection coll = encryptedClient.getDatabase(getDefaultDatabaseName()) .getCollection("explicit_encryption", BsonDocument.class); From 103f02dab4d3f576792ab05529e8850e63cbba60 Mon Sep 17 00:00:00 2001 From: Nabil Hachicha Date: Thu, 2 Jul 2026 11:19:41 +0100 Subject: [PATCH 07/10] JAVA-6078: skip CSOT suite on server 9.0+ The expected change stream timeout-refresh behaviour is unspecified on server 9.0+ (DRIVERS-3006), so the client-side-operations-timeout suite fails there, most visibly on sharded clusters where extra mongos round-trips exceed the tight timeoutMS. Skip the suite on 9.0+ until the spec is clarified. --- .../mongodb/client/unified/UnifiedTestModifications.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/driver-sync/src/test/functional/com/mongodb/client/unified/UnifiedTestModifications.java b/driver-sync/src/test/functional/com/mongodb/client/unified/UnifiedTestModifications.java index 076b35dc94f..15f62c58ee1 100644 --- a/driver-sync/src/test/functional/com/mongodb/client/unified/UnifiedTestModifications.java +++ b/driver-sync/src/test/functional/com/mongodb/client/unified/UnifiedTestModifications.java @@ -65,6 +65,13 @@ public static void applyCustomizations(final TestDef def) { .file("client-side-encryption/tests/unified", "client bulkWrite with queryable encryption"); // client-side-operation-timeout (CSOT) + // The expected change stream timeout-refresh behaviour is unspecified on server 9.0+ (DRIVERS-3006), so the + // CSOT suite fails there (most visibly on sharded clusters, where extra mongos round-trips exceed the tight + // timeoutMS). Skip the suite on 9.0+ until the spec is clarified. + def.skipJira("https://jira.mongodb.org/browse/JAVA-6078 change stream timeout-refresh behaviour is " + + "unspecified on server 9.0+ (DRIVERS-3006)") + .when(() -> !serverVersionLessThan(9, 0)) + .directory("client-side-operations-timeout"); def.retry("Unified CSOT tests do not account for RTT which varies in TLS vs non-TLS runs") .whenFailureContains("timeout") .test("client-side-operations-timeout", From 29d90f0a15fecd260cb0d0a6dc7fcf46661fcf19 Mon Sep 17 00:00:00 2001 From: Nabil Hachicha Date: Thu, 2 Jul 2026 11:20:23 +0100 Subject: [PATCH 08/10] JAVA-6245: skip QE-Text substringPreview on server 9.0+ Server 9.0+ blocks the deprecated substringPreview query type strings at collection creation (SERVER-129158), failing the QE-Text-substringPreview unified tests. Skip them on 9.0+ (DRIVERS-3555). --- .../com/mongodb/client/unified/UnifiedTestModifications.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/driver-sync/src/test/functional/com/mongodb/client/unified/UnifiedTestModifications.java b/driver-sync/src/test/functional/com/mongodb/client/unified/UnifiedTestModifications.java index 15f62c58ee1..a180448db23 100644 --- a/driver-sync/src/test/functional/com/mongodb/client/unified/UnifiedTestModifications.java +++ b/driver-sync/src/test/functional/com/mongodb/client/unified/UnifiedTestModifications.java @@ -63,6 +63,10 @@ public static void applyCustomizations(final TestDef def) { // Client side encryption (QE) def.skipJira("https://jira.mongodb.org/browse/JAVA-5675 Support QE with Client.bulkWrite") .file("client-side-encryption/tests/unified", "client bulkWrite with queryable encryption"); + def.skipJira("https://jira.mongodb.org/browse/JAVA-6245 substringPreview query type strings are blocked at " + + "collection creation on server 9.0+ (SERVER-129158)") + .when(() -> !serverVersionLessThan(9, 0)) + .file("client-side-encryption/tests/unified", "QE-Text-substringPreview"); // client-side-operation-timeout (CSOT) // The expected change stream timeout-refresh behaviour is unspecified on server 9.0+ (DRIVERS-3006), so the From 72de4cc7d56f4d5dd5b0ba6acac806a526759931 Mon Sep 17 00:00:00 2001 From: Nabil Hachicha Date: Thu, 2 Jul 2026 12:56:08 +0100 Subject: [PATCH 09/10] Update specifications submodule to latest (d4d0cdf2) Includes DRIVERS-3555 (#1960, gate substringPreview to server <9.0) and DRIVERS-3540 (#1957, add QE GA "substring" tests). --- testing/resources/specifications | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/testing/resources/specifications b/testing/resources/specifications index ac0b0ad6e2c..d4d0cdf2645 160000 --- a/testing/resources/specifications +++ b/testing/resources/specifications @@ -1 +1 @@ -Subproject commit ac0b0ad6e2c347c72990804b61119e45716545d0 +Subproject commit d4d0cdf264513676b1c12c3fcb899dd1e4b789b6 From ebe381ef32fe4e6f44e41bba5543d913a38d13b9 Mon Sep 17 00:00:00 2001 From: Nabil Hachicha Date: Thu, 2 Jul 2026 12:57:39 +0100 Subject: [PATCH 10/10] Skip QE-Text substring (JAVA-6244); drop redundant substringPreview skip The spec now gates QE-Text-substringPreview to server <9.0 via runOnRequirements (DRIVERS-3555, #1960), so the manual JAVA-6245 skip is redundant and removed. The new QE GA "substring" tests (DRIVERS-3540, #1957) run on 9.0+ but the driver does not yet implement the "substring" query type (JAVA-6244), so skip them. --- .../mongodb/client/unified/UnifiedTestModifications.java | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/driver-sync/src/test/functional/com/mongodb/client/unified/UnifiedTestModifications.java b/driver-sync/src/test/functional/com/mongodb/client/unified/UnifiedTestModifications.java index a180448db23..7b432acd050 100644 --- a/driver-sync/src/test/functional/com/mongodb/client/unified/UnifiedTestModifications.java +++ b/driver-sync/src/test/functional/com/mongodb/client/unified/UnifiedTestModifications.java @@ -63,10 +63,9 @@ public static void applyCustomizations(final TestDef def) { // Client side encryption (QE) def.skipJira("https://jira.mongodb.org/browse/JAVA-5675 Support QE with Client.bulkWrite") .file("client-side-encryption/tests/unified", "client bulkWrite with queryable encryption"); - def.skipJira("https://jira.mongodb.org/browse/JAVA-6245 substringPreview query type strings are blocked at " - + "collection creation on server 9.0+ (SERVER-129158)") - .when(() -> !serverVersionLessThan(9, 0)) - .file("client-side-encryption/tests/unified", "QE-Text-substringPreview"); + def.skipJira("https://jira.mongodb.org/browse/JAVA-6244 QE GA \"substring\" query type is not yet " + + "implemented (DRIVERS-3540)") + .file("client-side-encryption/tests/unified", "QE-Text-substring"); // client-side-operation-timeout (CSOT) // The expected change stream timeout-refresh behaviour is unspecified on server 9.0+ (DRIVERS-3006), so the