[SERVER-27388] Handle exceeded time limit in NI connection hook Created: 12/Dec/16  Updated: 17/Apr/17  Resolved: 13/Dec/16

Status: Closed
Project: Core Server
Component/s: Networking
Affects Version/s: None
Fix Version/s: 3.4.1, 3.5.1

Type: Bug Priority: Major - P3
Reporter: Mira Carey Assignee: Mira Carey
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Backports
Depends
Related
Backwards Compatibility: Fully Compatible
Operating System: ALL
Backport Requested:
v3.4, v3.2
Sprint: Platforms 2017-01-23
Participants:
Linked BF Score: 0

 Description   

max_time_ms_sharded.js uses a fail point to trigger immediate ExceededTimeLimit returns from commands. This triggers during connection establishment via the connection hook, which returns ExceededTimeLimit to the connection pool and causes us to spin on connection creation.

The fix involves checking for ExceededTimeLimit returns and converting them to CommandFailed to avoid the spinning.



 Comments   
Comment by Githook User [ 13/Dec/16 ]

Author:

{u'username': u'hanumantmk', u'name': u'Jason Carey', u'email': u'jcarey@argv.me'}

Message: SERVER-27388 Add NetworkInterfaceExceededTimeLimit

max_time_ms_sharded.js uses a fail point to trigger immediate
ExceededTimeLimit returns from commands. This triggers during connection
establishment via the connection hook, which returns ExceededTimeLimit
to the connection pool and causes us to spin on connection creation.

The fix involves providing our own internal exceeded time limit that
doesn't collide with the remote value.

(cherry picked from commit 5d32ae99ab086e696bc9c5610c9f93220481e596)
Branch: v3.4
https://github.com/mongodb/mongo/commit/5e103c4f5583e2566a45d740225dc250baacfbd7

Comment by Githook User [ 13/Dec/16 ]

Author:

{u'username': u'hanumantmk', u'name': u'Jason Carey', u'email': u'jcarey@argv.me'}

Message: SERVER-27388 Add NetworkInterfaceExceededTimeLimit

max_time_ms_sharded.js uses a fail point to trigger immediate
ExceededTimeLimit returns from commands. This triggers during connection
establishment via the connection hook, which returns ExceededTimeLimit
to the connection pool and causes us to spin on connection creation.

The fix involves providing our own internal exceeded time limit that
doesn't collide with the remote value.
Branch: master
https://github.com/mongodb/mongo/commit/5d32ae99ab086e696bc9c5610c9f93220481e596

Generated at Thu Feb 08 04:15:02 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.