Friday, 2015-01-23

*** tcrawley-away is now known as tcrawley01:07
tcrawleyjcrossley3: I think I have the solution to ALL OUR PROBLEMS01:08
tcrawleyor at least the ones we've discussed today01:08
*** kschrader <kschrader!uid41175@gateway/web/irccloud.com/x-nwmsgxntprrnhxhw> has quit IRC (Quit: Connection closed for inactivity)01:15
*** cemerick <cemerick!~cemerick@c-24-34-140-98.hsd1.ma.comcast.net> has joined #immutant01:15
*** cemerick <cemerick!~cemerick@c-24-34-140-98.hsd1.ma.comcast.net> has quit IRC (Ping timeout: 244 seconds)01:22
*** jcrossley3 is now known as jcrossley3-away01:57
*** siksia <siksia!~siksia@unaffiliated/siksia> has quit IRC (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)02:23
jcrossley3-awaytcrawley: oh?02:25
*** jcrossley3-away <jcrossley3-away!~user@71-90-202-246.dhcp.stls.mo.charter.com> has quit IRC (Quit: ERC Version 5.3 (IRC client for Emacs))03:01
*** jcrossley3 <jcrossley3!~user@redhat/jboss/jc3> has joined #immutant03:02
*** tcrawley is now known as tcrawley-away03:21
*** DomKM <DomKM!uid23709@gateway/web/irccloud.com/x-ujmoxpzihcnunnfq> has quit IRC (Quit: Connection closed for inactivity)04:41
*** jcrossley3 is now known as jcrossley3-away05:03
*** fs42 <fs42!~fs42@24.130.131.52> has joined #immutant06:02
*** fs42 <fs42!~fs42@24.130.131.52> has quit IRC (Client Quit)06:02
*** galderz <galderz!~galder@redhat/jboss/galderz> has joined #immutant08:05
*** mgoldmann|away is now known as mgoldmann08:29
*** je <je!~je@mail.natur-energi.dk> has joined #immutant08:42
*** marianoguerra <marianoguerra!~marianogu@p5B33E5FD.dip0.t-ipconnect.de> has joined #immutant09:12
*** marianoguerra <marianoguerra!~marianogu@emesene/grandpa/marianoguerra> has joined #immutant09:12
*** dm3 <dm3!~dm3@pub158181119172.dh-hfc.datazug.ch> has joined #immutant09:17
*** galderz <galderz!~galder@redhat/jboss/galderz> has quit IRC (Quit: This computer has gone to sleep)10:12
*** galderz <galderz!~galder@redhat/jboss/galderz> has joined #immutant10:15
*** marianog1erra <marianog1erra!~marianogu@p5B33E5FD.dip0.t-ipconnect.de> has joined #immutant10:26
*** marianog1erra <marianog1erra!~marianogu@p5B33E5FD.dip0.t-ipconnect.de> has quit IRC (Quit: leaving)10:32
*** marianoguerra <marianoguerra!~marianogu@emesene/grandpa/marianoguerra> has quit IRC (Ping timeout: 245 seconds)11:36
*** marianoguerra <marianoguerra!~marianogu@p548FC4C2.dip0.t-ipconnect.de> has joined #immutant11:47
*** marianoguerra <marianoguerra!~marianogu@emesene/grandpa/marianoguerra> has joined #immutant11:47
*** bbrowning_away is now known as bbrowning13:04
*** galderz <galderz!~galder@redhat/jboss/galderz> has quit IRC (Quit: This computer has gone to sleep)13:05
*** galderz <galderz!~galder@redhat/jboss/galderz> has joined #immutant13:05
*** jodaro <jodaro!sid5995@gateway/web/irccloud.com/x-pycjrjlwcmbxfrgs> has quit IRC ()13:10
*** jodaro <jodaro!sid5995@gateway/web/irccloud.com/x-mqgbajyvkdxpbbje> has joined #immutant13:10
*** tcrawley-away is now known as tcrawley13:55
tcrawleyjcrossley3-away: maybe not :(13:57
*** statonjr <statonjr!~statonjr@cpe-098-024-171-126.carolina.res.rr.com> has quit IRC (Quit: statonjr)14:01
*** cemerick <cemerick!~cemerick@c-24-34-140-98.hsd1.ma.comcast.net> has joined #immutant14:05
*** dm3 <dm3!~dm3@pub158181119172.dh-hfc.datazug.ch> has quit IRC (Remote host closed the connection)14:10
*** dm3 <dm3!~dm3@pub158181119172.dh-hfc.datazug.ch> has joined #immutant14:11
*** dm3 <dm3!~dm3@pub158181119172.dh-hfc.datazug.ch> has quit IRC (Ping timeout: 276 seconds)14:16
*** jcrossley3-away is now known as jcrossley314:17
jcrossley3tcrawley: you're such a tease14:17
tcrawleyheh14:17
tcrawleywell, I think it will solve some problems14:17
tcrawleymaybe14:18
jcrossley3what's it?14:18
tcrawleyin utow, we wrap our upgrade handler with another handler that saves off the exchange if the request looks like a ws upgrade14:18
tcrawleythen we use that httpexchange instead of the upgradeexchange for the ring map14:19
tcrawleyinside, the plan was to do the same with a servlet filter, and have a filter that fooled the endpoint lookup mechanism14:19
tcrawleybut I started with that last point, and am having issues with the order of filter execution14:19
tcrawleybut it may be WF specific that the endpoint lookup is in a filter anyway14:20
tcrawleyI may be able to not register an endpoint the normal way, but instead create one and give it to a filter we write that does the upgrade14:21
jcrossley3well, i removed the reflection inside yesterday with the DelegatingHR, so you can remove the reflection outside14:21
tcrawleyah, sweet14:21
tcrawleyI haven't looked at that yet14:21
jcrossley3all that remains is outside, which your idea covers, right?14:22
tcrawleyyep14:23
tcrawleythe remaining issue inside is applying the endpoint for all requests at that servletPath14:24
jcrossley3idu14:24
jcrossley3the trailing slash stuff?14:24
tcrawleyyeah14:25
jcrossley3so "all" is "both"? :)14:25
tcrawleymore than trailing slash. /foo/ /foo/bar /foo/bar/14:25
tcrawleywhere /bar and /bar/ are compojure paths14:25
jcrossley3ah14:25
jcrossley3tcrawley: did you have any success with a "URI template"?14:31
tcrawleyno14:31
jcrossley3and you tried?14:31
tcrawleyyes14:31
jcrossley3hard?14:31
tcrawleya url template lets you do /foo/{bar}, but not wildcard matching14:31
tcrawleythat will match /foo/a, but not /foo/14:32
tcrawleymayhap I could try harder14:32
tcrawleyactually, I never tried, I just read the template spec, and it says it won't match /foo/. but I guess I could try14:33
jcrossley3tcrawley: so in your example from yesterday, both the compojure routes would respond to ws requests?14:33
jcrossley3that's the bigger issue than the trailing slash, imo14:33
tcrawleyboth could, yes. but only one would get triggered, since only one of those handlers would get called14:34
tcrawleyright, that's the real issue, and why we have to solve it14:34
*** cemerick <cemerick!~cemerick@c-24-34-140-98.hsd1.ma.comcast.net> has quit IRC (Ping timeout: 240 seconds)14:35
*** statonjr <statonjr!~statonjr@209.34.239.254> has joined #immutant14:37
*** cap10morgan__ <cap10morgan__!~cap10morg@71-208-146-237.hlrn.qwest.net> has joined #immutant14:38
*** dm3 <dm3!~dm3@pub158181119172.dh-hfc.datazug.ch> has joined #immutant14:39
jcrossley3tcrawley: i can try that if you're working on the outside reflection removal14:39
jcrossley3you should pull my changes at some point soonish, anyway14:40
tcrawleyI'm working on it already. I haven't started on the reflection removal14:40
tcrawleybut yeah, I need to pull your changes14:40
*** cemerick <cemerick!~cemerick@c-24-34-140-98.hsd1.ma.comcast.net> has joined #immutant15:09
*** jcrossley3 <jcrossley3!~user@redhat/jboss/jc3> has quit IRC (Read error: Connection reset by peer)15:11
*** jcrossley3 <jcrossley3!~user@redhat/jboss/jc3> has joined #immutant15:11
tcrawleyjcrossley3: hey, I got it working!15:12
tcrawleyI was just registering my handler incorrectly last night15:13
tcrawleys/handler/filter/15:13
tcrawleywhat I'm doing: I have a servlet filter that runs before the upgrade filter, and it checks to see if the request is a ws upgrade15:13
tcrawleyif so, it wraps the HttpServletRequest in a wrapper that returns null for getPathInfo, and calls down the filter chain15:14
tcrawleythe upgrade filter then finds the endpoint registered for the servletPath15:15
tcrawleyit's a hack, and likely won't work in other containers15:15
tcrawleybut shouldn't affect the app, since it doesn't get path-info from the servlet request for upgrades15:15
jcrossley3so what problem is that solving exactly?15:16
tcrawleythe problem where you call ws:///foo/ or ws:///foo/bar and the ws endpoint is only registered for /foo15:16
tcrawleybut the ring handler expects to be able to call as-channel under / or /bar15:17
jcrossley3tcrawley: and you feel like the filter is better than using a uri template?15:21
tcrawleyyes, because it works :)15:21
jcrossley3"works" can be a low bar, no?15:23
tcrawleyidu15:23
jcrossley3tcrawley: awesome!15:24
tcrawleyI haven't yet tried the template, because even if "/foo/{bar}" matches /foo/ (even though the spec says it shouldn't), it won't match /foo/a/b. we'd have to have /foo/{bar}/{baz} for that15:25
tcrawleywhich means we'd have to know how deep the user nests routes15:25
tcrawleyif they do (GET "/a/b/c" [] ...), we have to have "/{a}/{b}/{c}"15:26
tcrawleya uri template would be *way* better if it just had wildcard matching, but it doesn't15:27
jcrossley3tcrawley: what about if we expose the endpoint's :path option to as-channel?15:28
tcrawleythat won't help, because this all happens before we ever call clojure. an upgrade request comes in, wf looks at the servletPath + pathInfo to find the endpoint. if the endpoint is found, an upgrade is initiated. if it's not found, it continues as an http request15:30
tcrawleyso when as-channel is called, it's called via the normal http path, so as-channel creates a stream instead of ws15:30
tcrawleyand the ws client pukes, because it didn't get a proper upgrade request15:30
tcrawleys/request/response/15:31
jcrossley3hmm15:33
*** statonjr <statonjr!~statonjr@209.34.239.254> has quit IRC (Quit: statonjr)15:52
*** je <je!~je@mail.natur-energi.dk> has quit IRC (Ping timeout: 255 seconds)16:00
jcrossley3tcrawley: if you have access to the HttpServletRequest, you can rip out all the delegating rot i added yesterday16:04
*** cap10morgan__ <cap10morgan__!~cap10morg@71-208-146-237.hlrn.qwest.net> has quit IRC (Quit: Computer has gone to sleep.)16:07
tcrawleyjcrossley3: yes, maybe so. I'm going to get what I have passing all the tests (after I pull your changes), then take a look16:34
*** tcrawley is now known as tcrawley-away16:40
*** tcrawley-away is now known as tcrawley16:48
*** statonjr <statonjr!~statonjr@cpe-098-024-171-126.carolina.res.rr.com> has joined #immutant17:13
*** audaxion <audaxion!~siksia@unaffiliated/siksia> has joined #immutant17:18
*** audaxion <audaxion!~siksia@unaffiliated/siksia> has quit IRC (Read error: Connection reset by peer)17:19
*** audaxion <audaxion!~siksia@unaffiliated/siksia> has joined #immutant17:21
*** siksia <siksia!~siksia@unaffiliated/siksia> has joined #immutant17:23
*** cemerick <cemerick!~cemerick@c-24-34-140-98.hsd1.ma.comcast.net> has quit IRC (Ping timeout: 245 seconds)17:26
*** audaxion <audaxion!~siksia@unaffiliated/siksia> has quit IRC (Ping timeout: 252 seconds)17:26
*** GitHub166 <GitHub166!~GitHub166@192.30.252.42> has joined #immutant17:49
GitHub166[wunderboss] tobias pushed 3 new commits to master: http://git.io/OfoRSw17:49
GitHub166wunderboss/master ca7d375 Toby Crawley: Allow adding filters to a servlet.17:49
GitHub166wunderboss/master ac96ea1 Toby Crawley: Add a filter that can trick ws endpoint matches for any pathInfo.17:49
GitHub166wunderboss/master f9a9041 Toby Crawley: Undertow doesn't automatically notify with the correct closure reason on...17:49
*** GitHub166 <GitHub166!~GitHub166@192.30.252.42> has left #immutant17:49
jbossbotTitle: Comparing 08f73c7aaaf1...f9a904105e58 · projectodd/wunderboss · GitHub17:49
projectodd-ciProject wunderboss-incremental build #182: FAILURE in 3 min 55 sec: https://projectodd.ci.cloudbees.com/job/wunderboss-incremental/182/17:53
projectodd-ci* Toby Crawley: Allow adding filters to a servlet.17:53
projectodd-ci* Toby Crawley: Add a filter that can trick ws endpoint matches for any pathInfo.17:53
projectodd-ci* Toby Crawley: Undertow doesn't automatically notify with the correct closure reason on17:53
*** astoon <astoon!~astoon@91.202.45.54> has joined #immutant17:55
*** dm3 <dm3!~dm3@pub158181119172.dh-hfc.datazug.ch> has quit IRC (Ping timeout: 265 seconds)18:07
*** galderz <galderz!~galder@redhat/jboss/galderz> has quit IRC (Quit: Leaving)18:10
projectodd-ciYippie, build fixed!18:14
projectodd-ciProject wunderboss-incremental build #183: FIXED in 9 min 3 sec: https://projectodd.ci.cloudbees.com/job/wunderboss-incremental/183/18:14
*** mgoldmann is now known as mgoldmann|away18:16
*** marianoguerra <marianoguerra!~marianogu@emesene/grandpa/marianoguerra> has quit IRC (Ping timeout: 255 seconds)18:19
*** astoon <astoon!~astoon@91.202.45.54> has quit IRC (Quit: astoon)18:53
*** jcrossle_ <jcrossle_!~user@71-90-202-246.dhcp.stls.mo.charter.com> has joined #immutant19:23
*** jcrossley3 <jcrossley3!~user@redhat/jboss/jc3> has quit IRC (Ping timeout: 265 seconds)19:25
*** jcrossle_ <jcrossle_!~user@71-90-202-246.dhcp.stls.mo.charter.com> has quit IRC (Quit: ERC Version 5.3 (IRC client for Emacs))19:30
*** jcrossley3 <jcrossley3!~user@redhat/jboss/jc3> has joined #immutant19:30
*** DomKM <DomKM!uid23709@gateway/web/irccloud.com/x-semnbztlhwasehqh> has joined #immutant19:38
*** cemerick <cemerick!~cemerick@c-24-34-140-98.hsd1.ma.comcast.net> has joined #immutant19:49
*** je <je!~je@x1-6-c0-3f-0e-f8-01-dc.cpe.webspeed.dk> has joined #immutant19:54
*** astoon <astoon!~astoon@91.202.45.54> has joined #immutant20:11
*** dm3 <dm3!~dm3@pub158181107115.dh-hfc.datazug.ch> has joined #immutant20:36
*** GitHub72 <GitHub72!~GitHub72@192.30.252.41> has joined #immutant20:53
GitHub72[wunderboss] tobias pushed 1 new commit to master: http://git.io/uRjJIA20:53
GitHub72wunderboss/master b8ffd5d Toby Crawley: Grab the HttpServerExchange for use in the ws upgrade.20:53
*** GitHub72 <GitHub72!~GitHub72@192.30.252.41> has left #immutant20:53
jbossbotTitle: Grab the HttpServerExchange for use in the ws upgrade. · b8ffd5d · projectodd/wunderboss · GitHub20:53
jcrossley3tcrawley: did you consider an attachment vs a thread local?20:56
tcrawleywhat can I attach it to?20:56
tcrawleyI considered it, but didn't know where I could attach it20:56
tcrawleyif there's a place to do so, I'd happily do that20:57
jcrossley3to the returned handler?20:57
jcrossley3i guess you don't have the exchange when you're creating it20:58
jcrossley3is our pain threshold too high for this stuff?20:59
tcrawleyI guess it is. I feel like I'm in a morass of my own creation - but I'm determined to get out :)21:00
jcrossley3:)21:00
tcrawleythe good news is, to take advantage of ^ in Immutant, I'm mostly deleting code21:00
jcrossley3code that we weren't crazy about adding in the first place21:01
tcrawley_exactly_21:01
projectodd-ciProject wunderboss-incremental build #184: SUCCESS in 8 min 46 sec: https://projectodd.ci.cloudbees.com/job/wunderboss-incremental/184/21:02
projectodd-ciToby Crawley: Grab the HttpServerExchange for use in the ws upgrade.21:02
jcrossley3in light of other solution-before-problem discussions going on elsewhere, it might be good to step back and clearly define the problem we're solving so the value (feature for cost) is apparent21:03
jcrossley3for me, it's the ability to define ws callbacks in the scope of a ring handler21:04
jcrossley3is that it? :)21:04
tcrawleyand to support sente21:04
tcrawleyand to give users a way to do chunked streaming21:04
jcrossley3does that include SSE, btw?21:05
tcrawleyit should, yes. that's on my list to test, but it should be just assoc'ing "content-type" "text/event-stream" on to the result of as-channel, and doing (send! ch "event: foo\ndata: bar\n\n")21:07
tcrawleyhopefully21:07
jbossbotgit [immutant] push thedeuce 333f29e.. Toby Crawley Use non-snapshot plugin for integs.21:09
jbossbotgit [immutant] push thedeuce b0041ea.. Toby Crawley Use a filter to allow websockets to be active for any path.21:09
jbossbotgit [immutant] push thedeuce 7a29f7a.. Toby Crawley Use a HttpServerExchange for ws upgrades.21:09
jbossbotgit [immutant] push thedeuce URL: http://github.com/immutant/immutant/compare/e11dba8...7a29f7a21:09
tcrawleyjcrossley3: do we need to go back 3 years and define the problem we're solving? :)21:10
jcrossley3prolly21:11
*** cemerick <cemerick!~cemerick@c-24-34-140-98.hsd1.ma.comcast.net> has quit IRC (Ping timeout: 276 seconds)21:18
*** marianoguerra <marianoguerra!~marianogu@p548FC4C2.dip0.t-ipconnect.de> has joined #immutant21:27
*** marianoguerra <marianoguerra!~marianogu@emesene/grandpa/marianoguerra> has joined #immutant21:27
*** astoon <astoon!~astoon@91.202.45.54> has quit IRC (Quit: astoon)21:33
projectodd-ciProject immutant2-incremental build #437: SUCCESS in 27 min: https://projectodd.ci.cloudbees.com/job/immutant2-incremental/437/21:38
projectodd-ci* Toby Crawley: Use non-snapshot plugin for integs.21:38
projectodd-ci* Toby Crawley: Use a filter to allow websockets to be active for any path.21:38
projectodd-ci* Toby Crawley: Use a HttpServerExchange for ws upgrades.21:38
tcrawleyjcrossley3: do you want to give SSE a try?21:38
jcrossley3tcrawley: sure!21:38
tcrawleyhere's what I know about it: http://dev.w3.org/html5/eventsource/21:38
jbossbotTitle: Server-Sent Events21:38
jcrossley3kk!21:41
*** kschrader <kschrader!uid41175@gateway/web/irccloud.com/x-wjmhandsimyycubh> has joined #immutant21:48
*** conan_ <conan_!~conan@mdproctor.plus.com> has quit IRC (Quit: Computer has gone to sleep.)21:52
*** conan_ <conan_!~conan@mdproctor.plus.com> has joined #immutant21:57
*** dm3 <dm3!~dm3@pub158181107115.dh-hfc.datazug.ch> has quit IRC (Remote host closed the connection)22:00
*** dm3 <dm3!~dm3@pub158181107115.dh-hfc.datazug.ch> has joined #immutant22:01
*** jcrossley3 is now known as jcrossley3-away22:04
*** dm3 <dm3!~dm3@pub158181107115.dh-hfc.datazug.ch> has quit IRC (Ping timeout: 245 seconds)22:05
*** je <je!~je@x1-6-c0-3f-0e-f8-01-dc.cpe.webspeed.dk> has quit IRC (Ping timeout: 272 seconds)22:05
*** siksia is now known as audaxion22:09
*** cemerick <cemerick!~cemerick@c-24-34-140-98.hsd1.ma.comcast.net> has joined #immutant22:12
*** bbrowning is now known as bbrowning_away22:14
*** lanceball is now known as lance|afk22:14
*** GitHub13 <GitHub13!~GitHub13@192.30.252.45> has joined #immutant22:34
GitHub13[wunderboss] tobias pushed 1 new commit to master: http://git.io/aDaEhw22:34
GitHub13wunderboss/master 79cd15e Toby Crawley: Capture the ServletRequest for use in the downstream ws upgrade.22:34
*** GitHub13 <GitHub13!~GitHub13@192.30.252.45> has left #immutant22:34
jbossbotTitle: Capture the ServletRequest for use in the downstream ws upgrade. · 79cd15e · projectodd/wunderboss · GitHub22:34
*** GitHub66 <GitHub66!~GitHub66@192.30.252.40> has joined #immutant22:36
GitHub66[wunderboss] tobias pushed 1 new commit to master: http://git.io/E7MoKg22:36
GitHub66wunderboss/master 672859d Toby Crawley: We don't need this any longer.22:36
*** GitHub66 <GitHub66!~GitHub66@192.30.252.40> has left #immutant22:36
jbossbotTitle: We don't need this any longer. · 672859d · projectodd/wunderboss · GitHub22:36
projectodd-ciProject wunderboss-incremental build #185: FAILURE in 2 min 58 sec: https://projectodd.ci.cloudbees.com/job/wunderboss-incremental/185/22:37
projectodd-ciToby Crawley: Capture the ServletRequest for use in the downstream ws upgrade.22:37
projectodd-ciProject wunderboss-incremental build #186: STILL FAILING in 3 min 2 sec: https://projectodd.ci.cloudbees.com/job/wunderboss-incremental/186/22:40
projectodd-ciToby Crawley: We don't need this any longer.22:40
*** cemerick <cemerick!~cemerick@c-24-34-140-98.hsd1.ma.comcast.net> has quit IRC (Ping timeout: 265 seconds)22:47
*** cemerick <cemerick!~cemerick@c-24-34-140-98.hsd1.ma.comcast.net> has joined #immutant22:50
projectodd-ciYippie, build fixed!22:53
projectodd-ciProject wunderboss-incremental build #187: FIXED in 7 min 56 sec: https://projectodd.ci.cloudbees.com/job/wunderboss-incremental/187/22:53
*** astoon <astoon!~astoon@91.202.45.54> has joined #immutant23:06
jbossbotgit [immutant] push thedeuce 446c6c0.. Toby Crawley Store the ServletRequest for use as part of the handshake....23:10
jbossbotgit [immutant] push thedeuce URL: http://github.com/immutant/immutant/commit/446c6c05723:10
*** tcrawley is now known as tcrawley-away23:13
*** cemerick <cemerick!~cemerick@c-24-34-140-98.hsd1.ma.comcast.net> has quit IRC (Ping timeout: 276 seconds)23:24
projectodd-ciProject immutant2-incremental build #438: SUCCESS in 20 min: https://projectodd.ci.cloudbees.com/job/immutant2-incremental/438/23:31
projectodd-ciToby Crawley: Store the ServletRequest for use as part of the handshake.23:31
*** marianoguerra <marianoguerra!~marianogu@emesene/grandpa/marianoguerra> has quit IRC (Ping timeout: 245 seconds)23:45

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