<lopex>
tarcieri: since when you're using jruby in production ?
blaines has joined #jruby
<tarcieri>
lopex: we were almost a completely JRuby shop at one point
<tarcieri>
but lots of people have moved to MRI
<lopex>
why ?
<tarcieri>
I think the typical reasons: startup time (of production services), compatibility issues with C extensions, various JRuby-specific errata (OpenSSL is a big one)
<lopex>
tarcieri: I'm at the point of jruby introduction right now
<tarcieri>
the external-facing services I maintain are all JRuby
<tarcieri>
well, where external is from our datacenter to our corporate environment
<lopex>
tarcieri: but there's no really any equivalents since all goes through as/400 whatever
<lopex>
so if it's ruby then it has to be jruby
brycek_ has quit [Ping timeout: 252 seconds]
brycek has joined #jruby
Zarthus has joined #jruby
<lopex>
tarcieri: is it at sevice layer or an ui ?
benlovell has joined #jruby
benlovell has quit [Ping timeout: 244 seconds]
cristianrasch has quit [Quit: Leaving]
fvf has quit [Quit: Konversation terminated!]
tvo has quit [Quit: Leaving.]
litper has joined #jruby
dinfuehr has joined #jruby
dinfuehr has quit [Ping timeout: 240 seconds]
baroquebobcat has joined #jruby
litper has quit [Ping timeout: 246 seconds]
camlow325 has quit []
<tarcieri>
lopex: UI
<tarcieri>
it's our SSO portal
mdedetrich has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
digitalextremist has quit [Ping timeout: 264 seconds]
blaines has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
digitalextremist has joined #jruby
robbyoconnor has joined #jruby
mdedetrich has joined #jruby
ryez has joined #jruby
havenwood has joined #jruby
baroquebobcat has quit [Quit: baroquebobcat]
_djbkd has quit [Quit: My people need me...]
ryez has quit [Ping timeout: 246 seconds]
mdedetri_ has joined #jruby
mje113 has quit [Quit: Connection closed for inactivity]
mdedetrich has quit [Ping timeout: 250 seconds]
blaines has joined #jruby
dinfuehr has joined #jruby
dinfuehr has quit [Ping timeout: 244 seconds]
blaines_ has joined #jruby
blaines has quit [Ping timeout: 255 seconds]
maleghast has joined #jruby
nateberkopec has quit [Ping timeout: 260 seconds]
ddarkpassenger has joined #jruby
havenwood has quit [Read error: Connection reset by peer]
ddarkpassenger has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
nirvdrum has quit [Remote host closed the connection]
iamjarvo has joined #jruby
blaines_ has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
iamjarvo has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
iamjarvo has joined #jruby
benlovell has joined #jruby
ddarkpassenger has joined #jruby
etehtsea has joined #jruby
benlovell has quit [Ping timeout: 244 seconds]
iamjarvo has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<JRubyGithub>
[jruby] kares reopened issue #3147: JRuby trying to load jit'd code from Jars http://git.io/vmgzl
<nirvdrum>
Freaky: I have a very simple fix for the issue, but it might be a performance hit.
goyox86_ has joined #jruby
* Freaky
notes grizzly has a ConcurrentWeakHashMap
<nirvdrum>
FYI, it does lock up on Linux, too. But it's a race condition and related to JVM internals, so it shouldn't be OS-specific.
<[BNC]kares>
nirvdrum: show us!
<nirvdrum>
[BNC]kares: Just wrap the map in Collections.synchronizeMap.
<nirvdrum>
But I think a ReadWriteLock would probably work out better.
<[BNC]kares>
nirvdrum: would rather vote for the ConcurrentWeakHashMap as noted by Freaky
goyox86_ has quit [Remote host closed the connection]
<Freaky>
either way it doesn't get much slower than hung forever ;)
<[BNC]kares>
the less sync the better ... seems like it does not need to be that much "unique consistent"
donV has joined #jruby
<[BNC]kares>
just a stupid cache, right?
<nirvdrum>
[BNC]kares: Unless I'm mistaken, that's not a standard class.
<Freaky>
I assume #to_sym is locked
<nirvdrum>
Freaky: Agreed. It's more a case of if a penalty is incurred on every read and only one thread can access the cache at a time, the value of a cache at all may be diminished.
<Freaky>
hm, freeze isn't actually doing anything special, just setting a flag, why is that fixing anything?
<[BNC]kares>
oh right, thought there's smt in org.jruby.util.collections ... but there's "only" a WeakValuedMap
dinfuehr has joined #jruby
JRubyGithub has joined #jruby
<JRubyGithub>
[jruby] nirvdrum pushed 1 new commit to master: http://git.io/vYnRc
<JRubyGithub>
jruby/master e88911e Kevin Menard: Synchronize the String dedupe cache....
JRubyGithub has left #jruby [#jruby]
<enebo>
nirvdrum: Freaky: Please open up an issue on this and reference that commit
<enebo>
oh I guess #3171 is open
<enebo>
well was open
<nirvdrum>
Heh.
JRubyGithub has joined #jruby
<JRubyGithub>
[jruby] enebo reopened issue #3171: Hang with threads and Hash[]= on unfrozen keys http://git.io/vYnZH
JRubyGithub has left #jruby [#jruby]
<nirvdrum>
enebo: Feel free to come up with something smarter. I just fixed the bug for the moment.
<enebo>
nirvdrum: yeah we pared back the use of this method once already
dinfuehr has quit [Ping timeout: 240 seconds]
mkristian has joined #jruby
<nirvdrum>
[BNC]kares: Nifty. I didn't know about that one.
<nirvdrum>
Freaky: It sounds like the fix is subject to change, but if you're willing to build from master, you should be able to run that code.
<chrisseaton>
I'm having trouble getting JRuby's build system to use a new annotation processor - who set up the binder processor you currently have?
dinfuehr has quit [Ping timeout: 272 seconds]
<nirvdrum>
enebo: Nifty. I think we should still set coderange on strings read from files.
<enebo>
nirvdrum: well I am a lot more likely to only mark 7bit
<headius>
Freaky: that's weird
<headius>
chrisseaton: set up as in the build? That would be mkristian
<enebo>
nirvdrum: since we basically only notice nonascii while processing strings
<headius>
I wrote the processor
<enebo>
what?!?!
<nirvdrum>
enebo: That'd probably be good for most cases. I just figured since you were already looking at the bytes, you could do whatever the lexer does.
<headius>
nirvdrum: good find...I guess I should have put more time into this cache
<enebo>
nirvdrum: I guess in theory we could also mark normal
<headius>
Guice has stuff like weak concurrent maps...I wish that library wasn't so damn big
benlovell has joined #jruby
<[BNC]kares>
headius: you should find one at org.jruby.util.collections as well :)
<headius>
[BNC]kares: yeah I wonder about the efficiency of ours versus theirs
<headius>
Bob Lee spent a lot of time on the collections in Guice and he's a smart cookie
<nirvdrum>
Freaky: Are you the same Freaky from HN?
<Freaky>
yup
<tarcieri>
well, one day of running my main JRuby app in staging and seems like smooth sailing so far
<[BNC]kares>
headius: its fine - the truffle folks will optimize it eventually :)
<tarcieri>
I think I'm going to deploy a copy in the least essential of our production datacenters ;)
elia has quit [Quit: Computer has gone to sleep.]
<tarcieri>
on 9000, that is
benlovell has quit [Ping timeout: 250 seconds]
<nirvdrum>
Freaky: Well, glad to see you pop in :-) You seemed to have several threading issues we need to improve.
<headius>
tarcieri: excellent!
<chrisseaton>
headius: my processor generates and compiles classes, but the other classes in the source base don't see them
elia has joined #jruby
<headius>
chrisseaton: where are they getting emitted?
<enebo>
tarcieri: deploy on FRIDAY!
<[BNC]kares>
:)))
<[BNC]kares>
afternoon
<chrisseaton>
they're going into the same generated-sources dir as everything else
<headius>
there's some way to fit generated code into maven's phases but I'm not quite sure what that is
<headius>
chrisseaton: what phase is your stuff running in?
<nirvdrum>
[BNC]kares: I think I liked your nick better without a clan tag ;-)
<chrisseaton>
I just compile with annotationProcessors set - like you do in core/pom.rb
<chrisseaton>
and I compile the annotation processor in a prior step - again like in core/pom.rb
<chrisseaton>
The generated code looks fine - it's just not seen by the other classes
bjfish2_ has quit [Quit: bjfish2_]
<headius>
hmm I'm not sure
<chrisseaton>
Who references the generated binding classes?
<[BNC]kares>
nirvdrum: you're just jealous ... but seriously its set without the tags - the BNC is messing with me :(
<headius>
chrisseaton: ahh you know what, that's right...everything we generate is loaded reflectively
<chrisseaton>
ah yeah I'm trying that - but my problem is if I have no reference to the class, javac doesn't know the compile it
<chrisseaton>
know to compile it
<headius>
ok right
<chrisseaton>
I thought maybe you had some hack to force the compilation
<Freaky>
nirvdrum: yup. Currently testing it with the next iteration of freshbsd.org, pushing a fair bit of weird data through it
<nirvdrum>
headius: I think I found your new best friend.
<headius>
chrisseaton: sounds like there's more you have to do to poke javac into seeing the generated code
<[BNC]kares>
chrisseaton: headius: could roll better if it was not a 2 step compilation ... tried to rewrite it using the correct Java compiler API (without hard-coded paths etc.) but stopped at some point
<headius>
[BNC]kares: AnnotationBinder is a POS
<headius>
but it works well so I haven't messed with it much
fvf has quit [Quit: Konversation terminated!]
<[BNC]kares>
yy ... but occasionally I always need to clean
<headius>
yeah I'd like to fix that
<headius>
that's also a factor of the invoker generation which happens only when you run JRuby
<headius>
so the build has to run JRuby to generate the invokers to run JRuby
<[BNC]kares>
think its (also) caused by the fact that it's not integrated with the main compilation
<headius>
well, I mean to generate them as offline classes
<headius>
they generate on boot if they're not in the jar
<[BNC]kares>
oh yeah ... maybe I'm talking about that part then ... sorry for the confusion
<headius>
no, it's all the same mess
mje113 has quit [Quit: Connection closed for inactivity]
<headius>
it should be made cleaner
robbyoconnor has quit [Ping timeout: 246 seconds]
temporalfox has quit [Read error: Connection reset by peer]
temporal_ has joined #jruby
<headius>
[BNC]kares: I did fix up the MethodHandle-based invoker stuff and that works great now, but it's still slower than having offline generated stubs
<headius>
slower to boot that is
<headius>
it drops the jar size by like 2MB...I wish I could make it start up faster :-(
<[BNC]kares>
oh really? will need to check that out