Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

EAGAIN / EWOULDBLOCK Error #44

Open
stamhankar999 opened this issue Aug 2, 2016 · 3 comments
Open

EAGAIN / EWOULDBLOCK Error #44

stamhankar999 opened this issue Aug 2, 2016 · 3 comments

Comments

@stamhankar999
Copy link

A user running v2.1.5 of the DataStax Ruby driver encountered a 'write would block' error message when communicating with a node. We believe the underlying error is an EAGAIN or EWOULDBLOCK when attempting to write to the socket.

Looking at the ione code (v1.2.0 for C* driver 2.1.5), I don't see how we could end up with that error -- writes seem rely strictly on select returning a write-fd-set, so if the fd isn't writable, it shouldn't get a write attempt.

Nonetheless, it seems like in some cases it does get this error, so ione should catch it and drop it. Presumably a later write attempt will succeed as time elapses and the kernel buffer for the socket gradually empties.

@iconara
Copy link
Owner

iconara commented Aug 3, 2016

I would need more info to go ahead with this. As you say it's hard to see how it could happen, and just rescuing exceptions without knowing the cause of them will probably lead to more errors, or hidden performance issues, in the future.

@stamhankar999
Copy link
Author

Sounds reasonable; I'm trying to find out if the user can repro the issue. Will let you know more when I know more.

@iconara
Copy link
Owner

iconara commented Aug 3, 2016

Thanks.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants