Info
The vectorized write path in /util/net/sock.cpp only handles EAGAIN, unlike the non-vectorized path (which also handles EWOULDBLOCK). Both can receive it (from the SO_SNDTIMEO sockopt).
Failing to handle it means that socket timeouts will be sent up to the rest of the system as SocketException::SEND_ERROR, rather than SEND_TIMEOUT.
Top User Comments
xgen-internal-githook commented on Mon, 1 May 2017 15:39:12 +0000:
Author:
{u'username': u'acmorrow', u'name': u'Andrew Morrow', u'email': u'acm@mongodb.com'}
Message: SERVER-28710 Unify error handling between send and sendmsg paths
(cherry picked from commit 6ce4f12e208e3f02a6de1ba79158b2d181e60bd8)
Branch: v3.2
https://github.com/mongodb/mongo/commit/1a24cc13e5068cc6e3e536b825b4821dedcb851d
xgen-internal-githook commented on Thu, 27 Apr 2017 15:57:39 +0000:
Author:
{u'username': u'acmorrow', u'name': u'Andrew Morrow', u'email': u'acm@mongodb.com'}
Message: SERVER-28710 Unify error handling between send and sendmsg paths
(cherry picked from commit 6ce4f12e208e3f02a6de1ba79158b2d181e60bd8)
Branch: v3.4
https://github.com/mongodb/mongo/commit/60669a7596b2c8dd96697840e0dfb374ea6c5193
xgen-internal-githook commented on Wed, 26 Apr 2017 12:12:49 +0000:
Author:
{u'username': u'acmorrow', u'name': u'Andrew Morrow', u'email': u'acm@mongodb.com'}
Message: SERVER-28710 Unify error handling between send and sendmsg paths
Branch: master
https://github.com/mongodb/mongo/commit/6ce4f12e208e3f02a6de1ba79158b2d181e60bd8