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

[06:07:54] <joson> vertx-tcp-eventbus-bridge.

[09:28:33] <joson> cescoffier: will vertx-tcp-eventbus-bridge submit the result to the given replyAddress? Thx.

[09:29:01] <cescoffier> the replyAddress is generated (UUID)

[09:29:13] <cescoffier> do you want to set it to a specific value ?

[09:31:56] <joson> yea, I have a tcp server to handle the result. Then I had registered an address to TcpEventBusBridge for it.

[09:32:59] <cescoffier> I don't think it's possible. Can you ask on the google group, maybe Paulo has implemented this

[09:33:37] <cescoffier> Something you can do if yo set the address in a specific header and use this header to “reply”, it would not be a reply handler, but a one-time consumer

[09:41:36] <cescoffier> you would need also to have a timer to detect when the message is not sent in time

[09:42:45] <temporalfox> hi all!

[09:45:39] <joson> I've just read the source code in vertx-tcp-eventbus-bridge. I think it may be done if We modified the function FrameHelper.sendFrame?

[09:47:25] <joson> If a replyAddress is given, then don't invoke stream.write() but call eventbus.send().

[09:47:58] <joson> Could it work?

[10:10:52] <polyurethan> Hi, I have a question regarding the HttpClient. I try to build a performance test for an API. But sending 5000 requests (grouped by 20) results in “Too many open files”. Are there any pitfalls or known problems?

[10:14:18] <joson> You should reduce your system's socket limits

[10:14:47] <joson> The default limit may be 1024

[10:15:45] <polyurethan> You mean increase my ulimit? But why to I even hit the limit? I send 20 requests after 20 requests and so on.

[10:16:24] <cescoffier> joson : it may work, yes. Ping pmlopes

[10:16:51] <cescoffier> polyurethan : yes you need to increase the number of open files of your machine (ulimit)

[10:17:42] <pmlopes> yes, i've a local test with 20k sockets open on a raspberrypi and it is not a problem, so 5000 on a modest laptop should be trivial

[10:18:20] <pmlopes> ulimit -n 11000000

[10:18:51] <pmlopes> sysctl -w net.core.somaxconn=10000

[10:18:56] <pmlopes> sysctl -w net.ipv4.tcp_max_syn_backlog=10000

[10:18:57] <polyurethan> k, but why are there 5000 open sockets? I send only 20 request at “a time” and after that the next 20 requests.

[10:19:18] <pmlopes> probably because you don't close them

[10:20:03] <pmlopes> brb, need to find a power outlet baterry almost empty…

[10:20:43] <joson> cescoffier: Thx. I take a try.

[10:23:46] <polyurethan> Should I reuse the httpclient or close it after each request?

[10:30:38] <polyurethan> I thought I could create as many http clients as I wanted. E.g. in this example the client isn't closed

[10:56:51] <cescoffier> polyurethan clients must be closed

[10:59:59] <polyurethan> cescoffier ok, somehow obvious but the examples tell me something different. I just tried it with keep-alive false and my tests run successful. Where is the best place to close the client? handler and exceptionHandler?

[11:00:17] <cescoffier> when you are done with it

[11:04:23] <akanksha> how can we register for notifications to monitor for dead or alive nodes(vertx) in a clustered environment, assuming default cluster manager is hazelcast ?

[11:04:57] <cescoffier> akanksha : not directly, you would need to wrap the cluster manager for this

[11:06:50] <akanksha> cescoffier: can you point me to an example or some documentation which i can read and understand better

[11:07:12] <cescoffier> I don't think this is documented as it's really an edge case

[11:07:56] <cescoffier> so you would need to create a HazelcastClusterManager instance, then when you create Vert.x set the cluster manager to your own implementation delegating to the cluster manager instance you have created. Then here you can register a node listener

[11:07:59] <akanksha> ok..

[11:09:11] <cescoffier> hum there may be another solution

[11:09:45] <cescoffier> if you are tied to hazelcast, you can retrieve the cluster manager, cast it to HZClusterManager and retrieve the hazelcast instance

[11:09:56] <cescoffier> then there is a way to register a memberlistener

[11:10:59] <akanksha> great ! i will try out the second way

[11:39:45] <joson> maybe metrics module help for this?

[13:53:46] <s0x> hey guys, has anyone successfully secured a rest service using keycloak using bearer tokens?

[14:00:05] <cescoffi_> s0x : Yes think so, ping pmlopes

[14:00:15] <cescoffi_> there is a video on our blog about this, no ?

[14:03:41] <pmlopes> @s0x if you follow the youtube video and the example code the missing part is that you need to store the user object or pass it around. That is your token from keycloak

[14:06:06] <s0x> pmlopes: do you mean this one:

[14:06:19] <pmlopes> yes

[14:09:23] <s0x> hmm, havent found any example code though :-/

[14:10:34] <s0x> furthermore i dont have all these methods you use such as createKeycloak

[14:11:56] <pmlopes> that is currently on git 3.3.0-SNAPSHOT it will be available once the release is done

[14:14:05] <s0x> well, so still no solution for 3.2.1 :-/

[14:15:02] <pmlopes> no, if you can't wait then you should do all the oauth2 handshake with keycloak and get the token it is not that complicated if you look at the git repo

[14:19:18] <s0x> pmlopes: Thank you for that! Even though I was hoping to get a different answer ;)

[14:19:47] <pmlopes> sorry about that, but it will be there soon :)