[ 
https://issues.apache.org/jira/browse/SM-2017?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Andrei Shakirin updated SM-2017:
--------------------------------

    Description: 
Hi ServiceMix Team,

Could you please help me with the following problem:
Test case: consumer sends some oneway requests to SMX provider.
For some requests (~ 1 from 5) provider reports following stak strace:

java.lang.IllegalStateException: [130]Endpoint not found: 
{http://services.sopware.org/demo/Whiteboard}WhiteboardProvider:localhost
        at 
org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:615)
        at 
org.apache.servicemix.common.AsyncBaseLifeCycle.processExchangeInTx(AsyncBaseLifeCycle.java:474)
        at 
org.apache.servicemix.common.AsyncBaseLifeCycle$2.run(AsyncBaseLifeCycle.java:351)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown 
Source)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
        at java.lang.Thread.run(Unknown Source)

and consumer receives HTTP 500 error.

Detail analyse shows following:
For error requests AsyncBaseLifeCycle.processExchange() received exchange with 
role=Role.Provider. For successfull requests exchange always has 
role=Role.Consumer.
As soon as exchange has provider role, code in 
AsyncBaseLifeCycle.processExchange() cannot find endpoint and throws described 
exception. 
If I change code and try to obtain endpoint as for consumer role (via 
JbiConstants.SENDER_ENDPOINT), scenario works.
It seems that ChannelImpl sometimes changes role for oneway request that causes 
described error.

Regards,
Andrei.

  was:
Hi ServiceMix Team,

Could you please help me with the following problem:
Test case: consumer sends some oneway request to SMX provider.
For some requests (~ 1 from 5) provider reports following stak strace:

java.lang.IllegalStateException: [130]Endpoint not found: 
{http://services.sopware.org/demo/Whiteboard}WhiteboardProvider:localhost
        at 
org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:615)
        at 
org.apache.servicemix.common.AsyncBaseLifeCycle.processExchangeInTx(AsyncBaseLifeCycle.java:474)
        at 
org.apache.servicemix.common.AsyncBaseLifeCycle$2.run(AsyncBaseLifeCycle.java:351)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown 
Source)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
        at java.lang.Thread.run(Unknown Source)

Detail analyse shows following:
For error requests AsyncBaseLifeCycle.processExchange() received exchange with 
role=Role.Provider. For successfull requests exchange always has 
role=Role.Consumer.
As soon as exchange has provider role, code in 
AsyncBaseLifeCycle.processExchange() cannot find endpoint and throws described 
exception. 
If I change code and try to obtain endpoint as for consumer role (via 
JbiConstants.SENDER_ENDPOINT), scenario works.
It seems that ChannelImpl sometimes changes role for oneway request that causes 
described error.

Regards,
Andrei.


> Sporadic IllegalStateException "Endpoint not found" on provider side for 
> oneway operation
> -----------------------------------------------------------------------------------------
>
>                 Key: SM-2017
>                 URL: https://issues.apache.org/jira/browse/SM-2017
>             Project: ServiceMix
>          Issue Type: Bug
>          Components: servicemix-common
>    Affects Versions: archetypes-2010.01
>         Environment: Windows, MacOS, Linux
>            Reporter: Andrei Shakirin
>
> Hi ServiceMix Team,
> Could you please help me with the following problem:
> Test case: consumer sends some oneway requests to SMX provider.
> For some requests (~ 1 from 5) provider reports following stak strace:
> java.lang.IllegalStateException: [130]Endpoint not found: 
> {http://services.sopware.org/demo/Whiteboard}WhiteboardProvider:localhost
>       at 
> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:615)
>       at 
> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchangeInTx(AsyncBaseLifeCycle.java:474)
>       at 
> org.apache.servicemix.common.AsyncBaseLifeCycle$2.run(AsyncBaseLifeCycle.java:351)
>       at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown 
> Source)
>       at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
>       at java.lang.Thread.run(Unknown Source)
> and consumer receives HTTP 500 error.
> Detail analyse shows following:
> For error requests AsyncBaseLifeCycle.processExchange() received exchange 
> with role=Role.Provider. For successfull requests exchange always has 
> role=Role.Consumer.
> As soon as exchange has provider role, code in 
> AsyncBaseLifeCycle.processExchange() cannot find endpoint and throws 
> described exception. 
> If I change code and try to obtain endpoint as for consumer role (via 
> JbiConstants.SENDER_ENDPOINT), scenario works.
> It seems that ChannelImpl sometimes changes role for oneway request that 
> causes described error.
> Regards,
> Andrei.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to