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

[09:36:19] <aesteve> hello everyone

[09:36:39] <aesteve> purplefox: I have a question regarding milestones & the final release

[09:36:56] <purplefox> aesteve: sure.. go ahead :)

[09:37:05] <aesteve> would it be possible to have a hint on GitHub issues on the milestone you'd like it to be implemented

[09:37:32] <aesteve> for example I ran into this issue in Apex : https://github.com/vert-x3/vertx-apex/issues/4

[09:38:06] <aesteve> i found it very interesting, and might try to think about how to implement it, but it would never make it for the final release

[09:38:22] <aesteve> so I was wondering, which one of the Apex issues HAS to be in the final release

[09:44:15] <purplefox> the answer is: we don't know

[09:44:32] <purplefox> but don't get hung up about the “final release”, we are going to do releases after that :)

[09:44:55] <purplefox> we should aim to release every 8 weeks or less

[09:47:21] <aesteve> OK, so expect a (long) comment on this issue. I've been thinking about it

[10:25:45] <gigo1980> hi together is there a vertx3 java example for the http client available ? i can not find anything on the website

[10:27:01] <aesteve> http://vert-x3.github.io/docs/vertx-core/java/index.html#_creating_an_http_client

[10:32:35] <gigo1980> ohh thx

[10:34:45] <gigo1980> and is there a prefered json serializer/deserializer ? in the past i used gson

[10:39:14] <aesteve> I think Vert.x uses jackson

[10:43:14] <aesteve> for my own projects I use to work with Boon which seems to have good performances and the same API as jackson for serializer / deserializer (and support for annotations)

[10:46:56] <gigo1980> ahh great, i will try it

[10:46:58] <purplefox> gigo1980: you can use whatever you want, but Vert.x has its own JSonObject which uses Jackson

[10:47:23] <purplefox> http://vert-x3.github.io/docs/vertx-core/java/#_json

[10:47:48] <purplefox> temporal_: ping

[10:47:55] <temporal_> purplefox hello

[10:47:56] <purplefox> ah! i said ping. sorry

[10:48:05] <purplefox> tekacs: unping

[10:48:17] <gigo1980> and how can i read the response body of an httpclient request ?

[10:48:35] <temporal_> purplefox no problem

[10:48:46] <gigo1980> jes i see that it has own jsonobject

[10:49:21] <gigo1980> but i am a friend of ORM

[10:49:37] <purplefox> gigo1980: it's in the docs. i suggest reading the chapter ;) http://vert-x3.github.io/docs/vertx-core/java/index.html#_handling_http_responses

[10:51:02] <gigo1980> damn. i was on this article. i am realy blind

[10:51:34] <purplefox> temporal_: after my recent changes to jdbc-client, the rx generation doesn't seem to generate the correct getConnection method

[10:51:48] <temporal_> purplefox ok, I'll investigate it

[10:51:52] <temporal_> (or someone else)

[10:52:02] <purplefox> temporal_: there should be a getConnectionObservable method but there is not

[10:52:19] <temporal_> maybe it does not follow the right pattern

[10:52:20] <purplefox> there is just the method that takes the handler

[10:52:32] <temporal_> I mean it is not recognized

[10:52:33] <purplefox> i don't think i even changed that method

[10:52:44] <temporal_> ok

[10:53:00] <purplefox> this means the rx examples in the examples repo are broken

[10:53:15] <temporal_> I see

[10:53:21] <temporal_> let me finish this ruby thing :-)

[10:53:37] <temporal_> I need to release a new vertx-ext-parent for ruby

[10:53:44] <temporal_> and the sync in central takes some time

[10:53:55] <temporal_> so I would like to get it done as soon as I can possibly do it

[10:54:22] <purplefox> temporal_: can you also review the outstanding PR on vertx-core. it should only take 5 mins as its basically the same changes as you already reviewed

[10:54:33] <temporal_> ok

[10:54:38] <temporal_> very soon

[10:54:41] <purplefox> thanks

[11:04:33] <purplefox> temporal_: i've updated the examples for now not use the connectObservable method so they compile

[11:51:44] <gigo1980> how can i set basic credentials on an httpclient ?

[11:55:20] <purplefox> ping temporal_

[11:55:30] <purplefox> dammit! i used ping again. i feel dirty ;)

[11:56:27] <purplefox> temporal_: question…. is there any possibility that we can release just the vertx-reactive-streams milestone5 today (i.e. now-ish)? The reason I ask is that typesafe is doing an announcement of project versions that use reactive-streams 1.0-final and we would like to be in that announcement but it can't be a snapshot

[12:34:59] <gigo1980> does anyone make an http digest auth with the vetrx http client ?

[13:18:31] <subrootine> hello hello

[13:19:27] <subrootine> i'm trying to decide if vertx is a good choice for me, could anyone give me some pointers?

[13:23:03] <AlexLehm> gigo1980: i don't think that is implement directly out of the box

[13:23:17] <purplefox> subrootine: this is the new vert.x 3 stuff (WIP) - lots of information there http://vert-x3.github.io/

[13:23:40] <AlexLehm> i wrote a digest auth client for smtp, you may be able to adapt that

[13:25:39] <AlexLehm> purplefox: if you like we can a bit now (lunch hour here), otherwise this evening

[13:26:47] <AlexLehm> can “talk”

[13:29:01] <purplefox> AlexLehm: hi alex - i had a question on the mail-client

[13:29:17] <purplefox> AlexLehm: the connectionpool

[13:29:39] <purplefox> AlexLehm: currently if there is no usable connection it always creates a new one - is this by design?

[13:31:14] <AlexLehm> if there are no usable connection doesn't it have to create a new connection in any case?

[13:32:10] <AlexLehm> if it finds an idle connection that then turns out to be broken, it will not go through the rest of the pool, however I assume that happens rarely

[13:32:38] <AlexLehm> most of the time, the server will close the connection when a timeout happens, which will remove the connection from the pool directly

[13:33:46] <purplefox> what you have implemented is an unbounded pool

[13:34:16] <purplefox> contrast this with a bounded pool, e.g. the one in the http client which will never have more than N connectionsd

[13:34:30] <purplefox> connection requests where no connection is available can be queued

[13:36:10] <AlexLehm> it will wait if there are no connections available for the next open slot, however if the connection is idle and it turns out the broken, it will go 1 over the limit

[13:36:47] <AlexLehm> and the broken connection will be closed async so it will be at the limit a little time later

[13:37:06] <purplefox> ok forget broken connections for a minute…

[13:37:21] <purplefox> can you point me to the code that “waits” ?

[13:38:12] <purplefox> in connectionpool.getConnection I just see it creating a new connection straight away if none is available. no waiting.

[13:42:28] <purplefox> brb

[13:42:56] <AlexLehm> github is down, i will look up the code when it works again

[13:43:03] <AlexLehm> got a unicorn page

[13:50:09] <purplefox> AlexLehm: here is connectionpool.java http://pastebin.com/KaSfRrSE

[13:53:06] <AlexLehm> is that from the wip branch? I started implementing the connection pool after the m4 version from Julien was tagged

[13:53:41] <AlexLehm> the old one was unbound

[13:54:53] <purplefox> AlexLehm: this is the current master

[13:55:15] <AlexLehm> yes, that doesn't contain the connection that implements a bound yet

[13:56:24] <purplefox> ok

[13:56:33] <purplefox> do you have an ETA when the wip will be ready?

[13:57:06] <purplefox> it supposed to be in milestone 5 which is released tomorrow

[13:57:06] <purplefox> https://github.com/vert-x3/wiki/wiki/Vert.x-Roadmap

[13:57:11] <AlexLehm> i have opened the pr a few days ago

[13:57:44] <AlexLehm> https://groups.google.com/forum/#!topic/vertx-dev/7D_YzOGUBn8

[13:58:14] <purplefox> ok sorry, i missed that :(

[13:58:20] <purplefox> i will take a look, thanks

[13:58:32] <AlexLehm> yes please

[14:01:40] <AlexLehm> ok, github is working again, the bound code is here https://github.com/vert-x3/vertx-mail-client/blob/wip/src/main/java/io/vertx/ext/mail/impl/ConnectionManager.java#L83

[14:06:54] <purplefox> AlexLehm: ok I will take a proper look later, i need to do something urgently now unfortunately…

[14:07:41] <temporal_> purplefox so we need to have also all the other released

[14:07:54] <temporal_> that it depends on

[14:08:04] <purplefox> temporal_: ah you're back :)

[14:08:11] <temporal_> yeah big lunch time today :-)

[14:08:19] <purplefox> temporal_: kind of an urgent request…. did you see my last msg to you?

[14:08:28] <temporal_> purplefox about reactive-streams ?

[14:08:30] <purplefox> yes

[14:08:44] <AlexLehm> ok, got to go, i will come back into the irc this evening

[14:08:48] <purplefox> they will be announcing in the next hour or two

[14:08:56] <temporal_> ok

[14:09:00] <temporal_> perhaps we can make a milestone5 with only vert.x and reactive-streams

[14:09:04] <temporal_> milestone5

[14:09:09] <temporal_> leave the rest

[14:09:11] <purplefox> it doesn't matter what its called

[14:09:15] <temporal_> ok

[14:09:21] <purplefox> call it milestone-5a maybe?

[14:09:30] <temporal_> give me a name and a list of modules

[14:09:33] <temporal_> to release

[14:09:39] <purplefox> and we can just make it depend on vertx-core milestone 4

[14:09:39] <temporal_> the lowest the easiest

[14:09:43] <temporal_> ok

[14:09:44] <purplefox> so we don't need to release anything else

[14:09:45] <temporal_> ah

[14:09:54] <temporal_> can you try to make it work with milestone4 ?

[14:09:58] <purplefox> as long as we have something that is not a snapshot that's all that matters

[14:10:00] <temporal_> and check there are no issues

[14:10:21] <temporal_> if we only release this artifact I think there are no issues at all

[14:10:29] <temporal_> but it will take some time to sync with central

[14:10:45] <purplefox> ok but i think you are the only one who can release as i don't have my environment setup with the keys

[14:10:59] <temporal_> ok

[14:11:05] <temporal_> what name should I use ?

[14:11:13] <purplefox> 5a?

[14:11:16] <temporal_> ok

[14:11:31] <purplefox> and we can just hardcode the deps, i.e. delete the dependency management bits

[14:11:33] <temporal_> I hope there are no issues with using milestone4 of vert.x

[14:11:36] <temporal_> yes sure

[14:11:40] <temporal_> no problem don't worry

[14:11:50] <purplefox> well… try and run the testsuite, then we know if there are issues ;)

[14:12:18] <temporal_> yes

[14:14:54] <temporal_> I updated to reactive-streams 1.0.0 a couple of days ago

[14:15:00] <temporal_> I believe this is the version to use right ?

[14:20:48] <temporal_> it has been released

[14:21:33] <purplefox> yes

[14:40:24] <purplefox> temporal_: julien, when you're done can you ping me so I can tell Viktor?

[14:40:55] <temporal_> it depends now on sonatype synchronziation with maven central

[14:41:05] <temporal_> so you can check sometimes maven central to see if it's there

[14:42:10] <purplefox> don't worry about the sync

[14:42:19] <purplefox> as long as its pushed :)

[14:42:28] <temporal_> it is

[14:42:34] <purplefox> ok great. thanks :)

[14:59:04] <temporal_> purplefox quick check : when vertx.close is invoked and unregister an event bus consumer , I think the consumer endHandler should be invoked with the context it was registered for and not the current context closing vert.x . Do you agree ?

[15:00:06] <purplefox> i agree

[15:01:35] <temporal_> ok I will fix that quickly because it makes some test in vertx-rx failing

[15:14:38] <gigo1980> how could i transform with the jsonObject from vertrx a JSON DATE to a JAVA Data

[15:14:40] <gigo1980> Date

[15:15:00] <gigo1980> is there a still a methode ?

[15:22:05] <diega> hi devs! I just look the changes from service to client in the rabbitmq side and, as the start() name is not needed anymore, isn't be better to change it to something like connect()?

[15:23:10] <diega> if u want I can PR it, of course is extremely simple

[15:25:02] <aesteve> gigo1980: there's no getDate() method, you have to convert it manually

[15:25:16] <gigo1980> ok thx

[15:27:41] <purplefox> gigo1980: there's no such thing as a JSON date

[15:28:17] <purplefox> gigo1980: JSON only understands type string, number, booleam, null, object and array http://json.org/

[15:29:32] <aesteve> I think he means ISO-8601 date

[15:32:45] <gigo1980> yes i mean the ISO-8601 dateformat i hav solved it with an DateFormater in Java

[15:33:08] <purplefox> ok, but that has nothing to do with json :)

[15:33:24] <purplefox> json doesn't know anything about dates

[15:45:36] <subrootine> purplefox: thank you (from a while ago), i've skimmed the documentation, but i'm sort of new to reactive concepts in general, it seems the types of messages i can pass around are restricted (primitive types, json)

[15:46:48] <subrootine> is the ideia to use worker modules for heavier “plumbing”?

[15:47:18] <subrootine> like data manipulation, for instance

[15:49:19] <subrootine> or anything not io related

[16:56:55] <purplefox> hi subrootine - in V3 you can actually pass any object you want on the event bus

[16:57:38] <purplefox> yes, you don't want to do anything on an event loop that might “block it” as that would make the system unresponsive

[16:58:12] <purplefox> there's some info on that here http://vert-x3.github.io/docs/vertx-core/java/#golden_rule

[16:58:35] <purplefox> new (WIP) website is here, btw: http://vert-x3.github.io/

[16:59:09] <purplefox> in v3 you can use either worker verticles for “blocking” stuff, or vertx.executeBlocking

[17:01:11] <aesteve> btw purplefox as an example of some blocking stuff worker are eligible to, there are also the standard http libs (not vertx.createClient) maybe worth to mention

[17:01:30] <aesteve> like RSSReader.read(URL) or things like that

[17:01:47] <purplefox> true

[17:03:15] <aesteve> https://github.com/twitter/hbc too, http://facebook4j.org/en/index.html , …

[17:03:55] <aesteve> maybe just “doing something that involves a network round-trip” would cover it :)

[17:05:13] <temporalfox> purplefox I need a favor

[17:05:39] <temporalfox> purplefox can you remove the SqlConnection.groovy there https://github.com/vert-x3/vertx-sql-common/tree/master/src/main/groovy/io/vertx/groovy/ext/sql

[17:05:59] <temporalfox> I do have a file insensitive file system and I cant do it

[17:06:18] <temporalfox> same for https://github.com/vert-x3/vertx-sql-common/tree/master/src/main/generated/io/vertx/rxjava/ext/sql

[17:23:52] <subrootine> purplefox: i see, i missed the part about MessageCodec

[17:24:44] <subrootine> so transform can be just a method returning the same object, right?

[17:25:54] <subrootine> i'm assuming “a message is sent locally across the event bus” means within the same verticle

[17:34:44] <purplefox> temporalfox: sure, will do

[17:41:11] <purplefox> temporalfox: done

[17:41:32] <temporalfox> purplefox thanks

[17:41:55] <temporalfox> I'm in DLL hell

[17:42:02] <purplefox> ah, windoze?

[17:43:23] <purplefox> i was wondering what kind of crappy OS has case insensitive file names

[17:43:23] <temporalfox> jar hell :-)

[17:43:29] <temporalfox> [INFO] load error: jopenssl/load – java.lang.VerifyError: class org.bouncycastle.asn1.ASN1Primitive overrides final method equals.(Ljava/lang/Object;)Z

[17:43:34] <temporalfox> in auth-service

[17:43:43] <purplefox> wtf

[17:44:05] <purplefox> ha, why are persecuting yourself with windows?

[17:44:07] <temporalfox> incompt between old apache ds

[17:44:12] <temporalfox> no osx :-)

[17:44:19] <temporalfox> but jar hell is like dll hell sometimes

[17:44:29] <purplefox> osx has case insensitive file names?

[17:44:59] <temporalfox> you can chose when yo ucreate

[17:45:07] <temporalfox> the default is insensitive

[17:52:05] <temporalfox> I don't see an obvious solution now for this conflict between bouncycastle and apacheds old bc

[17:52:23] <temporalfox> the only workaround for now is to not generate ruby doc for this project

[17:52:29] <temporalfox> and investigate this later

[17:52:34] <jtruelove> yeah OSX default insensitive file names is a trip

[17:52:46] <temporalfox> and I think the actual way to make ruby doc is not optimal anyway

[17:52:51] <temporalfox> I mean it is clean

[17:52:57] <temporalfox> but has potential conflicts like this

[17:53:05] <temporalfox> anyway

[17:53:13] <temporalfox> the more lang we will integrate in vert.x

[17:53:20] <temporalfox> the more bloated build will become

[17:53:47] <temporalfox> for now skipping doc :-)

[17:54:17] <TheSteve0> purplefox: ping

[17:56:17] <purplefox> TheSteve0: Hello

[17:56:42] <TheSteve0> o what do you think is the most exciting new feature for *users* of vert.x 3

[17:56:56] <TheSteve0> purplefox: trying to think of what to pitch in the CFP

[17:56:56] <temporalfox> I'll try to shove ruby yard in vertx-ext-parent better later

[17:56:58] <purplefox> TheSteve0: there is lots of stuff, but i think apex probably

[17:57:14] <TheSteve0> how about Apex and Reactors - there seems to be a lot of buzz around that

[17:57:36] <purplefox> yes reactive is big right now

[17:57:40] <purplefox> might be good to mention that

[17:58:02] <purplefox> reactive microservices, blah blah

[17:58:16] <TheSteve0> purplefox: can you give me a 2 line summary of when a reactive pattern would show a lot of benefit. I want to think of a demo to match up with it. Apex and Reactive sounds good

[17:58:42] <purplefox> TheSteve0: temporalfox did a recent demo using reactive stuff and vert.x 3

[17:58:55] <TheSteve0> temporalfox: link?

[17:59:10] <temporalfox> TheSteve0 https://github.com/vietj/vertx-reactive-dashboard

[17:59:14] <TheSteve0> purplefox: JavaOne CFPs are due today

[17:59:42] <temporalfox> ah TheSteve0 I did not recognize you :-)

[18:00:08] <TheSteve0> hey Julien - did not recognize you with the handle

[18:00:08] <temporalfox> TheSteve0 we met last year, I'm also Marseille JUG leader

[18:00:17] <TheSteve0> temporalfox: yeah I remember

[18:00:58] <TheSteve0> purplefox: our format so well I proposed to do the same thing with the keycloak people as well

[18:20:22] <purplefox> TheSteve0: sounds good :)

[18:49:04] <temporalfox> purplefox refactorman in action

[18:49:45] <temporalfox> the purplefox's touch

[18:50:32] <purplefox> lol

[19:05:05] <jtruelove> is there any need for vertx-logback in vertx3 since the module stuff is gone

[19:14:58] <purplefox> AlexLehm: quick question - why would maxSockets be < 0 in the connection manager?

[19:40:49] <AlexLehm> maxsockets == 0 disables the limit and maxsocket <0 disables the connection pools

[19:40:53] <AlexLehm> or the other way around

[19:43:57] <AlexLehm> to be exact maxsockets == 0 enables the pool but disables the limit and maxsocket == -1 means that every connection is closed after use

[19:47:27] <temporalfox> purplefox it looks like there is a compilation issue in mysql/posgres driver : https://vertx.ci.cloudbees.com/view/vert.x-3/job/vert.x3-mysql-postgresql/18/console

[19:48:06] <purplefox> AlexLehm: hmmm

[19:48:11] <purplefox> doesn't seem right to mw

[19:48:54] <temporalfox> it gets the native event loop

[19:49:08] <temporalfox> I will try to monkey patch it to use the new event loop feature

[19:49:09] <temporalfox> :-)

[19:49:12] <temporalfox> pray

[19:50:18] * jtruelove bows head

[19:57:45] <purplefox> temporalfox: i think that CI build is using the old repository not the latest stuff

[19:57:58] <purplefox> Cloning repository https://github.com/vert-x3/vertx-mysql-postgresql-service

[19:58:03] <temporalfox> I will check

[19:58:04] <temporalfox> well

[19:58:06] <purplefox> its now called -client

[19:58:09] <temporalfox> I fixed the build locally

[19:58:11] <temporalfox> ah

[19:58:14] <temporalfox> so even though you change it

[19:58:18] <temporalfox> github will provide the good project

[19:58:23] <purplefox> maybe its cached or something

[19:58:25] <temporalfox> I thin they do some redirection

[19:58:36] <temporalfox> I've been able to push/pull today without changing my remotes

[19:58:56] <purplefox> but yeah, the scala code shouldn't be doing that anyway - it's using a private API

[19:59:00] <temporalfox> look

[19:59:00] <temporalfox> https://github.com/vert-x3/vertx-mysql-postgresql-client/commit/63286443fb615e846f10cf169d8d5fea27522d10

[19:59:18] <temporalfox> purplefox I fixed it, it wants the same loop than the current context

[19:59:27] <temporalfox> using indeed an Impl public api

[19:59:38] <temporalfox> I mean public method of an non public impl

[20:00:34] <temporalfox> I'll update the project anyway because it may not be supported for a long time

[20:03:17] <temporalfox> purplefox do you want also to rename vertx-auth-service to client ?

[20:03:24] <purplefox> not yet

[20:03:32] <temporalfox> ah yes there is this session stuff

[20:03:40] <purplefox> yes, that's all going to be refactored

[20:04:30] <temporalfox> :-)

[20:05:04] <temporalfox> I have to do my father duty and take care of my daughther, I should be back in an hour or so

[20:05:37] <temporalfox> I think what is missing now, is vertx-examples for ruby and integrating vertx-http-service-factory

[20:05:52] <temporalfox> also I would like to fix this apidoc for ruby issue

[20:06:15] <temporalfox> I've had a lead to try after discussing with jruby folks

[20:14:52] <purplefox> temporalfox: i think we should move the docs creation out of the individual projects into a different project

[20:14:58] <purplefox> coz it slows down everything

[20:33:37] <aesteve> purplefox: for the view layer of an end-end example : do you have a preferred solution among Angular / React / vanilla javascript ?

[21:00:38] <temporalfox> purplefox you can build using -DskipDocs the build

[21:00:44] <temporalfox> purplefox and it will not create the docs

[21:24:40] <AlexLehm> purplefox, i have added comments to the pr comments

[22:26:13] <D-Spair> Usering Vert.x 3, how can I tell a verticle to fail to load if the configuration is wrong? For example, I deploy a webserver verticle which requires SSL, but the SSL configuration options are wrong..

[22:26:39] <D-Spair> I want to send an event back to the verticle which deployed the webserver that there was an error.

[22:30:50] <temporalfox> D-Spair you can override start(Future<Void> startFuture) in java

[22:31:03] <temporalfox> and complete or fail the startFuture yourself

[22:31:14] <D-Spair> temporalfox: Doh! I know that and just forgot… Thanks for jogging my memory..

[22:31:32] <temporalfox> then the deploying code can have an Handler<AsyncResult>

[22:31:35] <temporalfox> and do something

[22:36:01] <jtruelove> then you'd do vertx.stop() or something on a negative result right?

[22:36:19] <D-Spair> jtruelove: Only if you want the entire application to stop..

[22:36:25] <jtruelove> right

[22:36:30] <D-Spair> Or more accurately, the entire node.

[22:36:42] <jtruelove> which if SSL isn't right would probably be the case

[22:55:23] <D-Spair> Hmmm . . . vertx.close() does not seem to be working…

[22:56:13] <D-Spair> The vertx instance remains running indefinitely as far as I can tell (several minutes so far)..

[23:04:16] <temporalfox> D-Spair are you working on master or milestone4 ?

[23:04:26] <D-Spair> temporalfox: m4

[23:04:52] <temporalfox> D-Spair we've done some work in Vertx.close recently perhaps you can give a try when m5 is done

[23:05:22] <D-Spair> temporalfox: Sounds good! I will proceed for now and re-investigate once I try out m5.

[23:05:24] <D-Spair> Thanks

[23:33:38] <jtruelove> so RouteMatcher is gone in vert.x3?

[23:34:47] <AlexLehm> probably moved to apex

[23:35:07] <jtruelove> yeah was just looking at that

[23:37:41] <AlexLehm> purplefox, can i do a few comment changes to the refactorings branch? when reading through the changes I noticed a few comments I missed before