[SERVER-9041] proactively detect broken connections detected by the network Created: 20/Mar/13  Updated: 11/Jul/16  Resolved: 13/May/13

Status: Closed
Project: Core Server
Component/s: Internal Client, Sharding
Affects Version/s: None
Fix Version/s: 2.5.0

Type: Bug Priority: Major - P3
Reporter: Greg Studer Assignee: Unassigned
Resolution: Done Votes: 1
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

All OSes except 32-bit windows, which has a different polling interface.


Issue Links:
Depends
is depended on by SERVER-7008 socket exception [SEND_ERROR] on Mong... Closed
is depended on by SERVER-4706 when a socket between mongos and mong... Closed
is depended on by SERVER-10261 Disable SSL session caching on server... Closed
Duplicate
duplicates SERVER-5793 connection pools in mongos and mongod... Closed
is duplicated by SERVER-9908 On Linux, Socket::connect() timeout d... Closed
Related
related to SERVER-4706 when a socket between mongos and mong... Closed
is related to SERVER-4997 Mongos not clearing stale connections Closed
is related to SERVER-5793 connection pools in mongos and mongod... Closed
is related to SERVER-7743 Print the low-level error when socket... Closed
Operating System: ALL
Participants:

 Description   

When a host fails cleanly or connections are broken by keepalive failures, we should respond to OS-level info about connection state and clear these connections before using from the pool.



 Comments   
Comment by Brett Kiefer [ 17/Oct/13 ]

I'd like to clarify what this fix does.

It looks like the current situation (in mongodb 2.4) is that if a replica set primary loses its network connectivity (we simulate that by doing 'sudo ifdown eth0' on the primary), then reelection happens normally and mongos detects the new primary, BUT existing client connections via that mongos instance will not be terminated, and will continue in their hanging state.

Is that what this is meant to fix? If so, might it be eligible for backporting, since this puts an odd responsibility on the client to detect a replica set failure when connected through mongos, and causes effective downtime even though failover has occurred?

Comment by auto [ 22/Jul/13 ]

Author:

{u'username': u'milkie', u'name': u'Eric Milkie', u'email': u'milkie@10gen.com'}

Message: SERVER-10261 end TCP sockets cleanly

This is a partial backport of SERVER-9041's commit. In particular, this fixes an issue with
SSL and the Java driver's session caching.
Branch: v2.4
https://github.com/mongodb/mongo/commit/7ea27bae26b61e16439a36431e71d030842acd2c

Comment by auto [ 13/May/13 ]

Author:

{u'date': u'2013-05-13T23:04:53Z', u'name': u'Greg Studer', u'email': u'greg@10gen.com'}

Message: SERVER-9041 try num 2, disable inapplicable tests for win32
Branch: master
https://github.com/mongodb/mongo/commit/62fec3e663bf160aafc7663bb5b35a28da314fc2

Comment by auto [ 13/May/13 ]

Author:

{u'date': u'2013-05-13T19:48:34Z', u'name': u'Greg Studer', u'email': u'greg@10gen.com'}

Message: Revert "SERVER-9041 disable inapplicable tests for win32"

Can't use db variable in sharding tests without instantiating it first.

This reverts commit 24fd0ec8b02ee86f9d11bf4a6cbf04aae42ccf65.
Branch: master
https://github.com/mongodb/mongo/commit/08a2fa3f08f72f02958c5a7128121f7e75ce602e

Comment by auto [ 13/May/13 ]

Author:

{u'date': u'2013-05-13T19:04:30Z', u'name': u'Greg Studer', u'email': u'greg@10gen.com'}

Message: SERVER-9041 disable inapplicable tests for win32
Branch: master
https://github.com/mongodb/mongo/commit/24fd0ec8b02ee86f9d11bf4a6cbf04aae42ccf65

Comment by auto [ 10/May/13 ]

Author:

{u'date': u'2013-05-10T14:16:20Z', u'name': u'Greg Studer', u'email': u'greg@10gen.com'}

Message: SERVER-9041 shard_kill_and_pooling.js need to reset lock file when journaling is off on unclean shutdown
Branch: master
https://github.com/mongodb/mongo/commit/10a960aebd1e9eba978578377139fabb4b7dbeef

Comment by auto [ 09/May/13 ]

Author:

{u'date': u'2013-03-28T20:26:16Z', u'name': u'Greg Studer', u'email': u'greg@10gen.com'}

Message: SERVER-9041 proactively detect background conn failures in conn pools
Branch: master
https://github.com/mongodb/mongo/commit/61b8f72884dc6fee89b91a30021f41e50cb9de0e

Generated at Thu Feb 08 03:19:10 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.