Differences

This shows you the differences between two versions of the page.

Link to this comparison view

irc:1449702000 [2017/05/27 13:44] (current)
Line 1: Line 1:
 +[08:45:31] *** ChanServ sets mode: +o temporalfox
 +
 +[08:49:47] *** ChanServ sets mode: +o temporalfox
 +
 +[10:45:42] <​aesteve>​ hi everyone :)
 +
 +[10:47:53] <​cescoffier>​ hi
 +
 +[11:17:04] <​temporalfox>​ hi
 +
 +[11:23:34] <​aesteve>​ finally I think I found an elegant solution to the problem I had yesterday
 +
 +[11:24:57] <​aesteve>​ service.someAsyncMethod 'some param',​ fail | { result -> ... }
 +
 +[11:25:06] <​aesteve>​ instead of the usual
 +
 +[11:25:36] <​aesteve>​ service.someAsyncMethod 'some param',​ { res -> if (res.failed()) context.fail(...) else ... }
 +
 +[11:47:38] *** ChanServ sets mode: +o temporalfox
 +
 +[12:29:18] <​nevenr>​ Hi, how to restrict NetServer to accept connection only from certain hosts?
 +
 +[12:54:42] <​AlexLehm>​ nevenr: i don't think there is an option to restrict that in the netserver, but you can close the connection in your handler probably
 +
 +[12:55:09] <​AlexLehm>​ something tcpwrapper allow/deny is not implemented I think
 +
 +[13:00:44] <​nevenr>​ Thanks AlexLehm, yes I already did it in server.connectHandler but just want to check is there are some better way ...
 +
 +[13:24:49] <​aesteve>​ temporalfox:​ "​Buffer is not legal for use for a parameter in proxy"
 +
 +[13:25:08] <​aesteve>​ what's should I "​translate"​ the Buffer to ?
 +
 +[13:25:34] <​temporalfox>​ it could be
 +
 +[13:25:39] <​temporalfox>​ json
 +
 +[13:25:43] <​temporalfox>​ ?
 +
 +[13:25:59] <​aesteve>​ it's a binary frame from a socket :\
 +
 +[13:27:19] <​AlexLehm>​ nevenr: if this is supported by netty it might be worthwhile to implement in vertx as well
 +
 +[13:28:28] <​temporalfox>​ yes but now it would be very too latish
 +
 +[13:28:41] <​AlexLehm>​ aesteve: if you have a json object with { data: Buffer } it should work via base64 i think
 +
 +[13:29:27] <​aesteve>​ thx AlexLehm I'll give it a try
 +
 +[13:43:00] <​aesteve>​ mmh temporalfox I have an issue with proxygen
 +
 +[13:43:12] <​temporalfox>​ yes that was my idea
 +
 +[13:43:21] <​temporalfox>​ to wrap it in a jsonobject
 +
 +[13:43:21] <​temporalfox>​ that does N64
 +
 +[13:43:23] <​temporalfox>​ B64
 +
 +[13:43:25] <​temporalfox>​ what is the prb ?
 +
 +[13:43:41] <​aesteve>​ if the constructor that takes JsonObject as parameter throws an exception, the generated code doesn'​t compile
 +
 +[13:43:50] <​aesteve>​ (declares an exception)
 +
 +[13:49:00] <​temporalfox>​ which one ?
 +
 +[13:49:06] <​temporalfox>​ I don't understand
 +
 +[13:49:21] <​temporalfox>​ ah we don't support throws Excdption in codegen
 +
 +[13:49:25] <​temporalfox>​ you shwold throw a runtime exception
 +
 +[13:50:51] <​aesteve>​ ok
 +
 +[13:51:15] <​aesteve>​ this constructor was here before the object was a DataObject
 +
 +[13:51:38] <​temporalfox>​ what are you refering to ?
 +
 +[13:51:42] <​aesteve>​ I'll refactor the code to use a factory and keep the constructor only for ProxyGen purposes
 +
 +[13:52:23] <​aesteve>​ I had a class in some project, which had a constructor that takes JsonObject as parameter and throws an exception
 +
 +[13:52:39] <​aesteve>​ now I'm "​translating"​ the class to make it a DataObject class
 +
 +[13:52:49] <​aesteve>​ but nvm I'll change the code
 +
 +[13:55:37] <​temporalfox>​ but we don't support constructors in codegen
 +
 +[13:56:03] <​temporalfox>​ we use static interface methods
 +
 +[13:56:27] <​aesteve>​ ? it told me I had to create a constructor(JsonObject) to be @DataObject compliant
 +
 +[13:56:50] <​aesteve>​ and a toJson() method, too, and a no-arg constructor
 +
 +[13:58:00] <​temporalfox>​ ahhhh
 +
 +[13:58:02] <​temporalfox>​ for dataobject yes
 +
 +[13:58:06] <​temporalfox>​ you need that indeed
 +
 +[13:58:21] <​temporalfox>​ also now you can code generate dataobject / json converter
 +
 +[13:58:28] <​temporalfox>​ that's handy if you have a complex dataobject
 +
 +[13:58:36] <​temporalfox>​ it also generates the tojson
 +
 +[13:58:44] <​aesteve>​ "Data object com.mycompany.myproject.MyClass class does not have a constructor MyClass(JsonObject)"​
 +
 +[13:58:54] <​aesteve>​ ah ok
 +
 +[13:59:06] <​aesteve>​ it's a very simple object :) np
 +
 +[14:09:21] <​temporalfox>​ ah you wrap
 +
 +[14:09:26] <​temporalfox>​ hum
 +
 +[14:58:59] <​cescoffier>​ tsegismont : are you around ?
 +
 +[14:59:06] <​tsegismont>​ cescoffier, yes
 +
 +[14:59:29] <​cescoffier>​ tsegismont : I've made a couple of commit to the hawkular metrics to integrate it to the vert.x stack and web site
 +
 +[14:59:46] <​cescoffier>​ tsegismont : nothing "​functional",​ just to be a "​nice"​ vert.x citizen ;-)
 +
 +[15:00:03] <​cescoffier>​ tsegismont : the documentation is now generated in java, groovy, js, and ruby
 +
 +[15:00:17] <​cescoffier>​ tsegismont : and the examples are in another packaged (to not appear in the javadoc)
 +
 +[15:01:43] <​tsegismont>​ cescoffier, ok thanks. As for me I'm looking at the CI issues right now
 +
 +[15:01:56] <​tsegismont>​ Looks like a timing issue
 +
 +[15:02:14] <​cescoffier>​ tsegismont : yes, but is it coming from the test, from vert.x or from hawkular....
 +
 +[15:02:29] <​tsegismont>​ I believe it's from the test
 +
 +[15:02:30] <​cescoffier>​ tsegismont : I think I'm done, just need to add the links on the documentation
 +
 +[15:02:53] <​cescoffier>​ tsegismont : do you think the module is "​ready"​ or should it be stamped as "​technical preview"​ ?
 +
 +[15:07:40] <​tsegismont>​ I believe it is "​ready"​ to be used
 +
 +[15:08:31] <​aesteve>​ cescoffier: I can't find the link where all vertx "​-D"​ options are ? I know I've seen it but can't remember where
 +
 +[15:08:53] <​cescoffier>​ aesteve if you find it, I would like to have it too ;-)
 +
 +[15:09:06] <​cescoffier>​ aesteve : I've not sure we have it
 +
 +[15:09:25] <​aesteve>​ ok, I often dream of things like this, there must be something wrong with me :D
 +
 +[15:09:59] <​aesteve>​ any idea how to start Vert.x in cluster mode from "java -jar" then ?
 +
 +[15:10:03] <​cescoffier>​ aesteve : we have an open issue to come up with something like this, should be part of 3.2
 +
 +[15:10:14] <​cescoffier>​ java -jar my-fat-jar -cluster
 +
 +[15:10:21] <​aesteve>​ thx !
 +
 +[15:10:33] <​cescoffier>​ this one id documented in the Launcher
 +
 +[15:11:12] <​cescoffier>​ aesteve : http://​vertx.io/​docs/​vertx-core/​java/#​_executing_a_vert_x_application_packaged_as_a_fat_jar
 +
 +[15:11:37] <​aesteve>​ thanks a lot I was missing this
 +
 +[15:19:15] <​cescoffier>​ aesteve : you can do java -jar foo.jar --help
 +
 +[15:19:25] <​cescoffier>​ or java -jar foo.jar run --help
 +
 +[15:19:39] <​aesteve>​ good to know !
 +
 +[15:20:29] <​cescoffier>​ aesteve : and because you like the hardcore way, you can implement your own command ;-)
 +
 +[15:20:42] <​cescoffier>​ aesteve java -jar foo.jar arnaud
 +
 +[15:20:56] <​cescoffier>​ aesteve : i let you decide what it should do ;-)
 +
 +[15:21:26] <​aesteve>​ Awesome ! I've always been megalomaniac
 +
 +[15:23:29] <​cescoffier>​ tsegismont : hawkular is on the web site :-) (not published yet, it will be after the release)
 +
 +[15:24:19] <​tsegismont>​ cescoffier, awesome!
 +
 +[15:33:32] <​aesteve>​ cescoffier: temporalfox if you have any idea regarding the exception handling stuff in the discussion group, I think it's an interesting question
 +
 +[15:33:54] <​aesteve>​ (a question everyone'​s gonna ask himself at some point)
 +
 +[15:34:11] <​temporalfox>​ which one is it ?
 +
 +[15:34:21] <​temporalfox>​ in service proxies ?
 +
 +[15:34:22] <​aesteve>​ https://​groups.google.com/​forum/#​!topic/​vertx/​ldZirqpiiOY
 +
 +[15:34:48] <​temporalfox>​ Handler not declaring throwable ?
 +
 +[15:35:02] <​aesteve>​ I think it's even more than that
 +
 +[15:35:31] <​aesteve>​ the only way to "catch all" would be an ErrorHandler like in vertx-web
 +
 +[15:35:47] <​temporalfox>​ but that would apply to ?
 +
 +[15:36:01] <​aesteve>​ Vertx.vertx() I guess
 +
 +[15:36:29] <​aesteve>​ no matter if the error comes from vertx.fileSystem() or a reply to a reply to a reply over the event-bus
 +
 +[15:36:38] <​aesteve>​ i think that's what he means by "​bubble up"
 +
 +[15:36:58] <​aesteve>​ a single entry point to catch every error
 +
 +[15:37:29] <​temporalfox>​ ok
 +
 +[15:37:33] <​temporalfox>​ I have created an issue
 +
 +[15:37:38] <​temporalfox>​ that would be like that a bit
 +
 +[15:37:53] <​temporalfox>​ https://​github.com/​eclipse/​vert.x/​issues/​1216
 +
 +[15:38:03] <​temporalfox>​ that allows to do things at the event loop level
 +
 +[15:38:21] <​temporalfox>​ the idea is to catch exception
 +
 +[15:38:23] <​temporalfox>​ in handlers
 +
 +[15:38:32] <​temporalfox>​ that could be useful in vertx unit
 +
 +[15:39:44] <​aesteve>​ ok I see
 +
 +[15:42:49] <​temporalfox>​ I'm wondering if that's not a bit related
 +
 +[15:45:08] <​aesteve>​ in fact, I'm not sure the event-loop would be enough
 +
 +[15:45:56] <​aesteve>​ idk actually. I understand the problem, but not really the solution
 +
 +[17:09:01] <​temporalfox>​ need to look at https://​getsentry.com/​welcome/​
 +
 +[17:32:21] <​aesteve>​ i know sentry I use it for front-end stuff
 +
 +[17:33:09] <​aesteve>​ I hope the pb can be clarified
 +
 +[17:33:53] <​aesteve>​ because to me it looks like : "is there any way to '​hook'​ on Vert.x so that Vert.x notifies me of any exception that during its lifecycle"​
 +
 +[17:34:10] <​aesteve>​ and if it's possible it's absolutely awesome in terms of monitoring
 +
 +[17:34:37] <​aesteve>​ because we could plug a lot of different "error handlers"​ implementation,​ sentry, ELK, ...
 +
 +[17:35:34] <​aesteve>​ for instance you could choose to send to sentry only the stacktraces created by the block-checker,​ and get sentry email alerts when it happens
 +
 +[17:57:15] <​aesteve>​ temporalfox:​ tell me if you want me to explain in details what I've in mind, np :)