Bug 1025765 - EBADF from select() cause TransportExceptions in client
EBADF from select() cause TransportExceptions in client
Product: JBoss Data Grid 6
Classification: JBoss
Component: CPP Client (Show other bugs)
Unspecified Unspecified
unspecified Severity medium
: CR2
: 6.2.1
Assigned To: Tristan Tarrant
Alan Field
Depends On:
  Show dependency treegraph
Reported: 2013-11-01 09:50 EDT by Radim Vansa
Modified: 2018-01-29 20:43 EST (History)
4 users (show)

See Also:
Fixed In Version:
Doc Type: Known Issue
Doc Text:
When more than several hundred Hot Rod client instances are created within a single process, TransportExceptions are thrown due to problems with connecting socket to the server. Mileage may vary depending on the OS configuration.
Story Points: ---
Clone Of:
Last Closed:
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

External Trackers
Tracker ID Priority Status Summary Last Updated
JBoss Issue Tracker HRCPP-66 None None None 2014-07-14 20:17:36 EDT

  None (edit)
Description Radim Vansa 2013-11-01 09:50:59 EDT
During stress testing, when about 200-300 clients per node are spawned, some of the sys::Socket::connect() attempts fail with TransportException.

This is preceded by the ::connect() call returning failing with EINPROGRESS, followed by ::select() failing with EBADF. However, even after the failure ::fnctl() reports the socket to be O_RDWR | O_NONBLOCK (as it should be) without error.

I had a suspicion that this may be related to the number of file descriptors, but ulimit -n shows that the limits are high above that.
Comment 2 Martin Gencur 2014-03-27 05:00:09 EDT
This was fixed a long time ago. Setting ON_QA
Comment 3 Alan Field 2014-03-31 10:45:40 EDT
Verified with JDG 6.2.1 CR3

Note You need to log in before you can comment on or make changes to this bug.