2009-04-05:
[6:34] <decke> hannesw: good morning... how about updating jetty for helma 1.7 ?[6:36] <hannesw> good morning decke[6:36] <hannesw> hm, minor update, or major one?[6:38] <decke> hannesw: it's jetty 5.1 that is used at the moment i think... and jetty 6 would really be a great improvement performance wise..[6:38] <hannesw> ok. jetty 6.1 is listed as stable here http://docs.codehaus.org/display/JETTY/Downloading+Jetty[6:38] <hannesw> together with jetty 5.1[6:38] <hannesw> i can see what would be involved.[6:39] <decke> i've once come to that point[6:39] <decke> when i thought about doing some sort of "part of the requests should be classified in the request queue"[6:41] <decke> so there were some things to do in jetty to "tag" requests and reorder the waiting queue to prefer the tagged ones...[6:43] <decke> short story short: jetty 6 is an performance improvement and also has a very different API and working scheme[6:44] <decke> ah i called this "Request based Priority Queues" some sort of QoS[6:56] <hannesw> ok, checking now.[6:57] <decke> from looking at jetty's development the only alternative would be 6.1-stable[6:59] <hannesw> hm, lots of compile errors unfortunately[6:59] <hannesw> classes have moved quite a bit between jetty 5.1 and 6.1[6:59] <decke> yeah that's what i meant with "jetty 6 has a different architecture"[7:00] <decke> maybe i wasn't clear enough... there are HUGE differences between 5 and 6 ... they have completely restructured jetty[7:01] <decke> i have already worked on a jetty6 patch a year ago and got it at least working somehow...[7:02] <hannesw> i'll give it a try.[7:02] <decke> doesn't helma-ng use a newer jetty version?[7:03] <hannesw> yes, helma-ng uses jetty 6 (or 6.1)[7:04] <hannesw> and we're using only the servlet api in ng :-)[7:04] <hannesw> nope, wrong...[7:04] <hannesw> but we don't have the deep dependencies like in helm a1[7:06] <decke> i will try to find my helma vs. jetty6 experiments and generate a patch ... maybe it helps a bit (though it doesn't work yet)[7:09] <hannesw> that would be great[7:09] <hannesw> after trying a bit it looks like it's just too much changed.[7:11] <decke> yeah the architecture is very different...[7:11] <decke> but they also implemented a lot of nifty features like Filters[7:11] <decke> Queues and things like that...[7:12] <decke> that really helps you whenever you want to do something in the request queues... (which is why i probably should have a look at helma-ng)[7:14] <decke> brb[7:20] <hannesw> just trying to figure out where the ajp connector is in jetty 6.1.16.[7:20] <hannesw> the sources are in extras/ajp[7:20] <hannesw> but it doesn't seem to be in any jar file...[7:20] <decke> i have here jetty-7.0.0pre1.jar and jetty-ajp-7.0.0pre1.jar[7:21] <decke> and util[7:21] <decke> so the tests were with jetty7 - but architecture between 6 and 7 hasn't changed that much... so it should be easier to switch to 6.1[7:22] <hannesw> ok, found it in lib/ext.[7:23] <hannesw> yes, if we make the step to 6.1 you can probably replace it with 7.[7:25] <decke> no there are no good reasons to use 7 ... at least for me[7:26] <decke> i have to merge the patch with helma-trunk first[7:26] <decke> there are a few merge conflicts atm[7:27] <decke> ah you have changed a few things in ApplicationManager.java yet[7:27] <hannesw> yes. maybe wait a bit, I try if i can do it myself (once i have all dependencies in place)[7:42] <hannesw> decke: I'm giving up (for now)[7:42] <hannesw> If you have a patch I'll be happy to look at it.[7:48] <decke> hannesw: the good thing... most of my conflicts are things you already improved in trunk...[7:48] <decke> so the patch gets smaller and smaller...[7:48] <hannesw> yep, that's good :-)[7:54] <decke> hannesw: http://docs.codehaus.org/display/JETTY/Porting+to+jetty6 that helps a bit...[8:12] <decke> hannesw: is it only me or do they really have dropped the AJP13 connector ?[8:13] <hannesw> nope, this is in helma.main.JettyServer now.[8:13] <decke> ah it looks like they dropped it for 6.0 and reimplemented it with 6.1[8:14] <decke> yes i try to move my code fragments to JettyServer.java now ... but i have no replacement for AJP there...[8:16] <hannesw> It's here: http://www.mortbay.org/apidocs/org/mortbay/jetty/ajp/Ajp13SocketConnector.html[8:16] <decke> ah got it... SocketConnector[8:16] <decke> +++[8:16] <hannesw> packaged in a separate jar in lib/ext.[9:18] <decke> hannesw: don't know if it helps anymore... but here is what is left - completely untested - http://home.bluelife.at/tmp/helma-jetty7-v1.patch[9:19] <hannesw> thanks decke. looks not too bad.[9:20] <decke> hannesw: but probably is... doesn't compile yet (context things aren't fixed yet)[10:42] <decke> hannesw: look's like i'm triggering a bug in trunk (without the jetty6 patches)[10:42] <decke> output when started with ./start.sh on FreeBSD is: Error: Server already running on this port: 0.0.0.0:8080[10:42] <decke> but that's definitely not the case...[10:57] <decke> hannesw: works fine with r9334 so r9335 is the bad one... https://dev.helma.org/trac/helma/changeset/9335[11:14] <decke> hannesw: FIRST request handled with jetty 6.1 :o)[11:35] <hannesw> decke: so the server check does not work on FreeBSD? You always get that error?[11:36] <decke1> hannesw: yes i always get that error...[11:36] <decke1> don't know for linux...[11:46] <hannesw> decke: it works for me on linux. could you maybe check what the exception is we're catchin in line ~392?[11:47] <hannesw> line 404 in current svn snapshot[11:48] <decke> java.net.BindException: Can't assign requested address[11:49] <hannesw> hm... can't assign requested address. whatever that means... :-)[11:49] <hannesw> thanks[11:50] <decke> PORT: 8080 Addr: chii.bluelife.at/10.9.1.14[11:50] <decke> that are the parameters that are passed...[11:50] <decke> the last one looks buggy ;o)[11:51] <hannesw> and you don't have a server running on that port?[11:51] <decke> ah okay that's your toString() of InetEndpoint[11:52] <decke> no i don't ... doesn't matter what port i try[11:52] <decke> checked netstat to be sure...[11:56] <decke> hm the source of java.net.ServerSocket and java.net.plainSocketImpl would be interesting...[11:58] <hannesw> don't you have it?[12:01] <decke> hannesw: good that FreeBSD builds jdk16 from source... so yes i have it ... i'm already looking at it...[12:15] <decke> hannesw: works with 127.0.0.1 and 0.0.0.0 but not with 10.9.1.14 (which is the LAN IP address)[12:16] <decke> ah another part of the puzzle...[12:18] <decke> somewhere helma tries to figure out the host's IP and it decides that "chii.bluelife.at" is the hosts name and looks up that name and gets 10.9.1.14 as IP for it[12:19] <decke> but now i'm sitting in the sun connected by WLAN - so i have an other IP Address[12:19] <decke> and helma tries to bind() to the LAN ip address which the system doesn't know[12:19] <decke> so that's the reason why all this fails...[12:20] <hannesw> decke: ok. what do you define as web server address/port?[12:21] <hannesw> chii.bluelife.at:8080?[12:21] <decke> but one could argue that this is a DNS problem and my laptop should point to it's correct address when he is asked for it...[12:21] <decke> currently it's started with the default start.sh[12:21] <decke> so whatever is in there or helma does automagically[12:24] <decke> hm there is something not quite right i guess.. but it's a bit of a bug of my configuration too...[12:24] <decke> he reports "Server already running on this port: 0.0.0.0:8080" where he means 10.9.1.14:8080[12:30] <decke> is there a way to tell helma on which IP it should bind?[12:32] <decke> ah okay the port parameters can start with an ip address...[12:33] <decke> mhm when setting 10.9.2.14:8080 it works....[12:34] <decke> but when using 0.0.0.0:8080 in the config it does not work because what actually is send to the bind parameter isn't 0.0.0.0 but 10.9.1.14 because helma somewhere looked up 0.0.0.0 => 10.9.1.14[12:36] <hannesw> decke: I just committed a fix, can you check (with your wlan setup) if it fixes the problem?[12:36] <hannesw> (hope it's not too hard with you already patched source code :-)[12:43] <decke> hannesw: it was worth it! - works as expected now[12:44] <hannesw> great. thanks a lot![12:44] <hannesw> also got rid of the custom InetEndpoint class[12:47] <decke> okay now back to jetty...[12:48] <decke> hm... looks like i got it ...[12:49] <decke> first real request served with jetty 6.1.16[12:52] <hannesw> yippie![12:54] <decke> http://home.bluelife.at/tmp/helma-jetty6-v2.patch[12:56] <decke> there are a few things missing - especially context things[12:56] <decke> but it already does something[17:22] <decke> i'm very proud to announce, that i have succeeded... i can serve the welcome app (and probably more) with jetty 6.1[17:22] <decke> http://home.bluelife.at/tmp/helma-jetty6-v3.patch[17:22] <decke> for those of you that love screenshots: http://home.bluelife.at/tmp/helma-jetty6-success.png[17:23] <decke> hannesw , zumbrunn @ knock knock[17:23] <hannesw> yep?[17:23] <hannesw> oh, cool :-)[17:23] <decke> http://home.bluelife.at/tmp/helma-jetty6-success.png[17:24] <hannesw> nice. I'll look at it.[17:24] <hannesw> was it a lot of work?[17:24] <decke> no just one day *g*[17:25] <hannesw> thanks![17:25] <decke> there are a few sharp edges but it actually works...[17:26] <hannesw> what are the sharp edges?[17:26] <decke> more testing is of course needed but well not today *g*[17:26] <decke> getContext() / addContext()[17:26] <decke> and getPathPattern() can probably be removed i think...[17:27] <decke> those patterns are not used anymore[17:27] <decke> and i had to reorder application/servlet and static/resource binding[17:27] <decke> because the app binds to / and static to /static[17:27] <decke> so the app ended up serving all requests[17:29] <decke> and the ajp13 connector hasn't been testet at all yet..[17:29] <hannesw> i see[17:29] <hannesw> i'll test it, maybe tomorrow.[17:30] <decke> would be cool :o)[17:53] <decke> possible spam: http://www.bluelife.at/articles/158/[17:54] <zumbrunn> definitely *not* spam :-)[17:55] <decke> zumbrunn: i've (nearly) finished it :o)[17:55] <decke> it needed about a year of bitrotting before i got my ass up and updated the patch...[17:56] <zumbrunn> :-)[17:56] <zumbrunn> yeah, I've been lurking here all along today
In the channel now:
Logs by date: