dev@grizzly.java.net

Re: Sometimes a static content is not served

From: Jeanfrancois Arcand <Jeanfrancois.Arcand_at_Sun.COM>
Date: Thu, 02 Jul 2009 13:16:40 -0400

Salut,

take a look at the stack trace I did below. One things that looks
incorrect is the fact that the GrizzlyWebServer seems to override the
previously set value. Still looking....

A+

--Jeanfrancois

> jfarcand_at_jfarcand-desktop:/appserv80/grizzly/trunk/modules/bundles/http-servlet-deployer$ java -jar target/grizzly-http-servlet-deployer-1.9.17-SNA
> PSHOT.jar -p 8080 -a /appserv80/tmp/examples.war
> handleStaticResources false
> java.lang.Exception: Stack trace
> at java.lang.Thread.dumpStack(Thread.java:1206)
> at com.sun.grizzly.tcp.http11.GrizzlyAdapter.setHandleStaticResources(GrizzlyAdapter.java:269)
> at com.sun.grizzly.tcp.http11.GrizzlyAdapterChain.<init>(GrizzlyAdapterChain.java:110)
> at com.sun.grizzly.http.embed.GrizzlyWebServer.<init>(GrizzlyWebServer.java:309)
> at com.sun.grizzly.http.embed.GrizzlyWebServer.<init>(GrizzlyWebServer.java:408)
> at com.sun.grizzly.http.embed.GrizzlyWebServer.<init>(GrizzlyWebServer.java:383)
> at com.sun.grizzly.http.embed.GrizzlyWebServer.<init>(GrizzlyWebServer.java:352)
> at com.sun.grizzly.http.servlet.deployer.GrizzlyWebServerDeployer.launch(GrizzlyWebServerDeployer.java:1102)
> at com.sun.grizzly.http.servlet.deployer.GrizzlyWebServerDeployer.main(GrizzlyWebServerDeployer.java:1252)
> 2-Jul-2009 1:12:18 PM com.sun.grizzly.http.servlet.deployer.GrizzlyWebServerDeployer deploy
> INFO: Will deploy application path=/tmp/examples/WEB-INF/web.xml
> handleStaticResources false
> java.lang.Exception: Stack trace
> at java.lang.Thread.dumpStack(Thread.java:1206)
> at com.sun.grizzly.tcp.http11.GrizzlyAdapter.setHandleStaticResources(GrizzlyAdapter.java:269)
> at com.sun.grizzly.http.servlet.deployer.GrizzlyWebServerDeployer.deploy(GrizzlyWebServerDeployer.java:553)
> at com.sun.grizzly.http.servlet.deployer.GrizzlyWebServerDeployer.deployWar(GrizzlyWebServerDeployer.java:123)
> at com.sun.grizzly.http.servlet.deployer.GrizzlyWebServerDeployer.deployApplication(GrizzlyWebServerDeployer.java:240)
> at com.sun.grizzly.http.servlet.deployer.GrizzlyWebServerDeployer.deployApplications(GrizzlyWebServerDeployer.java:231)
> at com.sun.grizzly.http.servlet.deployer.GrizzlyWebServerDeployer.launch(GrizzlyWebServerDeployer.java:1121)
> at com.sun.grizzly.http.servlet.deployer.GrizzlyWebServerDeployer.main(GrizzlyWebServerDeployer.java:1252)
> handleStaticResources false
> java.lang.Exception: Stack trace
> at java.lang.Thread.dumpStack(Thread.java:1206)
> at com.sun.grizzly.tcp.http11.GrizzlyAdapter.setHandleStaticResources(GrizzlyAdapter.java:269)
> at com.sun.grizzly.http.embed.GrizzlyWebServer.addGrizzlyAdapter(GrizzlyWebServer.java:495)
> at com.sun.grizzly.http.servlet.deployer.GrizzlyWebServerDeployer.deploy(GrizzlyWebServerDeployer.java:583)
> at com.sun.grizzly.http.servlet.deployer.GrizzlyWebServerDeployer.deployWar(GrizzlyWebServerDeployer.java:123)
> at com.sun.grizzly.http.servlet.deployer.GrizzlyWebServerDeployer.deployApplication(GrizzlyWebServerDeployer.java:240)
> at com.sun.grizzly.http.servlet.deployer.GrizzlyWebServerDeployer.deployApplications(GrizzlyWebServerDeployer.java:231)
> at com.sun.grizzly.http.servlet.deployer.GrizzlyWebServerDeployer.launch(GrizzlyWebServerDeployer.java:1121)
> at com.sun.grizzly.http.servlet.deployer.GrizzlyWebServerDeployer.main(GrizzlyWebServerDeployer.java:1252)
> handleStaticResources true
> java.lang.Exception: Stack trace
> at java.lang.Thread.dumpStack(Thread.java:1206)
> at com.sun.grizzly.tcp.http11.GrizzlyAdapter.setHandleStaticResources(GrizzlyAdapter.java:269)
> at com.sun.grizzly.http.servlet.deployer.GrizzlyWebServerDeployer.deploy(GrizzlyWebServerDeployer.java:606)
> at com.sun.grizzly.http.servlet.deployer.GrizzlyWebServerDeployer.deployWar(GrizzlyWebServerDeployer.java:123)
> at com.sun.grizzly.http.servlet.deployer.GrizzlyWebServerDeployer.deployApplication(GrizzlyWebServerDeployer.java:240)
> at com.sun.grizzly.http.servlet.deployer.GrizzlyWebServerDeployer.deployApplications(GrizzlyWebServerDeployer.java:231)
> at com.sun.grizzly.http.servlet.deployer.GrizzlyWebServerDeployer.launch(GrizzlyWebServerDeployer.java:1121)
> at com.sun.grizzly.http.servlet.deployer.GrizzlyWebServerDeployer.main(GrizzlyWebServerDeployer.java:1252)
> handleStaticResources false
> java.lang.Exception: Stack trace
> at java.lang.Thread.dumpStack(Thread.java:1206)
> at com.sun.grizzly.tcp.http11.GrizzlyAdapter.setHandleStaticResources(GrizzlyAdapter.java:269)
> at com.sun.grizzly.http.embed.GrizzlyWebServer.addGrizzlyAdapter(GrizzlyWebServer.java:495)
> at com.sun.grizzly.http.servlet.deployer.GrizzlyWebServerDeployer.deploy(GrizzlyWebServerDeployer.java:617)
> at com.sun.grizzly.http.servlet.deployer.GrizzlyWebServerDeployer.deployWar(GrizzlyWebServerDeployer.java:123)
> at com.sun.grizzly.http.servlet.deployer.GrizzlyWebServerDeployer.deployApplication(GrizzlyWebServerDeployer.java:240)
> at com.sun.grizzly.http.servlet.deployer.GrizzlyWebServerDeployer.deployApplications(GrizzlyWebServerDeployer.java:231)
> at com.sun.grizzly.http.servlet.deployer.GrizzlyWebServerDeployer.launch(GrizzlyWebServerDeployer.java:1121)
> at com.sun.grizzly.http.servlet.deployer.GrizzlyWebServerDeployer.main(GrizzlyWebServerDeployer.java:1252)
> 2-Jul-2009 1:12:18 PM com.sun.grizzly.http.servlet.deployer.GrizzlyWebServerDeployer deploy
> INFO: deployed application path=/tmp/examples/WEB-INF/web.xml
> handleStaticResources false
> java.lang.Exception: Stack trace
> at java.lang.Thread.dumpStack(Thread.java:1206)
> at com.sun.grizzly.tcp.http11.GrizzlyAdapter.setHandleStaticResources(GrizzlyAdapter.java:269)
> at com.sun.grizzly.tcp.http11.GrizzlyAdapterChain.<init>(GrizzlyAdapterChain.java:110)
> at com.sun.grizzly.http.embed.GrizzlyWebServer.updateGrizzlyAdapters(GrizzlyWebServer.java:593)
> at com.sun.grizzly.http.embed.GrizzlyWebServer.start(GrizzlyWebServer.java:573)
> at com.sun.grizzly.http.servlet.deployer.GrizzlyWebServerDeployer.launch(GrizzlyWebServerDeployer.java:1142)
> at com.sun.grizzly.http.servlet.deployer.GrizzlyWebServerDeployer.main(GrizzlyWebServerDeployer.java:1252)
> handleStaticResources false
> java.lang.Exception: Stack trace
> at java.lang.Thread.dumpStack(Thread.java:1206)
> at com.sun.grizzly.tcp.http11.GrizzlyAdapter.setHandleStaticResources(GrizzlyAdapter.java:269)
> at com.sun.grizzly.http.embed.GrizzlyWebServer.updateGrizzlyAdapters(GrizzlyWebServer.java:608)
> at com.sun.grizzly.http.embed.GrizzlyWebServer.start(GrizzlyWebServer.java:573)
> at com.sun.grizzly.http.servlet.deployer.GrizzlyWebServerDeployer.launch(GrizzlyWebServerDeployer.java:1142)
> at com.sun.grizzly.http.servlet.deployer.GrizzlyWebServerDeployer.main(GrizzlyWebServerDeployer.java:1252)
> 2-Jul-2009 1:12:18 PM com.sun.grizzly.Controller start



Survivant 00 wrote:
> I will check that.
>
> you could also try with the logging.properties level at FINEST.
>
> Deployer will log all the ServletAdapter created.
>
>
> I'll check that tonight.
>
> 2009/7/2 Jeanfrancois Arcand <Jeanfrancois.Arcand_at_sun.com
> <mailto:Jeanfrancois.Arcand_at_sun.com>>
>
> Salut,
>
> Bongjae Chang wrote:
> > Hi,
> >
> > I deploy the attached war with grizzly-http-servlet-deployer,
> sometimes
> > static content is not served.
> >
> > Here is the script.
> >
> > >java -jar grizzly-http-servlet-deployer-1.9.17-SNAPSHOT.jar
> > --port=8080 --application=./examples.war
> >
> > When I debugged the strange behavior, I could see some
> interesting result.
> >
> > I added the debug code to GrizzlyWebServer#updateGrizzlyAdapters()
> > ---
> > private void updateGrizzlyAdapters() {
> > if( adapters.size() == 0 ) {
> > ...
> > } else {
> > for(Entry<GrizzlyAdapter,String[]> entry:
> adapters.entrySet()) {
> > System.out.println( "isHandleStaticResources()=" +
> > entry.getKey().isHandleStaticResources() );
> > ...
> > }
> > ...
> > }
> > }
> > ---
> >
> > When the problem was reproduced, the following message is printed.
> > ---
> > isHandleStaticResources()=true
> > isHandleStaticResources()=false
> > ---
> >
> > When the problem was not reproduced, the following message is
> printed.
> > ---
> > isHandleStaticResources()=false
> > isHandleStaticResources()=true
> > ---
> >
> > I tested it, default two ServletAdapter was created.
> >
> > 1. handleStaticResources = false, servletPath = "", contextPath =
> > "/examples"
> > 2. handleStaticResources = true, servletPath = "/", contextPath =
> > "/examples"
> >
> > And when I request "/examples/1k.jpg" with IE, above 2 should be
> served.
> >
> > But according to adapter's initialization, above 1 used to serve the
> > request, then the problem is reproduced.
> >
> > When the war is deployed, default wrapper and context seem to be
> > overwritten according to adapter's memory value's order.
>
> Thanks. I've filled the issue:
>
> https://grizzly.dev.java.net/issues/show_bug.cgi?id=693
>
> A+
>
> -- Jeanfrancois
>
>
>
> >
> > Thanks.
> >
> > --
> > Bongjae Chang
> >
> >
> >
> >
> >
> ------------------------------------------------------------------------
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: dev-unsubscribe_at_grizzly.dev.java.net
> <mailto:dev-unsubscribe_at_grizzly.dev.java.net>
> > For additional commands, e-mail: dev-help_at_grizzly.dev.java.net
> <mailto:dev-help_at_grizzly.dev.java.net>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe_at_grizzly.dev.java.net
> <mailto:dev-unsubscribe_at_grizzly.dev.java.net>
> For additional commands, e-mail: dev-help_at_grizzly.dev.java.net
> <mailto:dev-help_at_grizzly.dev.java.net>
>
>