ServiceMix Components
  1. ServiceMix Components
  2. SMXCOMP-969

Sporadic IllegalStateException "Endpoint not found" on provider side for oneway operation

    Details

    • Type: Bug Bug
    • Status: Open
    • Priority: Major Major
    • Resolution: Unresolved
    • Affects Version/s: 2010.02
    • Fix Version/s: None
    • Component/s: servicemix-common
    • Labels:
      None
    • Environment:

      Windows, MacOS, Linux

      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.

        Activity

        Andrei Shakirin created issue -
        Andrei Shakirin made changes -
        Field Original Value New Value
        Description 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 request 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.
        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 request 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.
        Andrei Shakirin made changes -
        Description 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 request 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.
        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.
        Andrei Shakirin made changes -
        Description 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.
        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.
        Gert Vanthienen made changes -
        Project ServiceMix [ 12311206 ] ServiceMix Components [ 12311212 ]
        Key SM-2017 SMXCOMP-969
        Affects Version/s 2010.02 [ 12316008 ]
        Affects Version/s archetypes-2010.01 [ 12315730 ]
        Component/s servicemix-common [ 12314032 ]
        Component/s servicemix-common [ 12313976 ]

          People

          • Assignee:
            Unassigned
            Reporter:
            Andrei Shakirin
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:

              Development