Petals SE RMI

Flow attributes are not initialized on the consumer side

Details

  • Type: Bug Bug
  • Status: Resolved Resolved
  • Priority: Minor Minor
  • Resolution: Fixed
  • Affects Version/s: 1.5.2
  • Fix Version/s: 1.5.3
  • Component/s: Component
  • Security Level: Public
  • Description:
    Hide

    When using the Petals log handler dumping messages in combination with the Petals SE RMI and a RMI client, we get the following NullPointerException:

    java.lang.NullPointerException
     	at java.io.File.<init>(File.java:305)
     	at org.ow2.petals.log.handler.PetalsPayloadDumperFileHandler.getDumpFile(PetalsPayloadDumperFileHandler.java:175)
     	at org.ow2.petals.log.handler.PetalsPayloadDumperFileHandler.dumpMessageExchange(PetalsPayloadDumperFileHandler.java:138)
     	at org.ow2.petals.log.handler.PetalsPayloadDumperFileHandler.publish(PetalsPayloadDumperFileHandler.java:107)
     	at java.util.logging.Logger.log(Logger.java:509)
     	at java.util.logging.Logger.doLog(Logger.java:531)
     	at java.util.logging.Logger.log(Logger.java:575)
     	at org.ow2.petals.component.framework.process.MessageExchangeProcessor.processAsProvider(MessageExchangeProcessor.java:462)
     	at org.ow2.petals.component.framework.process.MessageExchangeProcessor.process(MessageExchangeProcessor.java:342)
     	at org.ow2.petals.component.framework.process.MessageExchangeProcessor.run(MessageExchangeProcessor.java:257)
     	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
     	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
     	at java.lang.Thread.run(Thread.java:662)
    Show
    When using the Petals log handler dumping messages in combination with the Petals SE RMI and a RMI client, we get the following NullPointerException:
    java.lang.NullPointerException
     	at java.io.File.<init>(File.java:305)
     	at org.ow2.petals.log.handler.PetalsPayloadDumperFileHandler.getDumpFile(PetalsPayloadDumperFileHandler.java:175)
     	at org.ow2.petals.log.handler.PetalsPayloadDumperFileHandler.dumpMessageExchange(PetalsPayloadDumperFileHandler.java:138)
     	at org.ow2.petals.log.handler.PetalsPayloadDumperFileHandler.publish(PetalsPayloadDumperFileHandler.java:107)
     	at java.util.logging.Logger.log(Logger.java:509)
     	at java.util.logging.Logger.doLog(Logger.java:531)
     	at java.util.logging.Logger.log(Logger.java:575)
     	at org.ow2.petals.component.framework.process.MessageExchangeProcessor.processAsProvider(MessageExchangeProcessor.java:462)
     	at org.ow2.petals.component.framework.process.MessageExchangeProcessor.process(MessageExchangeProcessor.java:342)
     	at org.ow2.petals.component.framework.process.MessageExchangeProcessor.run(MessageExchangeProcessor.java:257)
     	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
     	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
     	at java.lang.Thread.run(Thread.java:662)
  • Environment:
    -

Issue Links

Activity

Hide
Christophe DENEUX added a comment - Wed, 15 Apr 2015 - 10:24:48 +0200

The flow attributes must be:

  • initialized on the RMI client side,
  • and, correctly set on the message exchange sent,
  • MONIT traces should be also generated
Show
Christophe DENEUX added a comment - Wed, 15 Apr 2015 - 10:24:48 +0200 The flow attributes must be:
  • initialized on the RMI client side,
  • and, correctly set on the message exchange sent,
  • MONIT traces should be also generated
Hide
Christophe DENEUX added a comment - Wed, 15 Apr 2015 - 11:53:54 +0200

Fixed in branch petals-4.3.x

Show
Christophe DENEUX added a comment - Wed, 15 Apr 2015 - 11:53:54 +0200 Fixed in branch petals-4.3.x
Hide
Christophe DENEUX added a comment - Wed, 15 Apr 2015 - 11:54:07 +0200

Reopened to be merged in trunk

Show
Christophe DENEUX added a comment - Wed, 15 Apr 2015 - 11:54:07 +0200 Reopened to be merged in trunk
Hide
Christophe DENEUX added a comment - Wed, 15 Apr 2015 - 17:07:11 +0200

Merged in trunk

Show
Christophe DENEUX added a comment - Wed, 15 Apr 2015 - 17:07:11 +0200 Merged in trunk
Hide
Victor NOËL added a comment - Tue, 21 Apr 2015 - 15:59:36 +0200

For coherence, shouldn't the RMI client also do MONIT logging for:

  • consumes end
  • provides begin/end
  • failures also maybe?

Currently we only get in the log the consumes begin and that's all, for example an execution looks like this:

sample-0 2015/04/21 15:23:18,237 GMT+0200 MONIT [Petals.Container.Components.petals-se-rmi.rmi-server] : traceCode = 'consumeFlowStepBegin', flowInstanceId = '92ca6b80-e829-11e4-86e6-96445830d7e6', flowStepId = '92ca6b81-e829-11e4-86e6-96445830d7e6', flowStepInterfaceName = '{http://petals.ow2.org}HelloWorldInterface', flowStepServiceName = '{http://petals.ow2.org}HelloWorldService', flowStepEndpointName = 'hello-world-camel-xml', flowStepOperationName = '{http://petals.ow2.org}sayHello'
sample-0 2015/04/21 15:23:18,258 GMT+0200 MONIT [Petals.Container.Components.petals-se-camel] : traceCode = 'provideFlowStepBegin', flowInstanceId = '92ca6b80-e829-11e4-86e6-96445830d7e6', flowStepId = '92d34520-e829-11e4-a02d-96445830d7e6', flowStepInterfaceName = '{http://petals.ow2.org}HelloWorldInterface', flowStepServiceName = '{http://petals.ow2.org}HelloWorldService', flowStepOperationName = '{http://petals.ow2.org}sayHello', flowStepEndpointName = 'hello-world-camel-xml', flowPreviousStepId = '92ca6b81-e829-11e4-86e6-96445830d7e6'
sample-0 2015/04/21 15:23:18,281 GMT+0200 MONIT [Petals.Container.Components.petals-se-jsr181] : traceCode = 'provideFlowStepBegin', flowInstanceId = '92ca6b80-e829-11e4-86e6-96445830d7e6', flowStepId = '92d6c790-e829-11e4-a02d-96445830d7e6', flowStepInterfaceName = '{http://petals.ow2.org}HelloInterface', flowStepServiceName = '{http://petals.ow2.org}HelloService', flowStepOperationName = '{http://petals.ow2.org}sayHello', flowStepEndpointName = 'HelloEndpoint', flowPreviousStepId = '92d34520-e829-11e4-a02d-96445830d7e6'
sample-0 2015/04/21 15:23:18,296 GMT+0200 MONIT [Petals.Container.Components.petals-se-jsr181] : traceCode = 'provideFlowStepEnd', flowInstanceId = '92ca6b80-e829-11e4-86e6-96445830d7e6', flowStepId = '92d6c790-e829-11e4-a02d-96445830d7e6'
sample-0 2015/04/21 15:23:18,305 GMT+0200 MONIT [Petals.Container.Components.petals-se-camel] : traceCode = 'provideFlowStepEnd', flowInstanceId = '92ca6b80-e829-11e4-86e6-96445830d7e6', flowStepId = '92d34520-e829-11e4-a02d-96445830d7e6'

Notes: it's also missing MONIT traces from the camel component, it's normal

Show
Victor NOËL added a comment - Tue, 21 Apr 2015 - 15:59:36 +0200 For coherence, shouldn't the RMI client also do MONIT logging for:
  • consumes end
  • provides begin/end
  • failures also maybe?
Currently we only get in the log the consumes begin and that's all, for example an execution looks like this:
sample-0 2015/04/21 15:23:18,237 GMT+0200 MONIT [Petals.Container.Components.petals-se-rmi.rmi-server] : traceCode = 'consumeFlowStepBegin', flowInstanceId = '92ca6b80-e829-11e4-86e6-96445830d7e6', flowStepId = '92ca6b81-e829-11e4-86e6-96445830d7e6', flowStepInterfaceName = '{http://petals.ow2.org}HelloWorldInterface', flowStepServiceName = '{http://petals.ow2.org}HelloWorldService', flowStepEndpointName = 'hello-world-camel-xml', flowStepOperationName = '{http://petals.ow2.org}sayHello'
sample-0 2015/04/21 15:23:18,258 GMT+0200 MONIT [Petals.Container.Components.petals-se-camel] : traceCode = 'provideFlowStepBegin', flowInstanceId = '92ca6b80-e829-11e4-86e6-96445830d7e6', flowStepId = '92d34520-e829-11e4-a02d-96445830d7e6', flowStepInterfaceName = '{http://petals.ow2.org}HelloWorldInterface', flowStepServiceName = '{http://petals.ow2.org}HelloWorldService', flowStepOperationName = '{http://petals.ow2.org}sayHello', flowStepEndpointName = 'hello-world-camel-xml', flowPreviousStepId = '92ca6b81-e829-11e4-86e6-96445830d7e6'
sample-0 2015/04/21 15:23:18,281 GMT+0200 MONIT [Petals.Container.Components.petals-se-jsr181] : traceCode = 'provideFlowStepBegin', flowInstanceId = '92ca6b80-e829-11e4-86e6-96445830d7e6', flowStepId = '92d6c790-e829-11e4-a02d-96445830d7e6', flowStepInterfaceName = '{http://petals.ow2.org}HelloInterface', flowStepServiceName = '{http://petals.ow2.org}HelloService', flowStepOperationName = '{http://petals.ow2.org}sayHello', flowStepEndpointName = 'HelloEndpoint', flowPreviousStepId = '92d34520-e829-11e4-a02d-96445830d7e6'
sample-0 2015/04/21 15:23:18,296 GMT+0200 MONIT [Petals.Container.Components.petals-se-jsr181] : traceCode = 'provideFlowStepEnd', flowInstanceId = '92ca6b80-e829-11e4-86e6-96445830d7e6', flowStepId = '92d6c790-e829-11e4-a02d-96445830d7e6'
sample-0 2015/04/21 15:23:18,305 GMT+0200 MONIT [Petals.Container.Components.petals-se-camel] : traceCode = 'provideFlowStepEnd', flowInstanceId = '92ca6b80-e829-11e4-86e6-96445830d7e6', flowStepId = '92d34520-e829-11e4-a02d-96445830d7e6'
Notes: it's also missing MONIT traces from the camel component, it's normal
Hide
Christophe DENEUX added a comment - Tue, 21 Apr 2015 - 16:06:08 +0200

Sure, for coherence:

  • consume end traces should be also added, in my mind, at RMI client level,
  • provide begin/end should be also added. Perhaps linked to another JIRA issue, this one is relative to the consumer side.
Show
Christophe DENEUX added a comment - Tue, 21 Apr 2015 - 16:06:08 +0200 Sure, for coherence:
  • consume end traces should be also added, in my mind, at RMI client level,
  • provide begin/end should be also added. Perhaps linked to another JIRA issue, this one is relative to the consumer side.
Hide
Christophe DENEUX added a comment - Thu, 21 May 2015 - 09:49:47 +0200

The consumer end trace and provider traces are postponed to next version. See PETALSSERMI-14 and PETALSSERMI-15.

Show
Christophe DENEUX added a comment - Thu, 21 May 2015 - 09:49:47 +0200 The consumer end trace and provider traces are postponed to next version. See PETALSSERMI-14 and PETALSSERMI-15.

People

Dates

  • Created:
    Wed, 15 Apr 2015 - 10:23:06 +0200
    Updated:
    Thu, 21 May 2015 - 09:49:48 +0200
    Resolved:
    Thu, 21 May 2015 - 09:49:47 +0200