users@grizzly.java.net

Re: Exception during FilterChain execution

From: Oleksiy Stashok <oleksiy.stashok_at_oracle.com>
Date: Wed, 11 Feb 2015 01:21:30 -0800

Hi Tiran,

is it possible for you to create a testcase so I can try to reproduce
the problem locally?
Or I can prepare you a patch and try to find out when exactly
MultiLinePacket gets saved to the FilterChain store.

WBR,
Alexey.

On 11.02.15 01:04, Meltser Tiran wrote:
>
> Hi Alexey,
>
> I call filterChainCtx.getStopAction() [*note without arguments*] in 2
> places:
>
> 1.In the MultiLinePacket itself, following the same logic of the
> MultiLinePacket shown in the examples; note it is used for front end
> and backend filter chains
>
> 2.Right after closing the front end client’s connection
> (connection.close()); this also causes the backend server connection
> to be closed
>
> Please note that the stack trace shows the problem happens when
> writing a request to my backend server (I’m acting as a client here,
> in general I’m a proxy so I both a server and a client at the same
> time, using Grizzly both way).
>
> Hope that sheds some light on the issue.
>
> *Tiran Meltser***
> System Architect
> Global Products & Operations
> *Comverse* – /Making Your Network Smarter/
>
> T +972-3-7678381
> M +972-54-5639381
> Tiran.Meltser_at_comverse.com <mailto:Tiran.Meltser_at_comverse.com>
> *www.comverse.com <http://www.comverse.com/> *
>
> *P****Please think of the environment before printing this email***
>
> *From:*Oleksiy Stashok [mailto:oleksiy.stashok_at_oracle.com]
> *Sent:* Wednesday, February 11, 2015 10:39 AM
> *To:* users_at_grizzly.java.net
> *Subject:* Re: Exception during FilterChain execution
>
> Hi Tiran,
>
> do you ever call something like
> filterChainCtx.getStopAction(multiLinePacket)?
>
> WBR,
> Alexey.
>
> On 10.02.15 22:55, Meltser Tiran wrote:
>
> Hi,
>
> When running a load test on our applications, a very small
> percentage of the requests fails with the following exception:
>
> /WARNING: GRIZZLY0013: Exception during FilterChain execution/
>
> */java.lang.ClassCastException:
> com.comverse.mist.app.rte.grizzly.filters.io.payload.MultiLinePacket
> cannot be cast to org.glassfish.grizzly.Appendable/*
>
> / at
> org.glassfish.grizzly.filterchain.DefaultFilterChain$FilterStateElement.append(DefaultFilterChain.java:701)/
>
> / at
> org.glassfish.grizzly.filterchain.DefaultFilterChain$FilterStateElement.access$600(DefaultFilterChain.java:640)/
>
> / at
> org.glassfish.grizzly.filterchain.DefaultFilterChain$FiltersState.append(DefaultFilterChain.java:634)/
>
> / at
> org.glassfish.grizzly.filterchain.DefaultFilterChain$FiltersState.access$200(DefaultFilterChain.java:571)/
>
> / at
> org.glassfish.grizzly.filterchain.DefaultFilterChain.checkStoredMessage(DefaultFilterChain.java:510)/
>
> / at
> org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:197)/
>
> / at
> org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:132)/
>
> / at
> org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:111)/
>
> / at
> org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:77)/
>
> / at
> org.glassfish.grizzly.filterchain.DefaultFilterChain.write(DefaultFilterChain.java:413)/
>
> / at
> org.glassfish.grizzly.nio.NIOConnection.write(NIOConnection.java:418)/
>
> / at
> org.glassfish.grizzly.nio.NIOConnection.write(NIOConnection.java:382)/
>
> / at
> com.comverse.mist.app.rte.protocol.command.AbstractProtocolCommandDispatcher.writeCommandRequestToEndPoint(AbstractProtocolCommandDispatcher.java:611)/
>
> / at
> com.comverse.mist.app.rte.protocol.command.AbstractProtocolCommandDispatcher.doDispatchCommandRequest(AbstractProtocolCommandDispatcher.java:357)/
>
> / at
> com.comverse.mist.app.rte.protocol.command.AbstractProtocolCommandDispatcher.doDispatchCommandRequest(AbstractProtocolCommandDispatcher.java:324)/
>
> / at
> com.comverse.mist.app.rte.protocol.command.AbstractProtocolCommandDispatcher.dispatchCommandRequest(AbstractProtocolCommandDispatcher.java:209)/
>
> / at
> com.comverse.mist.app.rte.protocol.command.AbstractProtocolCommandDispatcher.doDispatchCommandResponse(AbstractProtocolCommandDispatcher.java:547)/
>
> / at
> com.comverse.mist.app.rte.protocol.command.AbstractProtocolCommandDispatcher.dispatchCommandResponse(AbstractProtocolCommandDispatcher.java:369)/
>
> / at
> com.comverse.mist.app.rte.grizzly.filters.AbstractProtocolEndPointFilter.handleRead(AbstractProtocolEndPointFilter.java:184)/
>
> / at
> org.glassfish.grizzly.filterchain.ExecutorResolver$9.execute(ExecutorResolver.java:119)/
>
> / at
> org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:283)/
>
> / at
> org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:200)/
>
> / at
> org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:132)/
>
> / at
> org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:111)/
>
> / at
> org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:77)/
>
> / at
> org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:536)/
>
> / at
> org.glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.java:112)/
>
> / at
> org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.run0(WorkerThreadIOStrategy.java:117)/
>
> / at
> org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.access$100(WorkerThreadIOStrategy.java:56)/
>
> / at
> org.glassfish.grizzly.strategies.WorkerThreadIOStrategy$WorkerThreadRunnable.run(WorkerThreadIOStrategy.java:137)/
>
> / at
> org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:565)/
>
> / at
> org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:545)/
>
> / at java.lang.Thread.run(Thread.java:745)/
>
> The object failing to be casted in our derivation of the
> MultiLinePacket (which doesn’t implement Appendable of course,
> similar to the original MultiLinePacket).
>
> *Can someone advise on why are we getting this error and what
> leads to this flow (after all, the vast majority of the flows pass
> without a problem)?*
>
> *Tiran****Meltser *
> System Architect
> Global Products & Operations
> *Comverse* – /Making Your Network Smarter/
>
> T +972-3-7678381
> M +972-54-5639381
> Tiran.Meltser_at_comverse.com <mailto:Tiran.Meltser_at_comverse.com>
> *www.comverse.com <http://www.comverse.com/> *
>
> *P **Please think of the environment before printing this email *
>
> ------------------------------------------------------------------------
>
> “This e-mail message may contain confidential, commercial or
> privileged information that constitutes proprietary information of
> Comverse Inc. or its subsidiaries. If you are not the intended
> recipient of this message, you are hereby notified that any
> review, use or distribution of this information is absolutely
> prohibited and we request that you delete all copies and contact
> us by e-mailing to: security_at_comverse.com
> <mailto:security_at_comverse.com>. Thank You.”
>
> ------------------------------------------------------------------------
> “This e-mail message may contain confidential, commercial or
> privileged information that constitutes proprietary information of
> Comverse Inc. or its subsidiaries. If you are not the intended
> recipient of this message, you are hereby notified that any review,
> use or distribution of this information is absolutely prohibited and
> we request that you delete all copies and contact us by e-mailing to:
> security_at_comverse.com. Thank You.”