This version (2017/05/27 13:44) is a draft.
Approvals: 0/1

[10:05:07] <LaSombra> Hello, I need a hand understanding a heap dump where uses more than 89% of the heap

[10:05:38] <LaSombra> contains a hashSet called closeHooks with more than 400,000 instances of java.util.HashMap$Node

[10:07:12] <LaSombra> What are these HashMap$Node instances that contain a$1 as key and a java.lang.Object as the value?

[10:18:32] <_purplefox> temporalfox: pmlopes cescoffier: hi guys - i am trying to setup my new laptop here and get openvpn to work with the rht vpn. there is something on the red Hat intranet about how to do this. any chance you could send me the content as i can't get on the intranet?

[10:19:30] <cescoffier> _purplefox: Hi, is it on mojo ?

[10:21:30] <cescoffier> _purplefox: I've found a page about: “OpenVPN Setup for RHEL/Fedora”

[10:27:20] <cescoffier> _purplefox: sent by mail

[10:35:36] <_purplefox> thanks

[11:54:53] <_purplefox> cescoffier: pmlopes: temporalfox: yay, finally got my new laptop setup :)

[11:55:55] <cescoffier> :-)

[11:56:07] <temporalfox> cool

[12:00:57] <_purplefox> no vpn yet though, as they still haven't sent me a replacement token :(

[12:01:04] <_purplefox> and the temp one has expired

[12:58:48] *** ChanServ sets mode: +o purplefox

[13:26:25] <cescoffier> purplefox: I think you can ask for a new temp one

[13:28:06] <purplefox> cescoffier: yeah i have. they only last 5 days though

[13:28:32] <cescoffier> hum 5 days…. this is rather short

[13:29:01] <cescoffier> BTW, I've made some triage in the issue and PR this morning

[13:29:13] <cescoffier> moving to 3.2.0 non ready stuff

[13:29:28] <cescoffier> and review some of the PR on core (from the community)

[14:37:53] <purplefox> cescoffier: hi clement

[14:38:02] <cescoffier> hi purplefox

[14:38:11] <purplefox> cescoffier: i just merged the redeployment, and have run the test suite locally, and get some failures

[14:38:31] <purplefox> Tests in error:

[14:38:31] <purplefox> RedeployTest.testRedeployment:102→CommandTestBase.waitUntil:99→CommandTestBase.waitUntil:115 [unknown:raquo] IllegalState

[14:38:31] <purplefox> RedeployTest.testStartingApplicationInRedeployMode:70→CommandTestBase.waitUntil:99→CommandTestBase.waitUntil:115 [unknown:raquo] IllegalState

[14:38:31] <purplefox> RedeployTest.testStartingApplicationInRedeployModeWithCluster:86→CommandTestBase.waitUntil:99→CommandTestBase.waitUntil:115 [unknown:raquo] IllegalState

[14:38:33] <purplefox> WatcherTest.testFileAdditionAndModificationInDirectory:169→CommandTestBase.waitUntil:99→CommandTestBase.waitUntil:115 [unknown:raquo] IllegalState

[14:38:35] <cescoffier> in the redeployment tests ?

[14:38:38] <purplefox> yes

[14:38:58] <purplefox> this is on linux

[14:39:55] <cescoffier> is your port 8080 free ?

[14:40:34] <purplefox> yes, i think so

[14:40:56] <cescoffier> wil ltry to reproduce it

[14:41:38] <purplefox> aha:

[14:41:39] <purplefox> Cannot register current directory into the watcher service

[14:41:39] <purplefox> User limit of inotify watches reached

[14:41:39] <purplefox> at sun.nio.fs.LinuxWatchService$Poller.implRegister(

[14:41:39] <purplefox> at sun.nio.fs.AbstractPoller.processRequests(

[14:41:39] <purplefox> at sun.nio.fs.LinuxWatchService$

[14:41:41] <purplefox> at

[14:41:48] <purplefox> ulimit issue

[14:42:11] <purplefox> does the test watch a lot of stuff?

[14:42:31] <cescoffier> well, yes, it is the tricky case here

[14:42:38] <cescoffier> it watch all the content of your directory

[14:43:03] <purplefox> so only test files?

[14:43:08] <purplefox> text

[14:43:26] <cescoffier> yes, but the watcher service is watching everything, the matching is made afterwards

[14:43:50] <purplefox> arg, this is another thing i hate about watcher

[14:44:04] <cescoffier> I didn't check this, for sure

[14:44:23] <purplefox> i think this is going to be a problem with users in dev, as projects may have many, many files

[14:44:32] <cescoffier> well, we can postponed it to 3.2, and get a home-made FAM

[14:44:33] <purplefox> and users won't want to have to change ulimit

[14:44:50] <cescoffier> they definitely should not change their ulimit for this

[14:45:18] <purplefox> it might be possible to use the old redeployer code quite easily

[14:45:30] <purplefox> that does all the recursion into subdirectories etc

[14:45:48] <purplefox> and it doesn't require opening lots of watches

[14:46:02] <purplefox> (it basically just polls the files every few seconds)

[14:46:50] <cescoffier> ok, will try to find the code. We can also adapt the FAM from commons-io

[14:47:01] <purplefox> FAM=?

[14:49:11] <purplefox>

[14:49:30] <cescoffier> ok

[14:49:38] <purplefox> It's pretty compact and works well

[14:49:38] <cescoffier> it should be easy to reuse as it is

[14:50:04] <purplefox> out of curiosity what does FAM stand for?

[14:50:10] <purplefox> file something?

[14:50:14] <cescoffier> oh, File Alteration Monitor

[14:50:22] <cescoffier> coined in the 60s :-)

[14:50:23] <purplefox> ah ok :)

[14:50:29] <purplefox> not a big fan of TLAs ;)

[14:50:31] <cescoffier> yes, always the same thing, again and again

[14:51:08] <cescoffier> IF I use the same branch, would it be ok ?

[14:52:40] <purplefox> do you mean, can you use the code from that branch?

[14:54:30] <cescoffier> no, you have merged the redeploy branch

[14:54:37] <cescoffier> so, I should probably use another one

[14:54:56] <cescoffier> (I cannot update the PR anymore I think)

[14:55:00] <purplefox> yeah, probably better

[14:57:57] <cescoffier> ok, you should have before tonight

[15:01:06] <purplefox> cool, thanks clement. no rush

[15:12:14] <cescoffier> purplefox: It's almost done, just need to make the scan period and grace period configurable

[15:12:35] <cescoffier> purplefox: the code looks much better right now…

[15:12:55] <purplefox> wow, that was quick!

[15:16:39] <cescoffier> well, as the “trigger” and “match” method are separated, it's just replacing the code, and calling these method again

[15:16:50] <cescoffier> I just want to test on windows, just to be sure

[15:18:07] <purplefox> one difference between OSes is that granularity of last modified time can change a lot (e.g. 1 second on some OSes, and 1 ms on others) so this can trip up tests if not careful

[15:22:55] <cescoffier> ah ah 1 ms….

[15:23:01] <cescoffier> on windows it's much more from what I see

[15:23:15] <cescoffier> it's basically impossible to get below 10 ms

[15:23:30] <cescoffier> oh, misread …

[15:24:01] <cescoffier> I saw the same issue with the watcher service.

[15:26:40] <cescoffier> pmlopes: I can remove “io.vertx.redis.RedisClient#create(io.vertx.core.Vertx,io.vertx.core.json.JsonObject) - replaced by io.vertx.redis.RedisClient#create(io.vertx.core.Vertx,io.vertx.redis.RedisOptions)” from the breaking changes, right ?

[15:33:35] <pmlopes> yes, it is not a breakage anymore

[15:34:39] <cescoffier> done, thanks

[17:24:49] <cescoffier> purplefox: here it is: