Differences

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

Link to this comparison view

irc:1430949600 [2017/05/27 13:44] (current)
Line 1: Line 1:
 +
 +
 +[01:02:24] <​D-Spair>​ Doh! You guys changed the API for the AsyncSQL stuff out from under me... The latest packages out there are m4, but the docs are apparently >=m5???? Makes for interesting coding...
 +
 +[01:43:28] <​jtruelove>​ diggin the APEX stuff, it has a couple patterns i had created in my own internal libs
 +
 +[01:57:04] <​jtruelove>​ purplefox i see hulu is up on the site now :)
 +
 +[08:41:40] <​voidDotClass>​ is m4 still latest?
 +
 +[08:42:14] <​temporalfox>​ voidDotClass yes
 +
 +[08:42:21] <​voidDotClass>​ ty
 +
 +[08:42:22] <​temporalfox>​ voidDotClass m5 should be released soon though
 +
 +[08:42:30] <​voidDotClass>​ when?
 +
 +[08:43:56] <​temporalfox>​ today :-)
 +
 +[10:57:31] <​purplefox>​ temporalfox:​ have you seen.. there'​s a new RxJava client for MongoDB? And it supports reactive streams too
 +
 +[10:58:08] <​temporalfox>​ yes I've seen that but I haven'​t looked at the details
 +
 +[10:58:59] <​temporalfox>​ I think we cannot really use RxJava itself because it's java specific
 +
 +[10:59:23] <​temporalfox>​ but if it supports reactive-streams , the impl could interrop with our streams
 +
 +[10:59:33] <​temporalfox>​ given that we removed the @ProxyGen on it
 +
 +[10:59:33] <​purplefox>​ yeah, i'm not suggesting we use it internally
 +
 +[10:59:43] <​purplefox>​ but it's another option for the vert.x user :)
 +
 +[10:59:53] <​temporalfox>​ now it can use ReadStream/​WriteStream
 +
 +[11:00:17] <​temporalfox>​ I think internally we could adapt the reactive-streams to Read/Write vertx streams
 +
 +[11:00:39] <​temporalfox>​ before it was not possible to have Read/Write stream in client because it's not supported by @ProxyGen
 +
 +[11:25:20] <​aesteve>​ hi purplefox :) if you have just 2 sec, I think I'm gonna work on https://​github.com/​aesteve/​vertx-feeds this weekend. Just tell me if you think that's the kind of showcases you're expecting
 +
 +[11:25:57] <​aesteve>​ since I couldn'​t find a working version of Vtoons, I'm not sure what you have in mind for "​end-end"​ examples :)
 +
 +[11:27:24] <​aesteve>​ it mixes up : apex / authentication / mongo / redis / worker verticles / sockjs
 +
 +[11:28:08] <​purplefox>​ aesteve: it's in the Vert.x 2 examples repo
 +
 +[11:33:51] <​aesteve>​ ok, got it : https://​github.com/​vert-x/​vertx-examples/​blob/​099b04763100fbb2a1c46bb27b36db9963afcb55/​src/​modules/​groovy/​webapp/​mods/​io.vertx~example-web-app~1.0/​App.groovy
 +
 +[11:34:19] <​aesteve>​ thanks. This is way easier than my example. I'll see how to tweak mine
 +
 +[12:25:34] <​temporalfox>​ aesteve it would be awesome this work with code translator from java to ruby/​groovy/​js
 +
 +[12:43:40] <​purplefox>​ temporalfox:​ can i ask you to look at something?
 +
 +[12:43:47] <​temporalfox>​ yes
 +
 +[12:45:40] <​purplefox>​ temporalfox:​ i've refactored the mongo stuff into two separate maven modules in the same repo with a parent. anyway, all tests run fine in the IDE but it fails to build at the command line, some kind of problem with the pom.xml
 +
 +[12:45:43] <​purplefox>​ https://​github.com/​vert-x3/​vertx-mongo-client/​tree/​refactor_to_modules
 +
 +[12:45:50] <​purplefox>​ any chance you could take a quick look?
 +
 +[12:46:36] <​temporalfox>​ you merged mongo and embedded mongo ?
 +
 +[12:47:16] <​purplefox>​ no
 +
 +[12:47:30] <​temporalfox>​ ah ok
 +
 +[12:47:33] <​purplefox>​ the mongo service is in one module, the mongo client is another
 +
 +[12:47:33] <​temporalfox>​ service is back
 +
 +[12:47:42] <​temporalfox>​ what's the difference ?
 +
 +[12:48:15] <​purplefox>​ difference between mongo service and mongo client?
 +
 +[12:48:48] <​purplefox>​ mongo service is for access remotely (event bus), mongo client is for local access
 +
 +[12:48:57] <​temporalfox>​ ok I was not sure
 +
 +[12:49:19] <​temporalfox>​ I'm going to look at it
 +
 +[12:56:33] <​temporalfox>​ purplefox what issue do you see ?
 +
 +[12:57:10] <​AlexLehm>​ purplefox: i have some time now if you like
 +
 +[12:57:19] <​AlexLehm>​ (do you want to this in the channel or in a pm?)
 +
 +[13:01:47] <​purplefox>​ try building it
 +
 +[13:02:06] <​purplefox>​ temporalfox:​ ^
 +
 +[13:02:27] <​temporalfox>​ I have issues with asciidoctor plugin because it does not find the source dir for copying
 +
 +[13:02:33] <​temporalfox>​ so I used -DskipDocs
 +
 +[13:02:36] <​temporalfox>​ and it builds
 +
 +[13:02:46] <​temporalfox>​ (alex reported a similar issue yesterday)
 +
 +[13:02:52] <​temporalfox>​ so I wanted to see if you had the same issue
 +
 +[13:02:59] <​temporalfox>​ or if I need to look for something else
 +
 +[13:03:32] <​purplefox>​ ah ok :) yes it builds for me too if I do that
 +
 +[13:03:36] <​purplefox>​ any workaround?
 +
 +[13:04:10] <​temporalfox>​ I'm looking at it
 +
 +[13:04:11] <​purplefox>​ AlexLehm: ok give me 5 mins :)
 +
 +[13:04:15] <​temporalfox>​ yes I think there is one easy
 +
 +[13:04:34] <​temporalfox>​ then I wouldconsider patching asciidoctor
 +
 +[13:04:39] <​temporalfox>​ and make a contribution
 +
 +[13:04:44] <​temporalfox>​ so it does not fail in that situation
 +
 +[13:04:59] <​temporalfox>​ let me try the workaround first
 +
 +[13:09:23] <​AlexLehm>​ actually its on the jenkins project https://​vertx.ci.cloudbees.com/​job/​vert.x3-mail-service/​104/​console
 +
 +[13:12:21] <​purplefox>​ AlexLehm: ? that was for julien ;)
 +
 +[13:12:33] <​purplefox>​ AlexLehm: are you ready to chat now?
 +
 +[13:13:56] <​temporalfox>​ purplefox I mentionned AlexLehm issue
 +
 +[13:15:07] <​purplefox>​ AlexLehm: ?
 +
 +[13:15:56] <​purplefox>​ AlexLehm: ok i'm going to get some lunch, will be back later. please ping me when you are ready to chat
 +
 +[13:18:57] <​AlexLehm>​ hi, sorry i missed a few msgs
 +
 +[13:20:06] <​temporalfox>​ purplefox I pushed a workaround, it's on my mid term todo list
 +
 +[13:27:29] <​aesteve>​ temporalfox:​ hi :) do you think it would be possible to add code generation to the example ? I actually didn't even think about doing that
 +
 +[13:27:53] <​aesteve>​ (I might only look at it once it's finished though)
 +
 +[13:29:05] <​temporalfox>​ aesteve the current vertx-examples do use code generation
 +
 +[13:29:20] <​aesteve>​ ok I'll take a look
 +
 +[13:29:40] <​temporalfox>​ and this
 +
 +[13:29:41] <​temporalfox>​ https://​github.com/​vert-x3/​vertx-examples/​blob/​master/​apex-examples/​src/​main/​java/​io/​vertx/​example/​apex/​chat/​Server.java
 +
 +[13:29:42] <​temporalfox>​ works
 +
 +[13:29:46] <​temporalfox>​ in  groovy and js at least
 +
 +[13:30:21] <​temporalfox>​ translated to that
 +
 +[13:30:21] <​temporalfox>​ https://​github.com/​vert-x3/​vertx-examples/​blob/​master/​apex-examples/​src/​main/​js/​io/​vertx/​example/​apex/​chat/​server.js
 +
 +[13:31:33] <​aesteve>​ so I guess for now, the thing I have to keep in mind is : not using java specific stuff of using some POJOS that would not translate
 +
 +[13:32:19] <​temporalfox>​ it would be good I think to code translate from the beginning
 +
 +[13:32:22] <​temporalfox>​ start small
 +
 +[13:32:36] <​aesteve>​ ouch :\
 +
 +[13:32:38] <​temporalfox>​ it can use some java specific stuff
 +
 +[13:32:48] <​temporalfox>​ var timestamp = Java.type("​java.text.DateFormat"​).getDateTimeInstance(Java.type("​java.text.DateFormat"​).SHORT,​ Java.type("​java.text.DateFormat"​).MEDIUM).format(Java.type("​java.util.Date"​).from(Java.type("​java.time.Instant"​).now()));​
 +
 +[13:38:01] <​aesteve>​ that kind of stuff would translate : https://​github.com/​aesteve/​vertx-feeds/​blob/​master/​src/​main/​java/​io/​vertx/​feeds/​verticles/​WebServer.java#​L119-L123
 +
 +[13:38:03] <​aesteve>​ ?
 +
 +[13:39:03] <​temporalfox>​ you need to try :-)
 +
 +[13:39:07] <​temporalfox>​ if you use vertx api
 +
 +[13:39:08] <​temporalfox>​ it's fine
 +
 +[13:39:13] <​temporalfox>​ then there are some rules to respect
 +
 +[13:39:18] <​temporalfox>​ like for building @DataObject
 +
 +[13:39:31] <​aesteve>​ yes I saw that in the docs of codegen
 +
 +[13:39:32] <​temporalfox>​ and it needs to be a single script
 +
 +[13:39:43] <​temporalfox>​ you cannot really call methods
 +
 +[13:39:50] <​aesteve>​ but i won't waste your time until I try Julien :)
 +
 +[13:39:54] <​temporalfox>​ but we could add support for methods :-)
 +
 +[13:40:03] <​temporalfox>​ and transform methods in functions
 +
 +[13:40:13] <​temporalfox>​ void foo() {}
 +
 +[13:40:17] <​temporalfox>​ function foo()
 +
 +[15:53:03] <​aesteve>​ mmh I have a huge problem with redis-client :\
 +
 +[15:53:50] <​aesteve>​ my code was working fine through the event bus
 +
 +[15:54:02] <​aesteve>​ now I'm trying to translate it to use it as a standard client
 +
 +[15:54:27] <​aesteve>​ and scriptLoad("​myScript",​ handler) throws
 +
 +[15:54:51] <​aesteve>​ NullPointer exception at at io.vertx.redis.impl.Command.<​init>​(Command.java:​126)
 +
 +[15:55:07] <​aesteve>​ endoding is somehow missing I guess
 +
 +[15:55:13] <​aesteve>​ encoding*
 +
 +[16:12:50] <​temporal_>​ purplefox I think we can think about updating the website for the docs in ruby
 +
 +[16:13:01] <​purplefox>​ ok
 +
 +[16:13:23] <​purplefox>​ aesteve: do you have a reproducer?
 +
 +[16:13:46] <​aesteve>​ I'm trying to
 +
 +[16:14:28] <​aesteve>​ but maven is driving me crazy, one time scriptLoad takes JsonArray as argument, one time it's a String
 +
 +[16:14:49] <​aesteve>​ depending on the project. I have to clear the local cache somehow
 +
 +[16:16:27] <​temporal_>​ purplefox and also the vertx-http-service-factory
 +
 +[16:17:10] <​purplefox>​ it would be good to have some docs on that so people know how to use it with bintray as I don't think it is obvious
 +
 +[16:17:48] <​temporal_>​ purplefox ok, with bintray it can be used as a maven or http
 +
 +[16:17:56] <​temporal_>​ what would be the best format ?
 +
 +[16:18:00] <​temporal_>​ a video or something ?
 +
 +[16:18:06] <​temporal_>​ I mean screen cast
 +
 +[16:18:19] <​purplefox>​ personally i hate videos
 +
 +[16:18:24] <​purplefox>​ much prefer text
 +
 +[16:18:34] <​temporal_>​ with pictures :-) ?
 +
 +[16:18:57] <​purplefox>​ i don't care about pictures but that's just me. i might just be weird ;)
 +
 +[16:19:08] <​temporal_>​ I can convert pictures in ascii
 +
 +[16:19:22] <​purplefox>​ :)
 +
 +[16:19:36] <​purplefox>​ or maybe just post the article in binary?
 +
 +[16:19:43] <​purplefox>​ or as a hex dump ;)
 +
 +[16:22:33] <​aesteve>​ purplefox: https://​github.com/​aesteve/​redis-client-bug
 +
 +[16:22:35] <​temporal_>​ I don't understand what you did with vertx-mongo-client repo
 +
 +[16:22:42] <​temporal_>​ did you merge the branch to itself ?
 +
 +[16:22:48] <​aesteve>​ I think you should be able to reproduce with this example (at least I do)
 +
 +[16:22:49] <​temporal_>​ https://​github.com/​vert-x3/​vertx-mongo-client/​commits/​refactor_to_modules
 +
 +[16:22:58] <​temporal_>​ and not in master
 +
 +[16:23:12] <​aesteve>​ (but you need a redis database and change the host/port obviously)
 +
 +[16:23:52] <​purplefox>​ temporal_: the PR is here https://​github.com/​vert-x3/​vertx-mongo-client/​pull/​9/​files
 +
 +[16:24:45] <​temporal_>​ ah ok it's master -> refactor merge
 +
 +[16:24:55] <​aesteve>​ my guess is maybe default encoding is missing somewhere (or maybe I should provide one) but I didn't need to in the past
 +
 +[16:25:29] <​aesteve>​ (and in the past means both : in a previous version and through the eventbus... sorry :( )
 +
 +[16:25:33] <​temporal_>​ I think you can merge it purplefox
 +
 +[16:25:39] <​purplefox>​ aesteve: do you have a link to the example?
 +
 +[16:38:46] <​aesteve>​ https://​github.com/​aesteve/​redis-client-bug
 +
 +[16:39:13] <​aesteve>​ or you want something else ? sorry :\
 +
 +[16:41:09] <​purplefox>​ aesteve: it's called vertx-redis-client now https://​github.com/​vert-x3/​vertx-redis-client/​blob/​master/​pom.xml#​L29
 +
 +[16:41:13] <​purplefox>​ not vertx-redis-service
 +
 +[16:42:38] <​aesteve>​ Description Resource Path Location Type
 +
 +[16:42:38] <​aesteve>​ Project '​redis-client-bug'​ is missing required library: '​C:​\DEV\vertx3workspace\redis-client-bug\unresolved dependency - io.vertx vertx-redis-client 3.0.0-SNAPSHOT'​
 +
 +[16:42:46] <​aesteve>​ maven doesn'​t seem to locate this dependency
 +
 +[16:43:39] <​aesteve>​ and indeed : https://​oss.sonatype.org/​content/​repositories/​snapshots/​io/​vertx/​ doesn'​t contain vertx-redis-client
 +
 +[16:43:52] <​aesteve>​ that's why I thought I should use vertx-redis-service
 +
 +[16:43:57] <​purplefox>​ yep, you might need to build it
 +
 +[16:45:32] <​aesteve>​ Oh my bad, I actually did it with the previous version I was using
 +
 +[16:49:59] <​aesteve>​ I'm building it right now and will retry
 +
 +[17:01:06] <​aesteve>​ ouch :  Could not find artifact rubygems:​yard:​gem:​0.8.7.6
 +
 +[17:01:18] <​aesteve>​ think I have to change my settings.xml :(
 +
 +[17:10:49] <​aesteve>​ ok purplefox now I'm up-to-date : https://​github.com/​aesteve/​redis-client-bug
 +
 +[17:15:55] <​aesteve>​ https://​github.com/​aesteve/​redis-client-bug/​blob/​master/​src/​main/​java/​fr/​aesteve/​redisbug/​Verticle.java (you can see RedisClient)
 +
 +[17:16:06] <​aesteve>​ still have the NPE though
 +
 +[17:16:09] <​purplefox>​ aesteve: any chance you could create a maven versio of the project?
 +
 +[17:16:22] <​purplefox>​ gradle is a pain for me, i can't even seem to load it in the IDE
 +
 +[17:16:39] <​aesteve>​ let me help you, one sec
 +
 +[17:17:22] <​aesteve>​ pull the project
 +
 +[17:17:29] <​aesteve>​ and from the root dir
 +
 +[17:17:33] <​purplefox>​ aesteve: ah! one obvious thing - looks like you didn't call start(..) on the redis client
 +
 +[17:17:38] <​aesteve>​ simplye type in ./gradlew idea
 +
 +[17:17:54] <​aesteve>​ (gradle is embedded, you don't need anything)
 +
 +[17:18:10] <​aesteve>​ maybe you'll need to chmod gradlew though
 +
 +[17:18:29] <​aesteve>​ if gradle is a mess for you, maven is a mess for me here unfortunately :(
 +
 +[17:18:42] <​purplefox>​ ok before i do that, can you try calling start?
 +
 +[17:18:50] <​aesteve>​ yeah I missed your comment sorry
 +
 +[17:18:57] <​aesteve>​ that MUST be the problem
 +
 +[17:20:39] <​aesteve>​ oh I'm sooooo sorry
 +
 +[17:21:08] <​purplefox>​ hey, np
 +
 +[17:21:11] <​aesteve>​ I thought since it was no longer a eventbus service I didn't need to call start
 +
 +[17:21:33] <​purplefox>​ but it should fail more gracefully, not an NPE. can you add an issue for that?
 +
 +[17:21:34] <​aesteve>​ same goes for every service ? like mongo etc ?
 +
 +[17:23:18] <​purplefox>​ it depends on the client, but bear in mind that redis-client is still experimental so it will probably still change
 +
 +[17:23:24] <​purplefox>​ we might get rid of the start
 +
 +[17:27:21] <​aesteve>​ purplefox: https://​github.com/​vert-x3/​vertx-redis-client/​issues/​7
 +
 +[17:27:43] <​aesteve>​ I'll keep the repo up until the issue is resolved :)
 +
 +[18:13:09] <​aesteve>​ purplefox:​I'​m sorry to ask again, but when I execute a command on the GroovyRedisClient the parameter in the Closure is a Future
 +
 +[18:13:26] <​aesteve>​ for example : redis.zrevrangebyscore(args[0] as String, args[1] as String, args[2] as String, args[3] as Map, responseClosure)
 +
 +[18:14:22] <​purplefox>​ aesteve: ok, what were you expecting?
 +
 +[18:14:38] <​aesteve>​ I thought it could be a RedisAsyncResult ?
 +
 +[18:15:01] <​aesteve>​ either failed or completed if the command succeeded or not
 +
 +[18:15:11] <​purplefox>​ this is the signature of the groovy method:
 +
 +[18:15:12] <​purplefox>​ public void zrevrangebyscore(String key, String max, String min, Map<​String,​ Object> options, Handler<​AsyncResult<​List<​Object>>>​ handler) {
 +
 +[18:15:27] <​aesteve>​ what the...
 +
 +[18:15:34] <​aesteve>​ this is what I'm expecting indeed
 +
 +[18:21:06] <​arek_deepinit>​ purplefox: is there some option to set hard limit on memory usage?
 +
 +[18:21:17] <​arek_deepinit>​ i mean vert.x 3
 +
 +[18:35:16] <​aesteve>​ ok purplefox I don't get why but "​it"​ is a Future<​List<​Object>>​ so calling reply.result() actually works
 +
 +[18:37:07] <​aesteve>​ and it's a io.vertx.core.Future,​ not the Groovy one... I guess I'm getting tired....
 +
 +[20:46:03] <​AlexLehm>​ general git question, does it make sense to remove the branches that were merged into master or should the old branches be kept for reference
 +
 +[21:36:04] <​temporal_>​ AlexLehm I remove them when they have been merged
 +
 +[22:57:04] <​AlexLehm>​ how is the milestone version coming along?