<lopex> scala is just mangling
<rtyler> indeed: /
<lopex> scala doesnt any weird classloader trick
<lopex> *doesnt do
<lopex> jruby does though
<rtyler> I need to apply beer to this problem, bbiab
<lopex> as usual
djellemah has joined #jruby
Puffball_ has joined #jruby
Puffball has quit [Read error: Connection reset by peer]
djellemah has quit [Quit: Leaving]
<rtyler> alright, beered up
<rtyler> still keep coming back to this classloader/classpath looking issue
<rtyler> but unable to prove it :(
<rtyler> java.lang.ClassNotFoundException: org.jruby.gen.BeeFilter_799252494
<rtyler> this looks more promising! I tried a different function passed through, and this came out the other end, which looks like a much more clear class lookup error on the deserialization side of things
<headius[m]> ClassNotFoundException is likely because it is not able to fine the generated class
<headius[m]> I hate stuff that relies on serialization
<headius[m]> It's not impossible to make the generated classes match on both sides but there's work required
<headius[m]> A short term change might be to give users a way to specify the name of the generated class
<headius[m]> Ideally as long as you have the same code on both sides it would work
<headius[m]> What's on the other side?
<rtyler> sorry, was in transit
<rtyler> the otherside is just the same spark environment
<rtyler> in local testing it's actually just another thread in the same process, but to replicate the real-world environment it's likely connecting over TCP to a different classloader,etc
<rtyler> in "the real thing" the spark cluster would be a JVM of N different instances
<rtyler> headius[m]: I'm not sure specifying a generated class name would work terribly well, unless that was something that would be predictable for every load of the jar (for example)
<rtyler> so I guess class method like java_serialize_as "MyClass_Ser'
<rtyler> or something, i don't know
<headius[m]> I'm actually now a bit surprised that it is serializing as the generated class...Ruby objects should serialize using marshalling, which would just use the normal class name from Ruby
<headius[m]> That might be the right thing to do in either case since you can't add interfaces later
<rtyler> and org.jruby.gen.BeeFilter_799252494 is definitely a generated class?
<rtyler> the deserialization stacktrace for what it's worth: https://gist.github.com/rtyler/bfd264a5ef0e9974864f49612dc1b3eb
<rtyler> this train wifi tends to sever my SSH connection so I might pop in and out
<headius[m]> Yes, the numbers are a hash of a collection of the Java interfaces it implements and BeeFilter is the name of the Ruby class
<headius[m]> But that's where maybe it makes sense to just use the Ruby name
<headius[m]> And to generate them into a classloader structure that would allow looking it up the same way on the other side
<rtyler> you're not going to find your way in the SF bay area any time soon? might be interesting to hack this out
<rtyler> let me commit some of these changes and push them with an example on how to test in case you're curious
<rtyler> in between work things tomorrow, I think I'll be able to connect the remote debugger and set some breakpoints for the serialization side to see what it's sending and what the deserialization is getting on the other side
<rtyler> if you do decide to poke at it, you'lll want to tweak run.sh to add a reference to your own spark download
* rtyler ponders other ways to test things here
<rtyler> it looks like some of these other attempts skipped this problem by simply taking the path that pySpark takes which is to spin up a custom python process that receives pickled objects (or something like that) for the data transport, but otherwise doesn't attempt to serialize objects
<rtyler> i.e. function or class objects
Puffball_ has left #jruby [#jruby]
quadz has joined #jruby
rusk has joined #jruby
_whitelogger has joined #jruby
drbobbeaty has joined #jruby
shellac has joined #jruby
drbobbeaty has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
<kares[m]> hey! CI on Travis is passing (last couple builds) but if I open details a MRI stdlib target gets terminated (due to a hang) ... not sure its still the right call to call the build green :)
<kares[m]> checking latest or the one before: https://travis-ci.org/jruby/jruby/builds/534921947
drbobbeaty has joined #jruby
shellac has quit [Quit: Computer has gone to sleep.]
shellac has joined #jruby
him3010 has joined #jruby
him3010 has quit [Client Quit]
<headius[m]> Ugh
<headius[m]> Oh it is marked as allow because of that weird hanging at the end
victori_ has joined #jruby
xardion_ has joined #jruby
victori has quit [*.net *.split]
drbobbeaty has quit [*.net *.split]
xardion has quit [*.net *.split]
enebo has quit [*.net *.split]
enebo has joined #jruby
shellac has quit [Ping timeout: 248 seconds]
rsim has joined #jruby
<rsim> headius: Hi! I found one critical regression in JRuby 9.2.7.0 regarding loading of compiled Ruby class files. Could you take a look? https://github.com/jruby/jruby/issues/5740
xardion_ has quit [Remote host closed the connection]
xardion has joined #jruby
subbu is now known as subbu|afk
<enebo> rsim: I see the issue...will be fixed shortly
<rsim> enebo: I was looking at the change history and identified that probably this change introduced the problem https://github.com/jruby/jruby/commit/fc4797ad8b7c3a82c4c83710ff6a2342d2080136
<rsim> enebo: Or do you already found the cause?
<enebo> rsim: yeah it is not encoding the isPotentiallyRefined on encode() but is asking for it on decode()
<enebo> jbvjb
<rsim> enebo: BTW what are your plans when JRuby 9.2.8.0 will be released? I am now thinking if we should stay on 9.2.6.0 for some while or wait 9.2.8.0
<enebo> rsim: we originally said by end of month but I think we need to discuss that a little bit
<enebo> we wanted zeitwerk working as one bigger item so we need to think on how important that item is now since it is off by default in rails 6 for us already
<rsim> ok, then we will stay on 9.2.6 now and will test again when 9.2.8 will be released
<enebo> actually the encode has more wrong than that boolean but simple enough to fix
<enebo> most time will be making sure we have a test for asString
subbu|afk is now known as subbu
<rtyler> o/
<lopex> numbers ?
rusk has quit [Remote host closed the connection]
subbu is now known as subbu|lunch
subbu|lunch is now known as subbu
* headius[m] uploaded an image: tenor_gif1666033261696673885.gif (180KB) < https://matrix.org/_matrix/media/v1/download/matrix.org/rWGRWbFgrKYweHabGPsVmhiW >
<rtyler> lopex: was that question directed my way?
<lopex> no, it's our old banter word here
<rtyler> I saee
subbu is now known as subbu|afk
subbu|afk is now known as subbu
Antiarc_ has quit [Quit: ZNC 1.7.2+deb2 - https://znc.in]
Antiarc has joined #jruby
Antiarc has quit [Read error: Connection reset by peer]
Antiarc has joined #jruby