Monday, 2015-09-21

*** bobmcw <bobmcw!~bobmcw@redhat/jboss/bobmcw> has joined #immutant00:17
*** jcrossle_ is now known as jcrossley3-away01:00
*** rboyd <rboyd!uid40503@gateway/web/irccloud.com/x-csjnebaxqwxmcxqk> has quit IRC (Quit: Connection closed for inactivity)01:35
*** pandeiro <pandeiro!~user@187.38.85.170> has quit IRC (Remote host closed the connection)01:49
*** bobmcw <bobmcw!~bobmcw@redhat/jboss/bobmcw> has quit IRC (Remote host closed the connection)02:19
*** cemerick <cemerick!~cemerick@c-24-34-140-98.hsd1.ma.comcast.net> has joined #immutant02:19
*** cemerick <cemerick!~cemerick@c-24-34-140-98.hsd1.ma.comcast.net> has quit IRC (Ping timeout: 256 seconds)02:27
*** je <je!~je@x1-6-c0-3f-0e-f8-01-dc.cpe.webspeed.dk> has joined #immutant05:50
*** je <je!~je@x1-6-c0-3f-0e-f8-01-dc.cpe.webspeed.dk> has quit IRC (Ping timeout: 250 seconds)06:10
*** dm3 <dm3!~dm3@pub082136105147.dh-hfc.datazug.ch> has joined #immutant06:32
*** marianoguerra <marianoguerra!~marianogu@emesene/grandpa/marianoguerra> has joined #immutant06:39
*** je <je!~je@mail.natur-energi.dk> has joined #immutant07:25
*** qwerty_nor <qwerty_nor!~Thunderbi@c.129.184.a528.sta.adsl.cyfra.net> has joined #immutant08:06
*** qwerty_nor1 <qwerty_nor1!~Thunderbi@c.129.184.a528.sta.adsl.cyfra.net> has joined #immutant08:30
*** qwerty_nor <qwerty_nor!~Thunderbi@c.129.184.a528.sta.adsl.cyfra.net> has quit IRC (Ping timeout: 250 seconds)08:31
*** qwerty_nor1 is now known as qwerty_nor08:31
*** dm3 <dm3!~dm3@pub082136105147.dh-hfc.datazug.ch> has quit IRC (Remote host closed the connection)09:50
*** dm3 <dm3!~dm3@pub082136105147.dh-hfc.datazug.ch> has joined #immutant09:51
*** dm3 <dm3!~dm3@pub082136105147.dh-hfc.datazug.ch> has quit IRC (Ping timeout: 272 seconds)09:56
*** dm3 <dm3!~dm3@pub082136076233.dh-hfc.datazug.ch> has joined #immutant10:34
*** agarman <agarman!~agarman@169.130.108.20> has joined #immutant10:53
*** mgoldmann|away is now known as mgoldmann11:32
*** bbrowning_away is now known as bbrowning12:18
*** tcrawley-away is now known as tcrawley12:34
*** jcrossley3-away is now known as jcrossley312:52
*** deadghost <deadghost!~deadghost@122.167.88.160> has joined #immutant12:54
*** deadghost <deadghost!~deadghost@122.167.88.160> has quit IRC (Ping timeout: 264 seconds)13:05
*** cemerick <cemerick!~cemerick@c-24-34-140-98.hsd1.ma.comcast.net> has joined #immutant13:09
*** jcrossley3 <jcrossley3!~user@71-90-202-1.dhcp.stls.mo.charter.com> has quit IRC (Quit: ERC Version 5.3 (IRC client for Emacs))13:35
*** jcrossley3 <jcrossley3!~user@redhat/jboss/jc3> has joined #immutant13:36
*** lance|afk is now known as lanceball13:56
*** bobmcw <bobmcw!~bobmcw@redhat/jboss/bobmcw> has joined #immutant14:10
*** cemerick <cemerick!~cemerick@c-24-34-140-98.hsd1.ma.comcast.net> has quit IRC (Ping timeout: 244 seconds)14:13
*** je <je!~je@mail.natur-energi.dk> has quit IRC (Ping timeout: 240 seconds)14:49
*** aaronc <aaronc!47e0103f@gateway/web/freenode/ip.71.224.16.63> has joined #immutant15:00
aaronchi @tcrawley, just wanted to give you a little update on where I am with getting pedestal and websockets to work together on immutant when you have a moment15:02
tcrawleyaaronc: fire when ready15:03
aaroncokay, so I wasn't able to get anything working using run and :path15:12
aaroncrequests would always still get mapped to the root servlet15:12
aaroncI was able to get things working with add-endpoint-with-handler after creating a custom servlet which mimics pedestal's FnServlet but proxies HttpServlet15:13
aaroncI see that those fn's require HttpServlet's whereas pedestal just uses the Servlet interface: https://github.com/pedestal/pedestal/blob/master/service/src/io/pedestal/http/servlet.clj#L19-L45. I'm not sure if an actual HttpServlet is required for WebSockets to work, but at least for my case I'm fine proxying my own15:15
tcrawleyaaronc: are you saying you did (immutant/run pedestal-servlet) (immutant/run my-handler :path "/ws"), and /ws requests were served by pedestal-servlet?15:19
aaroncyes15:20
tcrawleyhmm, that seems like a bug. what do you think jcrossley3?15:20
aaroncI could have been doing something wrong, but I tried several times and got the requests in my pedestal servlet. since I was able to get add-endpoint-with-handler I didn't continue debugging this route extensively15:22
tcrawleyI know we have tests for multiple handlers at different paths, but may not have one for servlets and handlers mixed15:22
jcrossley3tcrawley: agree15:23
aaroncokay, another issue I've run into is with building a war using boot immutant15:23
aaroncit was working fine with the 2.1.0 release, but when this incremental build some namespaces can't load datomic.api while getting compiled15:23
tcrawleywhat error do you get?15:24
aaronchttps://gist.github.com/aaronc/d2a31f1f1fe3023a43e815:25
tcrawleyhmm, but it works fine with 2.1.0? that's odd15:26
tcrawleywhat incremental is this?15:26
aaroncyes15:26
aaronc64815:26
jcrossley3tcrawley: that's a bug that we type-hint HttpServlet rather than Servlet15:26
tcrawleyyou mean here? https://github.com/immutant/immutant/tree/master/web/src/immutant/web/internal/servlet.clj#L10915:28
tcrawleyaaronc: is there any error prior to that one?15:29
aaroncno, and i did try digging a bit further but couldn't get anything else...15:29
aaronccould try again if you like15:30
aaronci've setup my dependencies as advised here btw: http://immutant.org/news/2015/09/09/datomic-redux/\15:30
jcrossley3tcrawley: yes15:31
aaronceverything with datomic works fine with this incremental when I'm not trying to build a war15:31
tcrawleyI wonder if this is actually a bug in boot-immutant? would you mind trying with lein?15:32
tcrawley+ lein-immutant15:32
jcrossley3tcrawley: we may have to go through the Servlet's getServletConfig to get some of that stuff, but we should never require HttpServlet anywhere. it's just a convenience class to create a Servlet15:32
jcrossley3tcrawley: want me to fix that up?15:33
tcrawleyjcrossley3: sure!15:34
jcrossley3wdm15:34
tcrawleythanks15:34
aaroncokay, I can throw together a project.clj and try15:36
tcrawleyaaronc: thanks15:38
aaronc@tcrawley: actually it looks like I'm not even able to get it to build a war with immutant 2.1.0. I'm not sure why I thought it was working before - I'll need to check my CI/commit log15:45
*** projectodd-ci <projectodd-ci!~PircBotx@ec2-54-221-39-150.compute-1.amazonaws.com> has quit IRC ()16:00
jcrossley3tcrawley: https://github.com/immutant/immutant/blob/master/web/src/immutant/web/undertow.clj#L52-L5516:08
jcrossley3i get reflection warnings on those last two16:08
jcrossley3but if i move them to the top of the cond-> the warnings go away16:09
jcrossley3but the logic is also wrong if i do that16:09
jcrossley3somehow that cond-> is obscuring the type hint unless they appear first among the clauses16:09
jcrossley3weird, right?16:10
jcrossley3check that, i can also remove the warnings by simply commenting out the second addHttpsListener (which is a valid reflection issue with the latest undertow upgrade)16:13
jcrossley3so i guess if reflection fails for any clause, subsequent ones fail too16:13
aaronc@tcrawley: actually I think the issue is something totally unrelated to the immutant releases, but something else in our build that was causing immutant-war to fail around the same time I upgraded to the incremental. nevermind!16:19
aaronca "nice to have" feature for immutant's WebSocket integration would be the ability to set HTTP response headers in the handshake. it appears from the docs that this could theoretically be done in modifyHandshake16:23
*** dm3_ <dm3_!~dm3@pub082136076233.dh-hfc.datazug.ch> has joined #immutant16:25
tcrawleyaaronc: you can set handshake headers, but only if you use as-channel from a ring handler16:27
tcrawleyjcrossley3: weird, but did you figure it out?16:27
jcrossley3well, i need a type hint for KeyManager[] and TrustManager[]16:28
jcrossley3do you know the syntax for that off the top of your head?16:28
*** dm3_ <dm3_!~dm3@pub082136076233.dh-hfc.datazug.ch> has quit IRC (Ping timeout: 246 seconds)16:29
*** dm3 <dm3!~dm3@pub082136076233.dh-hfc.datazug.ch> has quit IRC (Ping timeout: 268 seconds)16:29
tcrawley^"[LKeyManager" or somesuch, I think16:30
jcrossley3weird16:31
tcrawleyor maybe ^"[LKeyManager;"16:31
tcrawleyyeah, it's weird16:32
aaronc@tcrawley: hmm, I am using as-channel and the headers are not getting set. as I understand it, the response map will pass through: https://github.com/immutant/immutant/blob/master/web/src/immutant/web/internal/servlet.clj#L122-L130 and it looks like only :body is being used, not :headers. the docs for as-channel also state that any headers will be ignored: https://github.com/immutant/immutant/blob/master/web/src/immutant/web/async.cl16:43
tcrawleyah, right, being able to send the headers only applies to streams. by the time the handler is called, I think it is too late to send headers16:46
aaroncI think it might just be a matter of setting headers in the HandshakeReponse in modifyHandshake, no? http://docs.oracle.com/javaee/7/api/javax/websocket/server/ServerEndpointConfig.Configurator.html#modifyHandshake-javax.websocket.server.ServerEndpointConfig-javax.websocket.server.HandshakeRequest-javax.websocket.HandshakeResponse-16:47
jbossbotTitle: ServerEndpointConfig.Configurator (Java(TM) EE 7 Specification APIs)16:47
tcrawleywell, that talks about modifying the request, but a HandshakeResponse only has a getHeaders method, and IIRC, that returns an immutable map in WF, so we can't change headers16:51
tcrawleyI may be remembering that wrong though, let me check16:51
jcrossley3tcrawley: i want to say we used to have some hacky way to do that (long before as-channel iirc)16:52
tcrawleylooking at the WF source, it's not an immutable map, so we should be able to set headers there16:53
tcrawleyaaronc: would you mind filing an @issue16:53
proddbotWe'd be happy as a wave if you would file an issue at https://issues.jboss.org/browse/IMMUTANT16:53
tcrawleyand also one for the (run servlet) (run hdlr :path "/ws") issue?16:53
tcrawleyjcrossley3: I think you're thinking of mutating the session16:53
jcrossley3maybe16:54
tcrawleyI probably assumed we couldn't set headers since EE normally doesn't give you maps to modify, but instead gives you a plethora of add* methods16:55
*** bbrowning is now known as bbrowning_away17:04
*** lanceball is now known as lance|afk17:05
*** projectodd-ci <projectodd-ci!~PircBotx@ec2-54-221-39-150.compute-1.amazonaws.com> has joined #immutant17:07
jcrossley3tcrawley: it has defeated me17:09
jcrossley3i can't get the compiler to recognize anything as something other than Object17:09
jcrossley3i did figure out why the subsequent ones fail. basically cuz they're downstream from the thing whose return value can't be determined so duh17:10
tcrawleygist?17:11
tcrawleywhat you have so far, that is?17:11
jcrossley3i don't have all the things i've tried, but...17:11
*** qwerty_nor <qwerty_nor!~Thunderbi@c.129.184.a528.sta.adsl.cyfra.net> has quit IRC (Ping timeout: 244 seconds)17:12
jcrossley3tcrawley: (and ssl-port (not ssl-context)) (.addHttpsListener ^int ssl-port ^String host ^{:tag (Class/forName "[LKeyManager;")} key-managers ^{:tag (class (into-array KeyManager []))} trust-managers)17:13
jcrossley3er... the latter should be TrustManager17:14
jcrossley3both imported17:14
tcrawleyhmm17:14
tcrawleyjcrossley3: this worked for me: (and ssl-port (not ssl-context)) (.addHttpsListener ^int ssl-port ^String host ^"[Ljavax.net.ssl.KeyManager;" key-managers ^"[Ljavax.net.ssl.TrustManager;" trust-managers)17:16
jcrossley3i think i tried that17:17
jcrossley3no, i tried this: ^"[LKeyManager;" key-managers ^"[LTrustManager;" trust-managers17:19
jcrossley3so has to be fully-qualified17:19
jcrossley3tcrawley: thanks!17:19
tcrawleymp!17:19
tcrawleyI just tried fully qualified since I didn't have them imported :)17:20
*** lance|afk is now known as lanceball17:25
*** bbrowning_away is now known as bbrowning17:26
*** agarman_ <agarman_!~agarman@169.130.108.37> has joined #immutant17:33
jbossbotgit [immutant] push master 38793c0.. Jim Crossley Accept any Servlet, not just HttpServlet ones17:34
jbossbotgit [immutant] push master 08dc801.. Jim Crossley Remove reflection introduced with latest Undertow update17:34
jbossbotgit [immutant] push master URL: http://github.com/immutant/immutant/compare/dae59d0...08dc80117:34
*** agarman <agarman!~agarman@169.130.108.20> has quit IRC (Ping timeout: 268 seconds)17:37
projectodd-ciProject immutant2-incremental build #650: SUCCESS in 3 min 59 sec: https://projectodd.ci.cloudbees.com/job/immutant2-incremental/650/17:41
projectodd-ciProject immutant2-incremental-integs-eap build #200: FAILURE in 14 min: https://projectodd.ci.cloudbees.com/job/immutant2-incremental-integs-eap/200/17:59
projectodd-ci* Jim Crossley: Accept any Servlet, not just HttpServlet ones17:59
projectodd-ci* Jim Crossley: Remove reflection introduced with latest Undertow update17:59
*** dm3 <dm3!~dm3@pub082136105147.dh-hfc.datazug.ch> has joined #immutant18:03
projectodd-ciProject immutant2-incremental-integs build #156: FAILURE in 27 min: https://projectodd.ci.cloudbees.com/job/immutant2-incremental-integs/156/18:12
projectodd-ci* Jim Crossley: Accept any Servlet, not just HttpServlet ones18:12
projectodd-ci* Jim Crossley: Remove reflection introduced with latest Undertow update18:12
bobmcwwhat sort of non-HTTP servlets do you have?18:17
jcrossley3bobmcw: well, we don't want to require that a passed servlet extends HttpServlet, in particular18:21
jcrossley3specifically to support Pedestal, which uses an HTTP servlet, but not an HttpServlet. make sense?18:21
bobmcwah18:22
*** pandeiro <pandeiro!~user@187.38.85.170> has joined #immutant18:28
*** je <je!~je@mail.natur-energi.dk> has joined #immutant18:43
*** je <je!~je@mail.natur-energi.dk> has quit IRC (Ping timeout: 255 seconds)18:48
*** dm3 <dm3!~dm3@pub082136105147.dh-hfc.datazug.ch> has quit IRC (Remote host closed the connection)18:52
*** je <je!~je@x1-6-c0-3f-0e-f8-01-dc.cpe.webspeed.dk> has joined #immutant19:04
*** agarman_ <agarman_!~agarman@169.130.108.37> has quit IRC (Remote host closed the connection)19:08
aaroncjcrossley3: you probably also want to change HttpServlet on this line as well: https://github.com/immutant/immutant/blob/08dc8011f6850ef61e59f43e1ffe03a48a0822f5/web/src/immutant/web/internal/servlet.clj#L13819:11
jcrossley3aaronc: doh! yeah, thanks19:12
jbossbotgit [immutant] push master d9ee61b.. Jim Crossley Oops!19:14
jbossbotgit [immutant] push master URL: http://github.com/immutant/immutant/commit/d9ee61bb119:14
*** dm3 <dm3!~dm3@pub082136105147.dh-hfc.datazug.ch> has joined #immutant19:16
projectodd-ciProject immutant2-incremental build #651: SUCCESS in 7 min 17 sec: https://projectodd.ci.cloudbees.com/job/immutant2-incremental/651/19:21
*** dm3 <dm3!~dm3@pub082136105147.dh-hfc.datazug.ch> has quit IRC (Remote host closed the connection)19:31
*** dm3 <dm3!~dm3@pub082136105147.dh-hfc.datazug.ch> has joined #immutant19:32
*** dm3 <dm3!~dm3@pub082136105147.dh-hfc.datazug.ch> has quit IRC (Ping timeout: 272 seconds)19:37
projectodd-ciProject immutant2-incremental-integs build #157: STILL FAILING in 21 min: https://projectodd.ci.cloudbees.com/job/immutant2-incremental-integs/157/19:45
projectodd-ciJim Crossley: Oops!19:45
*** jcrossley3 is now known as jcrossley3-away19:48
projectodd-ciYippee, build fixed!19:53
projectodd-ciProject immutant2-incremental-integs-eap build #201: FIXED in 31 min: https://projectodd.ci.cloudbees.com/job/immutant2-incremental-integs-eap/201/19:53
projectodd-ciJim Crossley: Oops!19:53
*** cemerick <cemerick!~cemerick@c-24-34-140-98.hsd1.ma.comcast.net> has joined #immutant19:58
*** pandeiro <pandeiro!~user@187.38.85.170> has quit IRC (Remote host closed the connection)20:02
*** dm3 <dm3!~dm3@pub082136105147.dh-hfc.datazug.ch> has joined #immutant20:09
*** conan <conan!~conan@mdproctor.plus.com> has quit IRC (Quit: Computer has gone to sleep.)20:11
*** je <je!~je@x1-6-c0-3f-0e-f8-01-dc.cpe.webspeed.dk> has quit IRC (Ping timeout: 244 seconds)20:19
*** jcrossley3-away is now known as jcrossley320:28
*** dm3 <dm3!~dm3@pub082136105147.dh-hfc.datazug.ch> has quit IRC (Remote host closed the connection)20:35
*** conan <conan!~conan@mdproctor.plus.com> has joined #immutant20:48
*** bobmcw <bobmcw!~bobmcw@redhat/jboss/bobmcw> has quit IRC (Remote host closed the connection)21:03
*** tcrawley is now known as tcrawley-away21:04
*** bobmcw <bobmcw!~bobmcw@redhat/jboss/bobmcw> has joined #immutant21:05
*** bobmcw <bobmcw!~bobmcw@redhat/jboss/bobmcw> has quit IRC (Ping timeout: 268 seconds)21:11
*** bbrowning is now known as bbrowning_away21:12
*** marianoguerra <marianoguerra!~marianogu@emesene/grandpa/marianoguerra> has quit IRC (Ping timeout: 250 seconds)21:13
*** cemerick <cemerick!~cemerick@c-24-34-140-98.hsd1.ma.comcast.net> has quit IRC (Ping timeout: 265 seconds)21:15
*** lanceball is now known as lance|afk21:25
*** conan <conan!~conan@mdproctor.plus.com> has quit IRC (Quit: Computer has gone to sleep.)22:26
*** conan <conan!~conan@mdproctor.plus.com> has joined #immutant22:27
*** jcrossley3 is now known as jcrossley3-away23:17
*** bobmcw <bobmcw!~bobmcw@va-67-233-84-133.dhcp.embarqhsd.net> has joined #immutant23:38
*** bobmcw <bobmcw!~bobmcw@va-67-233-84-133.dhcp.embarqhsd.net> has quit IRC (Changing host)23:38
*** bobmcw <bobmcw!~bobmcw@redhat/jboss/bobmcw> has joined #immutant23:38
*** aaronc <aaronc!47e0103f@gateway/web/freenode/ip.71.224.16.63> has quit IRC (Ping timeout: 246 seconds)23:57

Generated by irclog2html.py 2.9.2 by Marius Gedminas - find it at mg.pov.lt!