[JAVA-3636] Improve reliability of mongocryptd default launching Created: 01/Mar/20  Updated: 28/Oct/23  Resolved: 04/Mar/20

Status: Closed
Project: Java Driver
Component/s: Client Side Encryption
Affects Version/s: None
Fix Version/s: 3.12.2, 4.0.0

Type: Improvement Priority: Major - P3
Reporter: Jeffrey Yemin Assignee: Jeffrey Yemin
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Related
is related to DRIVERS-934 Drivers should ensure mongocryptd std... Closed

 Description   

Evergreen task have recently started failing against the latest server. The cause has been traced to mongocryptd socket timeouts during test runs against replica sets and sharded clusters. While the root cause is as yet unknown, two simple changes have been found that will allow the tests to pass, and possibly improve reliability for users as well:

  • Configure mongocryptd to log to /dev/null
  • Configure socket connect and read timeouts for connections to mongocryptd


 Comments   
Comment by Githook User [ 04/Mar/20 ]

Author:

{'username': 'jyemin', 'name': 'Jeff Yemin', 'email': 'jeff.yemin@mongodb.com'}

Message: Redirect mongocryptd error stream to the output stream

JAVA-3636
Branch: 3.12.x
https://github.com/mongodb/mongo-java-driver/commit/c72808f3f3acc029983047ff2192fcdd967fe7e2

Comment by Githook User [ 04/Mar/20 ]

Author:

{'username': 'jyemin', 'name': 'Jeff Yemin', 'email': 'jeff.yemin@10gen.com'}

Message: Use ProcessBuilder for mongocryptd output redirection

JAVA-3636
Branch: 3.12.x
https://github.com/mongodb/mongo-java-driver/commit/e12bde026ef1d5829d55c2cb21d4eb58b468a413

Comment by Githook User [ 04/Mar/20 ]

Author:

{'username': 'jyemin', 'name': 'Jeff Yemin', 'email': 'jeff.yemin@10gen.com'}

Message: Refactor process builder code to be shared for sync and async

JAVA-3636
Branch: 3.12.x
https://github.com/mongodb/mongo-java-driver/commit/896acb212c0a54b968cc4d76854a235f3e5d7284

Comment by Githook User [ 04/Mar/20 ]

Author:

{'name': 'Jeff Yemin', 'username': 'jyemin', 'email': 'jeff.yemin@mongodb.com'}

Message: Redirect mongocryptd error stream to the output stream

JAVA-3636
Branch: 4.0.x
https://github.com/mongodb/mongo-java-driver/commit/8ab8d53a607d76ce76fabfa9cc3f040adc2f57c5

Comment by Githook User [ 04/Mar/20 ]

Author:

{'name': 'Jeff Yemin', 'username': 'jyemin', 'email': 'jeff.yemin@10gen.com'}

Message: Use ProcessBuilder for mongocryptd output redirection

JAVA-3636
Branch: 4.0.x
https://github.com/mongodb/mongo-java-driver/commit/e0f7e3cf2eaec1aa4a3199001d4145a1223dc3c8

Comment by Githook User [ 04/Mar/20 ]

Author:

{'name': 'Jeff Yemin', 'username': 'jyemin', 'email': 'jeff.yemin@10gen.com'}

Message: Refactor process builder code to be shared for sync and async

JAVA-3636
Branch: 4.0.x
https://github.com/mongodb/mongo-java-driver/commit/1b3021d16defbb42a166f62be7eae1a26a1eedff

Comment by Githook User [ 04/Mar/20 ]

Author:

{'name': 'Jeff Yemin', 'username': 'jyemin', 'email': 'jeff.yemin@mongodb.com'}

Message: Redirect mongocryptd error stream to the output stream

JAVA-3636
Branch: master
https://github.com/mongodb/mongo-java-driver/commit/d0b9bc8bfed3eae837e500d69ffd39945bf27deb

Comment by Jeffrey Yemin [ 03/Mar/20 ]

Author:

{'name': 'Jeff Yemin', 'username': 'jyemin', 'email': 'jeff.yemin@10gen.com'}

Message: Use ProcessBuilder for mongocryptd output redirection

JAVA-3636
Branch: master
https://github.com/mongodb/mongo-java-driver/commit/ee8363c2957d8adf7a086487a8fb1a87bbdb2c20

Comment by Jeffrey Yemin [ 03/Mar/20 ]

Author:

{'name': 'Jeff Yemin', 'username': 'jyemin', 'email': 'jeff.yemin@10gen.com'}

Message: Refactor process builder code to be shared for sync and async

JAVA-3636
Branch: master
https://github.com/mongodb/mongo-java-driver/commit/e047b6cff226585b49a4027999c56224c285389f

Comment by Jeffrey Yemin [ 03/Mar/20 ]

Author:

{'name': 'Jeff Yemin', 'username': 'jyemin', 'email': 'jeff.yemin@10gen.com'}

Message: Improve reliability of mongocryptd default launching

  • Configure mongocryptd to log to /dev/null via --logpath
  • Configure one second socket connect and read timeouts for connections to mongocryptd
  • Apply connection string after applying default settings

Branch: master
https://github.com/mongodb/mongo-java-driver/commit/5bcf922d5294bcb530ce3c834c54e2caa7c0e8b0

Comment by Jeffrey Yemin [ 03/Mar/20 ]

Author:

{'name': 'Jeff Yemin', 'username': 'jyemin', 'email': 'jeff.yemin@10gen.com'}

Message: Extract common CommandMarker code to helper class

Branch: master
https://github.com/mongodb/mongo-java-driver/commit/90e98807ffc6d9a7a5517e183b925834db0e5697

Generated at Thu Feb 08 09:00:05 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.