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

[12:21:15] <ericdoerheit> Hi guys, is it anyhow possible to get the results out of an SQL Select query with joins within vertx? the queryWithParams method does not allow these queries

[19:58:30] <AlexLehm> for some reason I am still getting occasional timeouts in the tests with the message “Force-closing a channel whose registration task was not accepted by an event loop”

[21:40:52] <AlexLehm> purplefox_, I tried to write the pool code like the MongoClientImpl, but that doesn't work since MailConfig is not sharable I think

[21:42:03] <purplefox_> why does the config need to be shareable?

[21:42:35] <AlexLehm> i used it as the key for the Map, each Pool is index by the config

[21:43:05] <purplefox_> if you look how it is done in the mongo client

[21:43:10] <purplefox_> the key is the datasource name not the config

[21:43:21] <purplefox_> the config does not need to be the key

[21:43:48] <purplefox_> basically you should be able to more or less copy and paste the sharing code from mongo to mail

[21:43:55] <AlexLehm> Mongoclient uses a string, but I think that doesn't work for the mail config

[21:44:02] <purplefox_> why?

[21:44:31] <purplefox_> the string is just a name it could be anything “mysharedclient”

[21:44:42] <purplefox_> the name is only used to lookup the holder

[21:44:58] <purplefox_> it's no different in mail than mongo client

[21:45:34] <AlexLehm> hm, i think this has to include the hostname, the port, the username etc

[21:45:41] <purplefox_> no, it's just a name!

[21:45:56] <purplefox_> i think you're misunderstanding how the client sharing works

[21:46:14] <purplefox_> (and it works the same way for the jdbc and mongo clients)

[21:46:16] <AlexLehm> that may be the case

[21:46:38] <purplefox_> verticle 1 says: “hey give me the mail pool called 'alex's pool'”

[21:46:54] <purplefox_> (alex's pool is just a string, it could be anything)

[21:47:06] <purplefox_> then there is no pool with this name, so it creates a new one

[21:47:11] <purplefox_> then verticle 2 says:

[21:47:18] <purplefox_> “hey give me the mail pool called 'alex's pool'”

[21:47:27] <purplefox_> but this time there already exists a pool

[21:47:31] <purplefox_> so the same one is returned

[21:47:38] <AlexLehm> oh, then i have completely misunderstood that

[21:47:40] <purplefox_> so now, both verticle1 and verticle2 have the same pool

[21:47:46] <AlexLehm> ok

[21:47:53] <purplefox_> but the name, doesn't have any special meaning

[21:48:19] <purplefox_> the key in the map is the name

[21:48:30] <purplefox_> and the config is passed as a 3rd param

[21:48:35] <purplefox_> but the config is not used as a key

[21:48:47] <AlexLehm> so the config is not used if the pool already exists

[21:48:51] <purplefox_> correct

[21:49:14] <purplefox_> also i notice you're using a static map, not the shared local data

[21:49:29] <purplefox_> and it's not thread safe at all

[21:49:50] <purplefox_> anyway.. let's not worry about it for now, and we can release 3.0 without this, it's not a big deal

[21:50:10] <purplefox_> maybe if I have time tomorrow i can doa quick copy and paste from mongo client

[21:50:16] <AlexLehm> ok, then I will create a new pr for the idle code removed and postpone the pool stuff

[21:50:30] <purplefox_> yeah, that would be awesome if you could :)

[21:51:57] <AlexLehm> ok, i would guess that takes about 1/2 hour

[21:59:57] <purplefox_> thanks alex, it's much apprectiated

[22:22:47] <purplefox_> AlexLehm: ok i actually just implemented the shared pool stuff

[22:22:47] <purplefox_> https://github.com/vert-x3/vertx-mail-client/pull/40

[22:22:51] <purplefox_> could you please review this?

[22:23:05] <purplefox_> it's basically a copy and paste and edit from the mongo client

[22:35:07] <AlexLehm> purplefox_, i can copy the documentation, do you want to merge the pr first and then i send a new pr?

[22:36:48] <purplefox_> yes please, i just merged it

[22:58:56] <AlexLehm> purplefox_, https://github.com/vert-x3/vertx-mail-client/pull/41