yfeldblum has quit [Remote host closed the connection]
yfeldblum has joined #jruby
lanceball is now known as lance|afk
xardion_ has quit [Ping timeout: 255 seconds]
xardion has joined #jruby
subbu has quit [Ping timeout: 260 seconds]
yfeldblum has quit [Remote host closed the connection]
yfeldblum has joined #jruby
subbu has joined #jruby
griest has joined #jruby
<griest>
jruby's method_missing will allow me to call a camelCase method with camel_case but does this only apply to Java classes? If I defined a camel case method in a ruby class, could I call it in snake case?
<griest>
Also, does this work in reverse? Can I call a snake case method with camel case?
enebo has joined #jruby
yfeldblum has quit [Remote host closed the connection]
tcrawley-away is now known as tcrawley
tcrawley is now known as tcrawley-away
pietr0 has quit [Quit: pietr0]
<griest>
jruby's method_missing will allow me to call a camelCase method with camel_case but does this only apply to Java classes? If I defined a camel case method in a ruby class, could I call it in snake case?
<griest>
Also, does this work in reverse? Can I call a snake case method with camel case?
<headius>
griest: hello there
<griest>
hi! just bumping
<headius>
it does not work in reverse...if the original Java method is snake_case we don't do anything to it
<headius>
is that what you mean?
<griest>
yes does it also work for Ruby classes?
<headius>
griest: ahh, no it does not
<GitHub154>
[jruby] headius pushed 1 new commit to master: http://git.io/vuXi5
<GitHub154>
jruby/master c4596ce Charles Oliver Nutter: Bits and bobs to tidy up the new dumper.
<griest>
headius: thought so...okay I'll just mod method_missing myself
<griest>
thanks
griest has quit [Quit: Leaving]
pitr-ch_ has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
bb010g has quit [Quit: Connection closed for inactivity]
yfeldblum has joined #jruby
bb010g has joined #jruby
camlow32_ has quit []
subbu has quit [Ping timeout: 240 seconds]
subbu has joined #jruby
DrShoggoth has joined #jruby
<GitHub145>
[jruby] headius pushed 1 new commit to master: http://git.io/vuXQT
<GitHub145>
jruby/master b8b07a5 Charles Oliver Nutter: Add property and non-volatile table-based ivars....
pawnbox has joined #jruby
pawnbox has quit [Ping timeout: 260 seconds]
raysadude has joined #jruby
<raysadude>
hi
<raysadude>
anyone knows how to deploy jruby on rails app on glassfish v4, i followed the instruction in oracle website but it didnt work
<raysadude>
and i also notice that it's for v3
<headius>
glassfish support for JRuby was dropped after v3 :-(
<headius>
do you need to use GF?
<raysadude>
=(
<raysadude>
mmm
<raysadude>
i have several apps already running on GF
<bga57>
can you just bundle it into a war and deploy it?
<raysadude>
i can use tomcat also
<headius>
JRuby can still deploy as a plain old webapp (war file) or there are some great alternative servers now like torqbox and puma
<raysadude>
oooohh
<raysadude>
that's right
<headius>
look up "warbler"
<headius>
that will do what you want
<raysadude>
i looked up warbler before
<raysadude>
thanks for shed the light
<headius>
no problem
<raysadude>
i really appreciate it
<bga57>
I've only played with torquebox and wildfly.
<raysadude>
never played both
<raysadude>
im gonna check them up
<headius>
torqbox is torquebox 4 stripped down to just the web server component
<raysadude>
i've been pulling hair try to figure out how to have v4 work with jruby
<headius>
puma is a mostly pure-Ruby server that's easy and pretty fast
<headius>
yeah it's too bad they dropped it
<raysadude>
i notice that the update tool doesnt have jruby anymore
<headius>
they dropped almost all alternative language support in GF after Oracle took over
<GitHub60>
[jruby] judofyr opened issue #3585: Kernel#autoload? returns true after the file has been required http://git.io/vuMrL
shellac has joined #jruby
skade has joined #jruby
skade has quit [Ping timeout: 272 seconds]
tomjoro_ has joined #jruby
tomjoro has quit [Ping timeout: 245 seconds]
rsim has joined #jruby
yfeldblum has quit [Remote host closed the connection]
yfeldblum has joined #jruby
byteit101__ has joined #jruby
byteit101 has quit [Ping timeout: 272 seconds]
<GitHub94>
[jruby] eregon commented on commit 07e62b2: I think it's time to have a ModuleBodyDefinitionNode or so :) http://git.io/vuDLo
<GitHub192>
[jruby] eregon commented on commit 07e62b2: Looks good! I didn't think of that approach, I was thinking to have an additional DefaultDefinee, but it seems more effort. http://git.io/vuDtZ
pawnbox has quit [Remote host closed the connection]
pawnbox has joined #jruby
tomjoro_ has quit [Remote host closed the connection]
tomjoro has joined #jruby
pawnbox has quit [Remote host closed the connection]
pawnbox has joined #jruby
tomjoro has quit [Ping timeout: 256 seconds]
pawnbox has quit [Read error: Connection reset by peer]
pawnbox has joined #jruby
<GitHub75>
[jruby] eregon pushed 2 new commits to master: http://git.io/vuDsO
<GitHub75>
jruby/master ce104bd Benoit Daloze: [Truffle] Separate definition of normal methods from definition of module bodies.
skade has quit [Read error: Connection reset by peer]
tomjoro_ has joined #jruby
kares has quit [Ping timeout: 240 seconds]
tomjoro has quit [Ping timeout: 264 seconds]
tomjoro_ has quit [Ping timeout: 240 seconds]
thedarkone2 has joined #jruby
bjfish2 has joined #jruby
whitby has joined #jruby
ITXpander1 has quit [Quit: Leaving.]
tomjoro has joined #jruby
cprice404 has joined #jruby
<GitHub11>
[jruby] mkristian opened issue #3586: org.jruby.runtime.load.ClassExtensionLibrary.tryFind fails on certain classnames http://git.io/vuyKh
rsim has quit [Quit: Leaving.]
camlow325 has joined #jruby
<GitHub115>
[jruby] mkristian pushed 1 new commit to master: http://git.io/vuyPJ
<GitHub115>
jruby/master 2b1eb2b Christian Meier: filter obviously wrong class-names/package-names when finding JavaExtension Service.class...
<GitHub2>
[jruby] mkristian closed issue #3586: org.jruby.runtime.load.ClassExtensionLibrary.tryFind fails on certain classnames http://git.io/vuyKh
e_dub has quit [Ping timeout: 250 seconds]
hobodave has joined #jruby
<lupine>
hmm, I've got an odd situation with activerecord-jdbc-postgresql which goes away if I use bundle exec: TypeError: superclass mismatch for class PostgreSQLAdapter
e_dub has joined #jruby
bbrowning has quit [Ping timeout: 246 seconds]
<lupine>
ahh, I know what's happening, I think. I'm calling ActiveRecord::Base.setup multiple times (there's a setup and a teardown per suite)
<lupine>
totally not worth it
<GitHub9>
[jruby] mkristian opened issue #3587: [truffle] shaded jars in jruby-truffle.jar http://git.io/vuyD0
<lupine>
AR's behaviour for requiring its adapters must differ if bundler is involved
ITXpander has joined #jruby
ITXpander has quit [Client Quit]
bbrowning has joined #jruby
kares has joined #jruby
<GitHub18>
[jruby] eregon pushed 1 new commit to truffle-head: http://git.io/vuyQE
<GitHub18>
jruby/truffle-head d6fabc4 Benoit Daloze: [Truffle] Do not track factorypath on head.
<lupine>
hah, if only. I should be down to just a single setup call now but it's still happening
rsim has joined #jruby
bb010g has quit [Quit: Connection closed for inactivity]
shellac has quit [Quit: Computer has gone to sleep.]
shellac has quit [Quit: Computer has gone to sleep.]
donValentin has joined #jruby
shellac has joined #jruby
donV has quit [Ping timeout: 256 seconds]
yfeldblum has quit [Ping timeout: 264 seconds]
shellac has quit [Quit: Computer has gone to sleep.]
<byteit101__>
enebo: hi! I was thinking of doing a jrubyfx release real soon
Ylan has joined #jruby
<lopex>
enebo: enebo !
<enebo>
byteit101__: yes! I also ran into two occurrences of Rotate not resolving in core_ext to run analog_clock.rb
<enebo>
byteit101__: but that was with Java 7
<enebo>
byteit101__: I am guessing master works better with Java 8
<byteit101__>
oh, did that require a fix?
<enebo>
byteit101__: (I was using last gem install when I noticed the Rotate issue)
<enebo>
byteit101__: well it might. I did not try it form source
<byteit101__>
ah, gem is old
<enebo>
byteit101__: you may want to just check if samples/javafx/analog_clock.rb runs
<byteit101__>
enebo: yep, works from master on 8
<enebo>
byteit101__: great
<Ylan>
Hello, everyone. I am trying to move a Rails app from 1.7.24 to 9.0.4.0 and I am seeing slower performance in 9.0.4.0, both when running my server and when running specs.
<Ylan>
Can you point me to the usual culprits for this being the case?
<Ylan>
enebo: Maybe you can point me in the right direction?
shellac has joined #jruby
<enebo>
Ylan: how much slower?
shellac has quit [Client Quit]
<enebo>
Ylan: sometimes we see things 10-20% slower but usually we have enough other improvements where you do not see that
e_dub has joined #jruby
e_dub has quit [Client Quit]
<enebo>
Ylan: we are getting closer to some big optimizations hitting so we largely still preach close to parity with 1.7
<enebo>
Ylan: if you profile your app (perhaps using —profile) and notice something odd let us know.
<Ylan>
enebo: Well, my specs went from 22 minutes to 55 minutes.
<enebo>
oh
<enebo>
our interpreter is slower but that is <2x slower
<enebo>
err >2x
<enebo>
Ylan: do you use --dev?
<Ylan>
enebo: The rails performance looks about 40% slower (using trinidad)
<enebo>
hmmm I wonder if something is raising exceptions
<Ylan>
enebo: In the specs? Let me check... for Rails I was specifically using --server
<enebo>
Ylan: for specs JRUBY_OPTS=—dev might be a good win (obviously not for deployment)
<Ylan>
For the specs, the 55 minutes is using --dev, we tried --server, but it actually made it slower
<enebo>
hmm
<GitHub120>
[jruby] enebo pushed 1 new commit to master: http://git.io/vu9yh
<GitHub120>
jruby/master 00388a7 Thomas E. Enebo: Make Self extend from Variable and not LocalVariable
<Ylan>
enebo: What do you mean by raising exceptions? There are several places in our app where exceptions are raised and caught later by controllers and handled there.
<enebo>
if you are throwing lots of exceptions in a request it has to generate backtraces
<enebo>
we made an optimization for some simple cases (notably simple cases like foo rescue nil) but for general exceptions we are much much slower than MRI at generating them
<enebo>
with that said we were also that slow in 1.7
<enebo>
So my only thought there is if more are thrown due to 2.xism
<enebo>
Ylan: but in general exceptions have a large cost and should really be exceptional
<Ylan>
enebo: I understand that. I don't think that is the case. And in the endpoint that I was benchmarking (that does quite a bit of work) there are no exceptions.
<enebo>
Ylan: ok
<enebo>
Ylan: another big change was native IO in 9k
<enebo>
Ylan: which so far we have not found to be slower
<Ylan>
enebo: native IO? Does that include connecting to MySQL?
<enebo>
Ylan: possibly but not if it is using JDBC since that will use Java networking under the covers
<enebo>
Ylan: anything using Ruby IO or derived from that is largely bypassing Java IO and calling out to C
<Ylan>
enebo: By the way, the only difference between 1.7 and 9.0 branches are a couple of gems that needed to be upgraded, r18n and mustache.
<GitHub147>
[jruby] chrisseaton pushed 1 new commit to master: http://git.io/vu9Ql
<GitHub147>
jruby/master a161b2e Chris Seaton: [Truffle] Lambda spec passes.
Ylan has quit [Quit: Page closed]
Ylan has joined #jruby
<Ylan>
enebo: We are using activerecord-jdbc-adapter, so that should not be it.
<lopex>
enebo: not to mention your lack a likening of bander anymore
<lopex>
*banter
<headius>
Ylan: your project is a rails app?
<headius>
lopex: certainly possible there's a leak in UNIXSocket but nobody has reported it before
<lopex>
headius: I'm experiencing total machine oom
<headius>
lupine: hopefully you filed a bug on that
<lopex>
not just java
<headius>
lopex: so do you still suspect jruby?
<headius>
it wouldn't be hard to believe we might be walking away from a ByteBuffer or something
<lopex>
the machine runs docker (a suspect) and a jruby sintra app
<lopex>
headius: lots of threads running
<lupine>
headius: not yet, I wanted to track it down a bit further
<lupine>
but failed, so will do so on monday
<lopex>
headius: yeah, docker is still high on the score
<headius>
Ylan: if your test suite starts JRuby up many times that could easily be the problem... 9k starts up slower than 1.7
<headius>
only by like 0.5s but it could add up fast
<headius>
well for a large app it may be cumulative
<Ylan>
headius: Yes, it's a Rails 4.2 app
<Ylan>
headius: The specs only start one Jruby process
<headius>
ok
<headius>
and the specs themselves don't launch anything in subprocesses I assume?
<headius>
you might try bumping up available JVM memory...it's possible 1.7 was close to using the default 500MB and 9k uses a bit more for some things
<Ylan>
headius: That is correct.
<headius>
JAVA_OPTS=-Xmx1G
<headius>
or something
<enebo>
we are using neatly 25% more memory
<enebo>
NEATLY
<Ylan>
hedius: I am running both with JRUBY_OPTS=-J-Xmx2048m
<headius>
ok
<headius>
that oughta be enough :-)
<enebo>
lopex: OMFG
<Ylan>
headius: Yeah, it's a relatively large application
<headius>
I would suggest running a sampled JVM-level profile on both and comparing the top results... --sample flag to JRuby
<headius>
there are places in 9k JIT that I know have not had optimization work as much as 1.7, so that's a possibility
<headius>
I wouldn't expect any core classes to be slower
<Ylan>
headius: I can do that and report. Should I try a smaller subset of the specs or all of them?
<headius>
if you can reproduce that big a slowdown with a smaller set, it would be more focused
<lopex>
headius: well, it might seem that unix sockat access would leave a leaked unix thread
<headius>
I'm running a unix socket accept/read/write loop just to see
<lopex>
but after oom, no useful dsmesg was available
<enebo>
lopex: did you see the comment on that video
<headius>
it does seem to be growing
<headius>
slowly
<lopex>
the reload does nothing but load same file again
<enebo>
lopex: do people always use taint full time for web apps in Perl?
<headius>
I read 5 and write 5 and then close the socket and open a new one
<nirvdrum>
get_actual_encoding :-/
<lopex>
enebo: I know it's lame
<enebo>
lopex: From my days people constantly had to bypass taints selectively which basically re-opened the box
<nirvdrum>
This feels like a cruel joke.
<enebo>
lopex: but best part is it came from CGI.pm docs
<headius>
going up by maybe 1MB every 30s
<headius>
Ylan: might be worth opening up an issue so we can track this
subbu has quit [Ping timeout: 256 seconds]
shellac has quit [Quit: Computer has gone to sleep.]
<lopex>
headius: the problem is how can I track it;s not a doker
<Ylan>
headius: OK... I'll try the --sample and see if I can find a subset of the specs that show the slowdown and open a ticket.
<lopex>
enebo: yeah
<Ylan>
Thanks for the help headius and enobo :)
<headius>
Ylan: thanks...we're happy to help and hopefully we'll find something to fix
subbu has joined #jruby
<headius>
Ylan: FWIW tests are a test more of how well we run when we haven't done any optimization, and for 9k that number decreased
<headius>
we have more overhead in the new interpreter and more overhead getting code compiled and running...tests are great at hitting that because they run a lot of code exactly once
<headius>
we'll probably be more interested in the performance of your app than the suite...so include any information on that you can
shellac has joined #jruby
skade has quit [Read error: Connection reset by peer]
brightball has quit [Quit: Leaving...]
robbyoconnor has joined #jruby
robbyoconnor has quit [Client Quit]
<headius>
lopex: if it's a leak it's really, really slow
<headius>
you might try it on your side: jruby -rsocket -e 'Thread.abort_on_exception = true; s = UNIXServer.new("foofoo"); Thread.new { loop { c1 = s.accept; c1.read(5); c1.write("bubye"); c1.flush; c1.close } }; loop { c = UNIXSocket.new("foofoo"); c.write("hello"); c.flush; c.read(5); c.close; print "." }'
<headius>
I'm going to mix in select, since that's a kinda gnarly part of jnr
<headius>
HOO MAMA
<headius>
if that's not a leak I don't know what is
<headius>
up to 1.5GB in under a minute
<headius>
lopex: there's a leak
Ylan has quit [Ping timeout: 252 seconds]
<GitHub101>
[jruby] headius opened issue #3588: Leak in select for a UNIXSocket (at least) http://git.io/vuHq3
byteit101 has joined #jruby
byteit101__ has quit [Ping timeout: 272 seconds]
pitr-ch has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
oblutak has left #jruby [#jruby]
shellac has quit [Quit: Computer has gone to sleep.]