rdubya has joined #jruby
rdubya has quit [Ping timeout: 276 seconds]
<^v> Christel just posted this "denial" on the freenode blog https://freenode.net/news/spam-shake
<KDDLB> Christel just posted this "denial" on the freenode blog https://freenode.net/news/spam-shake
<KDDLB> This blog is essentially an ad for the Handshake ICO scam with a one-line "denial" of involvement mixed in there. It's obviously very unethical of Christel to not mention her own involvement in the scam which the blog post promotes.
rdubya has joined #jruby
rdubya has quit [Ping timeout: 276 seconds]
<Cronus27> Christel just posted this "denial" on the freenode blog https://freenode.net/news/spam-shake
<Guest75005> Christel just posted this "denial" on the freenode blog https://freenode.net/news/spam-shake
<Guest75005> This blog is essentially an ad for the Handshake ICO scam with a one-line "denial" of involvement mixed in there. It's obviously very unethical of Christel to not mention her own involvement in the scam which the blog post promotes.
<AC`97_> Christel just posted this "denial" on the freenode blog https://freenode.net/news/spam-shake
<Lumpi5> Christel just posted this "denial" on the freenode blog https://freenode.net/news/spam-shake
rdubya has joined #jruby
rdubya has quit [Ping timeout: 276 seconds]
<dungodung7> Christel just posted this "denial" on the freenode blog https://freenode.net/news/spam-shake
<siniStar> Christel just posted this "denial" on the freenode blog https://freenode.net/news/spam-shake
rdubya has joined #jruby
rdubya has quit [Ping timeout: 265 seconds]
<rodarmor22> Christel just posted this "denial" on the freenode blog https://freenode.net/news/spam-shake
<TReK21> Christel just posted this "denial" on the freenode blog https://freenode.net/news/spam-shake
<TReK21> This blog is essentially an ad for the Handshake ICO scam with a one-line "denial" of involvement mixed in there. It's obviously very unethical of Christel to not mention her own involvement in the scam which the blog post promotes.
<richvdh28> Christel just posted this "denial" on the freenode blog https://freenode.net/news/spam-shake
<klx``14> Christel just posted this "denial" on the freenode blog https://freenode.net/news/spam-shake Why does this blog post mention "10.2 million" THREE times?
<ChrisBr> headius: hmm, difficult! So getting rid of the "resizing" issue would only be possible if we know the number of elements in advance (or use a very big array which would be a waste of memory)
<ChrisBr> For kwargs, we should know the number of elements in advance, right?
<ChrisBr> IIRC we do that with set. If you construct a new set with elements, we create the hash with the number of elements and no resizing is necessary (for constructing)
<ChrisBr> However, this still has the disadvantage that knowing the number does not mean that we have a nice distribution in the hash (so we might still have collisions)
<ChrisBr> we could construct a perfect hash function (https://blog.gopheracademy.com/advent-2017/mphf/)
<ChrisBr> but I would probably first go with the approach where we know how many elements we expect and construct the correct size so no resizing would be necessary
<ChrisBr> this code should already be in place
<limbo0> Christel just posted this "denial" on the freenode blog https://freenode.net/news/spam-shake Why does this blog post mention "10.2 million" THREE times?
<ZLSA27> Christel just posted this "denial" on the freenode blog https://freenode.net/news/spam-shake Why does this blog post mention "10.2 million" THREE times?
shellac has joined #jruby
fidothe_ has quit [Read error: Connection reset by peer]
drbobbeaty has joined #jruby
drbobbeaty has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
drbobbeaty has joined #jruby
rdubya has joined #jruby
rdubya has quit [Ping timeout: 240 seconds]
rdubya has joined #jruby
<nikow11> Christel just posted this "denial" on the freenode blog https://freenode.net/news/spam-shake Why does this blog post mention "10.2 million" THREE times?
<kg23> Christel just posted this "denial" on the freenode blog https://freenode.net/news/spam-shake Why does this blog post mention "10.2 million" THREE times?
shellac_ has joined #jruby
shellac_ has quit [Client Quit]
shellac_ has joined #jruby
shellac has quit [Read error: Connection reset by peer]
justinmcp has quit [Quit: No Ping reply in 180 seconds.]
<mikedlr17> Christel just posted this "denial" on the freenode blog https://freenode.net/news/spam-shake Why does this blog post mention "10.2 million" THREE times?
bga57 has quit [Quit: Leaving.]
<basic`24> Christel just posted this "denial" on the freenode blog https://freenode.net/news/spam-shake Why does this blog post mention "10.2 million" THREE times?
bga57 has joined #jruby
<Jguy> Christel just posted this "denial" on the freenode blog https://freenode.net/news/spam-shake Why does this blog post mention "10.2 million" THREE times?
rdubya has quit [Ping timeout: 256 seconds]
rdubya has joined #jruby
shellac_ is now known as shellac
<GitHub113> [jruby] mejackreed opened pull request #5276: Modifies underlying logic of slice_when / chunk_while to handle (master...fix-slice_when) https://git.io/fNDWV
<Cork18> Christel just posted this "denial" on the freenode blog https://freenode.net/news/spam-shake Why does this blog post mention "10.2 million" THREE times?
nirvdrum has quit [Changing host]
nirvdrum has joined #jruby
rdubya has quit [Ping timeout: 240 seconds]
<GitHub84> [jruby] ahorek opened pull request #5277: fix duplicated file encoding (master...fileenc_bash) https://git.io/fNDaT
Caerus has quit [Ping timeout: 260 seconds]
shellac has quit [Ping timeout: 265 seconds]
Caerus has joined #jruby
xardion has quit [Remote host closed the connection]
<GitHub122> [jruby] ChrisBr opened pull request #5278: Refactor and fix allocFirst with buckets for RubyHash (master...refactoring/hash) https://git.io/fNDPt
<iw00t9> Christel just posted this "denial" on the freenode blog https://freenode.net/news/spam-shake Why does this blog post mention "10.2 million" THREE times?
<iw00t9> This blog is essentially an ad for the Handshake ICO scam with a one-line "denial" of involvement mixed in there. It's obviously very unethical of Christel to not mention her own involvement in the scam which the blog post promotes.
xardion has joined #jruby
<madduck10> Christel just posted this "denial" on the freenode blog https://freenode.net/news/spam-shake Why does this blog post mention "10.2 million" THREE times?
<headius> ChrisBr: hi there
<headius> so yeah all the cases I'm interested in are going to be known keys
<headius> most kwargs calls are done with the literal syntax, and the ones passing around an opaque hash I don't care much about anyway because they're usually very generic code
<headius> so given a literal call with foo:, bar:, baz: we would ideally create the lightest-possible hash for carrying them
<headius> meanwhile I will also be working on just passing them on the JVM stack but we'll always have places that falls down and a Hash has to carry them
<headius> I also experimented with having a dedicated per-thread kwargs hash that we clear and repopulate...that eliminates allocation entirely but it defeats some other optimizations because we're using a shared structure
<dysfigured10> Christel just posted this "denial" on the freenode blog https://freenode.net/news/spam-shake Why does this blog post mention "10.2 million" THREE times?
<MetaNova25> Christel just posted this "denial" on the freenode blog https://freenode.net/news/spam-shake Why does this blog post mention "10.2 million" THREE times?
<MetaNova25> This blog is essentially an ad for the Handshake ICO scam with a one-line "denial" of involvement mixed in there. It's obviously very unethical of Christel to not mention her own involvement in the scam which the blog post promotes.
atm1sk has joined #jruby
<atm1sk> hi all, i have been trying to get a clear answer on how to clean up JVM threads that nailgun server creates, is it even possible? is the only appropriate use of the nailgun server to fire up , run your jruby scripts and shut it down?
<mancha29> Christel just posted this "denial" on the freenode blog https://freenode.net/news/spam-shake Why does this blog post mention "10.2 million" THREE times?
<headius> @lopex if you can explain the $~ breakage I'll fix it
<headius> atm1sk: unfortunately that is a limitation of using Nailgun
<headius> I would suggest you spend your time looking at a Drip-style setup, where the background JVM is only used once
subbu is now known as subbu|away
<headius> you can have it pre-boot JRuby at a minimum, and possibly parts of your app like spinning up Rails itself
rdubya has joined #jruby
headius is now known as JRubyGithub
JRubyGithub is now known as headius
<atm1sk> headius: i am trying to pull some jmx stats out of cassandra without starting 2-4 JVMs for each script , nailgun just seems to keep growing and growing in threads no matter what type of params I pass it , be it java options or jruby options
<atm1sk> its is extremely fast but the thread count is a concern
<headius> atm1sk: are those threads that the JRuby app is starting or Cassandra?
<headius> there may be a graceful way to shut those threads down
<atm1sk> the jruby --ng-server
<atm1sk> last night it launched ~1500 java threads
<atm1sk> from having my monitoring system poll with jruby every minute
<atm1sk> jruby --ng-server -J-Djruby.thread.pooling=true -J-Djruby.thread.pool.max=8 -J-XX:+UseConcMarkSweepGC -J-XX:+UseParNewGC -J-Xss256k -J-Xmx64m -J-Dthread.pool.ttl=5
<atm1sk> is how I am launching it
<headius> you can get a dump of those threads by using jstack tool
<headius> thread pooling doesn't really do anything in JRuby 9+
<atm1sk> this is an el6 instance w/ jruby 1.7
<headius> ok
<headius> I'd say run a couple times and then get a jstack we can look at
<headius> if they're Ruby threads then there's cleanup that's not happening in Ruby
<atm1sk> do i have to end my script w/ some special exit?
<headius> if they're Cassandra threads then perhaps there's some shutdown process for Cassandra you could call
<headius> maybe?
<atm1sk> i have been reading the nailgun source and i can't find any special code it looks for
<headius> when the "main" script exits JRuby calls its own shutdown process, which at least closes streams and things (but does not forcibly kill threads)
<headius> yeah nailgun is pretty simple
<headius> but we provide a "NailMain" class that wraps the execution of JRuby...that could be made smarter to clean up threads, maybe
<atm1sk> from what i am reading though , and looking at previous logs of this channel, others have had issues with threads overrunning their system w/ nailgun
<headius> yes
<atm1sk> drip does seem better
<lopex> headius: reverted breaking commit for now, but it's was path with a good direction
<lopex> headius: all because MatchData.regexp and MatchData.pattern bifurcation
<lopex> headius: they were introduced so if the match doesnt escape, no need to create core objects
<lopex> headius: there's many unnecessary checks now once so many optz were removed
<headius> ok I understand
<headius> the problem is that the use of $~ is so buried andmixed into the rest of regexp logic
<headius> it's really hard to keep the sharing clean without having two paths for everything
<lopex> headius: pushed more reverted plus a named_captures fix
<lopex> headius: "l".scan("l"){$~.named_captures} was broken on 9.2
<lopex> headius: we need to remove that dualism from there
<headius> yeah overzealous removing $~ use from some paths
<lopex> no, just RubyMatchData.pattern can be null
<lopex> headius: also removed that useCount for now
<atm1sk> headius: looks like i solved my problem , due to leaving my JMX::MBean.establish_connection object open the threads kept piling on , giving it .remove_connection solved the issue
<atm1sk> i underestimated the persistence of the nail aspect
<ChrisBr> headius: ok, just let me know what you have in mind or create issues and I can look into it
<ChrisBr> btw: I saw now a few times that PHASE='-Prake -Dtask=spec:regression' times out, was this already the case before or could be introduced by the hash?
subbu|away is now known as subbu
drbobbeaty has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
<enebo> atm1sk: have you thought about just making a separate jruby process and periodically querying without shutting down?
<enebo> atm1sk: we also have a jmx gem where you could make a little ruby loop server
<enebo> atm1sk: with gc tuning you can probably tune that heap way down as well
<enebo> (says this after you figured out the nailgun issue :) )
<headius> ChrisBr: I'm not sure if it was timing out before but it seems unlikely it's related to your work
<headius> atm1sk: ahh great!
<headius> yah this is a down side to nailgun but if you are cleaning things up appropriately it can work really well