users@grizzly.java.net

Re: AJP connector exception..

From: Oleksiy Stashok <oleksiy.stashok_at_oracle.com>
Date: Sat, 30 Apr 2011 00:47:44 +0200

Hi,

>
> I'm not sure how to give a test case? Do you want a sample application?
>
It could be jersey app.

> I will try to do a simple GET hello world and see. BTW, I converted
> the app
>
> to be deployed in a Tomcat container, and it works through Tomcat
> connector
>
> fine (AJP).
>
Yeah, tomcat has long AJP story, but we want to have our own
implementation, which will be really non-blocking.

Thank you in advance.

WBR,
Alexey.
>
> Thanks!
>
> Regards,
>
> Mohan KR
>
> *From:*Oleksiy Stashok [mailto:oleksiy.stashok_at_oracle.com]
> *Sent:* Friday, April 29, 2011 10:05 AM
> *To:* users_at_grizzly.java.net
> *Subject:* Re: AJP connector exception..
>
> Mohan,
>
> pls. send us a testcase to reproduce the issue, I'll check it asap.
>
> WBR,
> Alexey.
>
>
> On 04/29/2011 04:29 PM, Mohan KR (mkannapa) wrote:
>
> Before I dive into the issue, if someone has come across this issue:
>
> * I have a standalone Grizzly 2.1 container hosting a RESTful
> service (jersey 1.6)
>
> * It is fronted by Apache 2.0.x with mod_jk.
>
> I see the request come in to my standalone container. But it is
> throwing an exception, wonder
>
> if there is something I missed (I have used the standard AjpAddOn to
> enable the AJP listener),
>
> it appears the headers are messed up?
>
> java.lang.StringIndexOutOfBoundsException: String index out of range:
> -203
> at java.lang.String.checkBounds(String.java:397)
> at java.lang.String.<init>(String.java:482)
> at
> org.glassfish.grizzly.memory.HeapBuffer.toStringContent(HeapBuffer.java:815)
>
> at
> org.glassfish.grizzly.http.util.BufferChunk.toString(BufferChunk.java:291)
>
> at
> org.glassfish.grizzly.http.util.DataChunk.toString(DataChunk.java:206)
> at
> org.glassfish.grizzly.http.util.DataChunk.toString(DataChunk.java:200)
> at
> org.glassfish.grizzly.http.util.NamesIterator.findNext(MimeHeaders.java:452)
>
> at
> org.glassfish.grizzly.http.util.NamesIterator.next(MimeHeaders.java:479)
> at
> org.glassfish.grizzly.http.util.NamesIterator.next(MimeHeaders.java:434)
> at
> org.glassfish.grizzly.http.server.util.Enumerator.nextElement(Enumerator.java:211)
>
> at
> com.sun.jersey.spi.container.servlet.WebComponent.getHeaders(WebComponent.java:873)
>
> at
> com.sun.jersey.spi.container.servlet.WebComponent.createRequest(WebComponent.java:444)
>
> at
> com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:378)
>
> at
> com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:537)
>
> at
> com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:699)
>
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
> at
> org.glassfish.grizzly.servlet.ServletHandler$FilterChainImpl.doFilter(ServletHandler.java:975)
>
> at
> org.glassfish.grizzly.servlet.ServletHandler$FilterChainImpl.invokeFilterChain(ServletHandler.java:914)
>
> at
> org.glassfish.grizzly.servlet.ServletHandler.doServletService(ServletHandler.java:374)
>
> at
> org.glassfish.grizzly.servlet.ServletHandler.service(ServletHandler.java:322)
>
> at
> org.glassfish.grizzly.http.server.HttpHandler.doHandle(HttpHandler.java:162)
>
> at
> org.glassfish.grizzly.http.server.HttpHandlerChain.service(HttpHandlerChain.java:195)
>
> at
> org.glassfish.grizzly.http.server.HttpHandler.doHandle(HttpHandler.java:162)
>
> at
> org.glassfish.grizzly.http.server.HttpServerFilter.handleRead(HttpServerFilter.java:160)
>
> at
> org.glassfish.grizzly.filterchain.ExecutorResolver$3.execute(ExecutorResolver.java:95)
>
> at
> org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:444)
>
> at
> org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:364)
>
> at
> org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:290)
>
> at
> org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:133)
>
> at
> org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:76)
>
> at
> org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:63)
>
> at
> org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:823)
>
> at
> org.glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.java:113)
>
> at
> org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.run0(WorkerThreadIOStrategy.java:116)
>
> at
> org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.access$000(WorkerThreadIOStrategy.java:55)
>
> at
> org.glassfish.grizzly.strategies.WorkerThreadIOStrategy$1.run(WorkerThreadIOStrategy.java:98)
>
> at
> org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:508)
>
> at
> org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:488)
>
> at java.lang.Thread.run(Thread.java:619)
>
>
> Thanks!
>
> Regards,
>
> Mohan KR
>