
extlib pooling needs tweaking for JRuby
Reported by Alex Coles | June 14th, 2008 @ 01:27 PM
When extlib specs are executed in JRuby
NO_RCOV=true jruby -S rake spec
the execution hangs here:
Extlib::Pooling
- should track the initialized pools
(JRuby 1.1.2)
Comments and changes to this ticket
-
Alex Coles June 14th, 2008 @ 01:35 PM
- Title changed from extlib specs hang when executed on JRuby to extlib pooling needs tweaking for JRuby
Previous hang resolved by adjusting pool_size (see commit 59b51a3
However, the values I chose is pretty arbitrary. Its worth spending a little time here (possibly getting the JRuby folks to put in some time) to figure out the values needed to optimize for JRuby.
As such, I changed the ticket title.
-
Dan Kubb (dkubb) November 28th, 2008 @ 02:35 AM
- State changed from new to open
- Assigned user changed from Sam Smoot to Dan Kubb (dkubb)
Alex, can you try dkubb/extlib on github and see if the problem persists?
dbussink made some changes that should've fixed this.
-
Dan Kubb (dkubb) November 30th, 2008 @ 01:43 PM
- Tag changed from extlib to concurrency, extlib, jruby, pool, pooling
- State changed from open to hold
-
Alex Coles November 30th, 2008 @ 01:53 PM
I pulled down the latest code this evening (commit #1fe1889 )
and I can confirm the hang issue is fixed. However, I am encountering two failures in JRuby 1.1.5 (and notin MRI), one of which is related to pooling:
1) 'Object#encoded_hash returns the encoded hash like the value in the default Object#inspect' FAILED expected: "#<Oi:0x1187f5b>", got: "#<Oi:0x230feb6>" (using ==) spec/object_spec.rb:127: 2) 'Extlib::Pooling should wake up the scavenger thread when exiting' FAILED expected false, got true spec/pooling_spec.rb:151:
-
Dirkjan Bussink November 30th, 2008 @ 02:12 PM
- State changed from hold to resolved
The second issue is a JRuby bug and will be fixed in 1.1.6, the first failure is because Object#encoded_hash depends on the MRI implementation. Both are actually not critical to properly running DM with JRuby.
Please Sign in or create a free account to add a new ticket.
With your very own profile, you can contribute to projects, track your activity, watch tickets, receive and update tickets through your email and much more.
Create your profile
Help contribute to this project by taking a few moments to create your personal profile. Create your profile »