Whether or not it should be seamless, 404 seems infinitely worse than 500.
On Fri, Mar 14, 2014 at 8:56 AM, Robert Nikander <[email protected]>wrote: > Upgrading to Jetty 9.1.3 fixed the NullPointerExceptions. But now, > instead of the 500 error, I get a 404 not found error for a second while > the app is redeploying. So, my question remains: is that normal, or is > re-deployment supposed to work seamlessly? > > Rob > > > On Mar 14, 2014, at 9:02 AM, Robert Nikander <[email protected]> > wrote: > > > Ah, this may be fixed in newer Jetty versions. I’ll try upgrading. > > > > https://bugs.eclipse.org/bugs/show_bug.cgi?id=417475 > > > > Rob > > > > On Mar 14, 2014, at 8:49 AM, Robert Nikander <[email protected]> > wrote: > > > >> Jan, > >> > >> I believe the rsync is finished. I use a shell script and and the two > commands are sequential. Here is the script, and some log messages. > >> > >> #!/bin/bash > >> rsync -v myapp.war myserver:/opt/webapps > >> rsync -v deployment/myapp.xml myserver:/opt/jetty/webapps/ > >> > >> If I run that, the logs show a stop and start. > >> > >> 2014-03-14 12:37:01.706:INFO:oejsh.ContextHandler:Scanner-0: Stopped > o.e.j.w.WebAppContext@358ee631 > {/myapp,file:/tmp/jetty-0.0.0.0-8080-myapp.war-_myapp-any-/webapp/,UNAVAILABLE}{/myapp.war} > >> 2014-03-14 12:37:03.644:INFO:oejsh.ContextHandler:Scanner-0: Started > o.e.j.w.WebAppContext@760aa0cd > {/myapp,file:/tmp/jetty-0.0.0.0-8080-myapp.war-_myapp-any-/webapp/,AVAILABLE}{/myapp.war} > >> > >> I ran the script again, but this time kept reloading a page in the > browser, to trigger an error. Between the stop and the start messages, I > see a bunch of errors like this: > >> > >> 2014-03-14 12:37:33.079:WARN:oejs.HttpChannel:qtp121295574-906: > /myapp/static/common/angular/angular-sanitize.min.js > >> java.lang.NullPointerException > >> at > org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:192) > >> at > org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:109) > >> at > org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97) > >> at > org.eclipse.jetty.rewrite.handler.RewriteHandler.handle(RewriteHandler.java:317) > >> at > org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97) > >> at org.eclipse.jetty.server.Server.handle(Server.java:445) > >> at > org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:268) > >> at > org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:229) > >> at > org.eclipse.jetty.io.AbstractConnection$ReadCallback.run(AbstractConnection.java:358) > >> at > org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:601) > >> at > org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:532) > >> at java.lang.Thread.run(Thread.java:744) > >> > >> Rob > >> > >> > >> On Mar 13, 2014, at 10:27 PM, Jan Bartel <[email protected]> wrote: > >> > >>> Robert, > >>> > >>> Are you sure that the rsync has finished by the time you touch the xml > file? > >>> > >>> Upgrading is generally a good idea :), but I can't think of anything > >>> specifically that would affect the hot redeployment (other than the > >>> war file not being fully copied). > >>> > >>> Might be able to comment more if you could post an example of the log > messages. > >>> > >>> cheers > >>> Jan > >>> > >>> On 14 March 2014 02:33, Robert Nikander <[email protected]> > wrote: > >>>> Hi, > >>>> > >>>> (I posted on stackoverflow first [1] but no answers, so I'll try > here.) > >>>> > >>>> I have the usual web app deployer as described in the docs [2] and > defined in etc/jetty-deploy.xml. I use an xml file to define my web app > context, so when I push new code to my production server, I upload a new > myapp.war file using `rsync` and then touch that myapp.xml file. This works > pretty well, but there are few seconds where the app throws a > NullPointerException or other weirdness, and some users appear to be > getting corrupt statically served files (.js files from the war), so that > they have to flush their browser's cache for the app to work again. > >>>> > >>>> Is this supposed to work perfectly, or do you expect a brief dead > period like this? Is there a recommended way to deploy new code without > the 2-second snafu? > >>>> > >>>> Jetty is behind nginx with simple proxy configuration, if that > matters. I'm running 9.0.5, but could upgrade. > >>>> > >>>> thanks, > >>>> Rob > >>>> > >>>> > >>>> [1] > http://stackoverflow.com/questions/22357690/can-jetty-hot-redeployment-work-without-service-interruption > >>>> [2] > http://www.eclipse.org/jetty/documentation/current/hot-deployment.html > >>>> _______________________________________________ > >>>> jetty-users mailing list > >>>> [email protected] > >>>> https://dev.eclipse.org/mailman/listinfo/jetty-users > >>> > >>> > >>> > >>> -- > >>> Jan Bartel <[email protected]> > >>> www.webtide.com > >>> 'Expert Jetty/CometD developer,production,operations advice' > >>> _______________________________________________ > >>> jetty-users mailing list > >>> [email protected] > >>> https://dev.eclipse.org/mailman/listinfo/jetty-users > >> > > > > _______________________________________________ > jetty-users mailing list > [email protected] > https://dev.eclipse.org/mailman/listinfo/jetty-users >
_______________________________________________ jetty-users mailing list [email protected] https://dev.eclipse.org/mailman/listinfo/jetty-users
