[JAVA-2859] Running shutdown command throws a MongoTimeoutException Created: 11/May/18  Updated: 28/Oct/23  Resolved: 29/May/18

Status: Closed
Project: Java Driver
Component/s: Session Management
Affects Version/s: None
Fix Version/s: 3.6.4, 3.7.1

Type: Bug Priority: Major - P3
Reporter: Peter Garafano (Inactive) Assignee: Jeffrey Yemin
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Problem/Incident
Related
is related to RUST-1437 Driver does not send endSessions on c... Backlog
Case:

 Description   

DB adminDB = DbUtils.getDB(_mongo, "admin");
adminDB.command("shutdown");

Running the above code against MongoDB 3.4 yields a MongoSocketReadException
Running the same code against MongoDB 3.6 yields a blocking 30 second MongoTimeoutException.



 Comments   
Comment by Githook User [ 29/May/18 ]

Author:

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

Message: JAVA-2859: Remove extra server session pool

Now that the extra server session pool is gone, it exposed an error
in a ClientSession test which creates two client sessions in a Spock
where clause. Since both sessions are created by Spock in advance of
the test executions, it means that the cleanup check for in-use sessions
triggers after the first test execution completes and asserts that
there is one in-use session.
Branch: master
https://github.com/mongodb/mongo-java-driver/commit/7aa4c8dcb184b4c7df770cac8ad556c9b57bbd72

Comment by Githook User [ 29/May/18 ]

Author:

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

Message: JAVA-2859: Don't block selecting server when closing server session pool
Branch: 3.6.x
https://github.com/mongodb/mongo-java-driver/commit/8752c00958869dad141b2f8e5241542d879db3eb

Comment by Githook User [ 29/May/18 ]

Author:

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

Message: JAVA-2859: Remove extra server session pool
Branch: 3.7.x
https://github.com/mongodb/mongo-java-driver/commit/7c55cbb9bcdd4ec76c03a5776ea8ea9c72ebd9f9

Comment by Githook User [ 29/May/18 ]

Author:

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

Message: JAVA-2859: Don't block selecting server when closing server session pool
Branch: 3.7.x
https://github.com/mongodb/mongo-java-driver/commit/e669eda7783691a507acb1192d50ab409f8ade2f

Comment by Githook User [ 29/May/18 ]

Author:

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

Message: JAVA-2859: Remove extra server session pool
Branch: master
https://github.com/mongodb/mongo-java-driver/commit/94acda5197be30ca6fcab94ab4d508c2902a517a

Comment by Githook User [ 29/May/18 ]

Author:

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

Message: JAVA-2859: Don't block selecting server when closing server session pool
Branch: master
https://github.com/mongodb/mongo-java-driver/commit/15210a62e9488b115b1be5f16c30b63bb2a3ef2c

Comment by Githook User [ 18/May/18 ]

Author:

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

Message: JAVA-2859: Use current cluster description for server session pruning

By replacing a call to Cluster.getDescription to Cluster.getDescription
when evaluating whether to prune a server session, the driver avoids
potentially blocking and timing out if the cluster description is
unavailable (as when it loses connections to all servers in the cluster)
Branch: 3.6.x
https://github.com/mongodb/mongo-java-driver/commit/ecfb4ca24056aa1c65efc99fa6b89276c136c1c1

Comment by Githook User [ 18/May/18 ]

Author:

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

Message: JAVA-2859: Use current cluster description for server session pruning

By replacing a call to Cluster.getDescription to Cluster.getDescription
when evaluating whether to prune a server session, the driver avoids
potentially blocking and timing out if the cluster description is
unavailable (as when it loses connections to all servers in the cluster)
Branch: 3.7.x
https://github.com/mongodb/mongo-java-driver/commit/420da30a6ce310053c4dd622e68ef4a49cfaf4fc

Comment by Githook User [ 18/May/18 ]

Author:

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

Message: JAVA-2859: Use current cluster description for server session pruning

By replacing a call to Cluster.getDescription to Cluster.getDescription
when evaluating whether to prune a server session, the driver avoids
potentially blocking and timing out if the cluster description is
unavailable (as when it loses connections to all servers in the cluster)
Branch: master
https://github.com/mongodb/mongo-java-driver/commit/a6ea5879bc1c676dd5bdc23c4c7773832af52949

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