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

Timeout when publishing message #464

Closed
perlun opened this issue Oct 9, 2014 · 11 comments
Closed

Timeout when publishing message #464

perlun opened this issue Oct 9, 2014 · 11 comments
Assignees
Labels
Milestone

Comments

@perlun
Copy link
Contributor

perlun commented Oct 9, 2014

Hi,

I keep getting these now, during high load:

#<Celluloid::TimeoutError: receive timeout exceeded>
/Users/plundberg/git/uxf/ecraft.uxfactory.server-2014.1/src/server/gems/jruby/1.9/gems/celluloid-0.16.0/lib/celluloid/mailbox.rb:82:in `receive'
/Users/plundberg/git/uxf/ecraft.uxfactory.server-2014.1/src/server/gems/jruby/1.9/gems/celluloid-0.16.0/lib/celluloid/calls.rb:97:in `wait'
org/jruby/RubyKernel.java:1517:in `loop'
/Users/plundberg/git/uxf/ecraft.uxfactory.server-2014.1/src/server/gems/jruby/1.9/gems/celluloid-0.16.0/lib/celluloid/calls.rb:96:in `wait'
/Users/plundberg/git/uxf/ecraft.uxfactory.server-2014.1/src/server/gems/jruby/1.9/gems/celluloid-0.16.0/lib/celluloid.rb:116:in `suspend'
/Users/plundberg/git/uxf/ecraft.uxfactory.server-2014.1/src/server/gems/jruby/1.9/gems/celluloid-0.16.0/lib/celluloid/calls.rb:88:in `response'
/Users/plundberg/git/uxf/ecraft.uxfactory.server-2014.1/src/server/gems/jruby/1.9/gems/celluloid-0.16.0/lib/celluloid/calls.rb:92:in `value'
/Users/plundberg/git/uxf/ecraft.uxfactory.server-2014.1/src/server/gems/jruby/1.9/gems/celluloid-0.16.0/lib/celluloid/proxies/sync_proxy.rb:33:in `method_missing'
/Users/plundberg/git/uxf/ecraft.uxfactory.server-2014.1/src/server/gems/jruby/1.9/gems/celluloid-0.16.0/lib/celluloid/notifications.rb:8:in `publish'

The calling code looks like this:

          publish(/applog/, create_log_entry(request, status, headers, body))

During low load, everything works fine, but under high load, I get this all the time. Any ideas? When I looked at calls.rb, it seems to call Celluloid.mailbox.receive without any timeout, which I interpret as the timeout as impossible? But OTOH, I'm not very familiar with the Celluloid codebase, so... I could have missed something. Is there a default timeout involved here?

(Using the latest Celluloid gem from Rubygems. Haven't tried with bleeding edge from GitHub).

@philipmw
Copy link

Looks like you're using JRuby. This may be the same root cause as issue #475.

@digitalextremist digitalextremist modified the milestone: triage Mar 28, 2015
@digitalextremist digitalextremist modified the milestone: triage Mar 28, 2015
@digitalextremist digitalextremist added this to the 0.17.0 milestone Apr 8, 2015
@digitalextremist digitalextremist self-assigned this Apr 8, 2015
@digitalextremist
Copy link
Member

Adding to 0.17.0 as I am able to reproduce #475 myself now.

@digitalextremist
Copy link
Member

@e2 this was re-introduced for me lately. Was there anything you remember touching that could have caused this to resurface?

@e2
Copy link
Contributor

e2 commented Apr 13, 2015

O gosh, this looks EXACTLY like the probe specs problem I'm trying to deal with here: #554

@e2
Copy link
Contributor

e2 commented Apr 13, 2015

@digitalextremist, @perlun - I need a failing example. I couldn't create one (I tried), and I don't have it occurring currently. I have a few ideas what it could be - so if someone has an example that fails on jruby-head, I can debug it...

@digitalextremist
Copy link
Member

Mine is failing on 1.7.19 ... working to isolate it.

@e2
Copy link
Contributor

e2 commented Apr 13, 2015

@digitalextremist - can you reproduce it consistently enough to test something?

@digitalextremist
Copy link
Member

Not yet. I have a piece of code that relaunches dead pools. I suspect it might be actually trying to remake the pool with bad arguments like a variation of that smoker issue.

@e2
Copy link
Contributor

e2 commented Apr 13, 2015

@digitalextremist - if you can reproduce problems, try these patches: https://github.com/abstractive/celluloid/commit/5de8adbb1967c5ad11b397a1a2619fa7cb308710

If they still occur, let me know - I can't seem to get JRuby failing after these.

(The above patches are preventative, and not a fix - you might even get a speedup in actor messaging).

@digitalextremist
Copy link
Member

This, for me, was resolved at #585 by magic.

@perlun: flag me down if this is still an issue with 0.17.0-prerelease

@perlun
Copy link
Contributor Author

perlun commented Apr 20, 2015

Nice! Thanks for your hard work.

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

No branches or pull requests

4 participants