[JAVA-3557] Test 3.6 drivers against 4.2 servers Created: 17/Dec/19  Updated: 15/Jan/20  Resolved: 11/Jan/20

Status: Closed
Project: Java Driver
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Task Priority: Major - P3
Reporter: PM Bot Assignee: Jeffrey Yemin
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
is depended on by DRIVERS-788 Test 3.6 drivers against 4.2 servers Closed

 Description   

See DRIVERS-788 for details.



 Comments   
Comment by Bernie Hackett [ 15/Jan/20 ]

Great. Thanks.

Comment by Jeffrey Yemin [ 15/Jan/20 ]

behackett, no.  Except for undigested passwords, all the breaking server changes require the user to opt in to the feature that was removed in the server.  For autoIndexId, as an example, the driver's default is to not include the field in the createCollection command.  Only if the application opts in by specifying autoIndexId of false will the application stop working.  

Good point about undigested password changes being a 4.0 issue.  I hadn't saved my work from the ticket verifying 4.0 support, so I just fixed everything all over again.

Comment by Bernie Hackett [ 15/Jan/20 ]

jeff.yemin, other than the changes that are well documented in the server 4.2 release notes, and the undigested passwords change that came along with MongoDB 4.0, did any of these server changes require changes in the 4.2 support release of the Java driver to keep applications from breaking? The autoIndexId change perhaps?

Comment by Jeffrey Yemin [ 11/Jan/20 ]

Branch with all tests passing: https://github.com/jyemin/mongo-java-driver/tree/3.6.x-test-against-4.0-and-4.2

Evergreen patch:  https://evergreen.mongodb.com/version/5e1a3f31e3c33105154a0747

Summary of changes made on the branch:
 

  • make undigested passwords the default for user management commands (requires updated driver)
  • writeErrors have more info so assertion has to be modified (just a test change)
  • group command is no longer supported, so skipping those tests
  • parallelScan command is no longer supported, so skipping those tests
  • snapshot option for find command no longer supported, so skipping those tests
  • min, max, and maxScan behavior modified (requires index), so skipping those tests
  • eval command no longer supported, so skipping those tests
  • hint field on aggregate test failing, so skipping those tests
  • autoIndexId option on createCollection command no longer supported, so skipping those tests
  • mmap storage engine no longer supported, so skipping those tests that specify it

Conclusions:

Testing did not find anything in the Java driver itself that will effect migrations from MongoDB 3.6 t MongoDB 4.2. So long as applications are not using any MongoDB features that are no longer supported in 4.2, they should be fine. The only backwards-breaking changes in the server that required a corresponding change in the driver was in the area of user management commands, but since Atlas does not allow user management to be performed from applications, it should not affect applications that are being migrated to Atlas.

Generated at Thu Feb 08 08:59:53 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.