Bug 1055420 - NPE in cluster demo when rtgov is enabled
Summary: NPE in cluster demo when rtgov is enabled
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: JBoss Fuse Service Works 6
Classification: JBoss
Component: Examples
Version: 6.0.0 GA
Hardware: Unspecified
OS: Unspecified
unspecified
high
Target Milestone: CR2
: 6.0.0
Assignee: Gary Brown
QA Contact: Jiri Sedlacek
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2014-01-20 08:45 UTC by Jiri Pechanec
Modified: 2015-08-02 23:46 UTC (History)
6 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Users will encounter a null-pointer error in the cluster quick start when collection is enabled on node1. The issue is caused by the 'rtgov.request.received' property having a null value.
Clone Of:
Environment:
Last Closed: 2014-02-06 15:26:26 UTC
Type: Bug


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Issue Tracker RTGOV-324 0 Major Closed NPE occurring when rtgov enabled with switchyard cluster demo 2014-07-02 09:19:06 UTC

Description Jiri Pechanec 2014-01-20 08:45:30 UTC
Modify the cluster demo to use the following deployment (see Readme.md)
1 RTGov server
node1, node2, node3

When collection is disabled, then the demo works.
When collection is enabled on node2 and node3 then the demo works.

When collection is enabled on node1 then the demo fails - the client returns
log4j:WARN No appenders could be found for logger (org.jboss.logging).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
Oops ... something bad happened.  org.switchyard.HandlerException: org.switchyard.SwitchYardException: SWITCHYARD010813: Cannot convert from 'org.switchyard.quickstarts.demo.cluster.Offer' to 'org.switchyard.quickstarts.demo.cluster.Application'.  No registered Transformer available for transforming from 'java:org.switchyard.quickstarts.demo.cluster.Offer' to 'java:org.switchyard.quickstarts.demo.cluster.Application'.  A Transformer must be registered.

And either node2 or node3 contains a NPE in log
09:43:58,419 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/switchyard-remote].[SwitchYardRemotingServlet]] (http-/127.0.0.1:11080-1) JBWEB000236: Servlet.service() for servlet SwitchYardRemotingServlet threw exception: java.lang.NullPointerException
	at org.switchyard.bus.camel.CamelCompositeContext.setProperties(CamelCompositeContext.java:207) [switchyard-bus-camel-1.1.1-p4-redhat-1.jar:1.1.1-p4-redhat-1]
	at org.switchyard.component.sca.SwitchYardRemotingServlet.doPost(SwitchYardRemotingServlet.java:90) [switchyard-component-sca-1.1.1-p4-redhat-1.jar:1.1.1-p4-redhat-1]
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:754) [jboss-servlet-api_3.0_spec-1.0.2.Final-redhat-1.jar:1.0.2.Final-redhat-1]
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:847) [jboss-servlet-api_3.0_spec-1.0.2.Final-redhat-1.jar:1.0.2.Final-redhat-1]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.7.0_25]
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) [rt.jar:1.7.0_25]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.7.0_25]
	at java.lang.reflect.Method.invoke(Method.java:606) [rt.jar:1.7.0_25]
	at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:263)
	at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:261)
	at java.security.AccessController.doPrivileged(Native Method) [rt.jar:1.7.0_25]
	at javax.security.auth.Subject.doAsPrivileged(Subject.java:536) [rt.jar:1.7.0_25]
	at org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:295)
	at org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:155)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:288)
	at org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:59)
	at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:197)
	at java.security.AccessController.doPrivileged(Native Method) [rt.jar:1.7.0_25]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:149)
	at org.jboss.modcluster.container.jbossweb.JBossWebContext$RequestListenerValve.event(JBossWebContext.java:91)
	at org.jboss.modcluster.container.jbossweb.JBossWebContext$RequestListenerValve.invoke(JBossWebContext.java:72)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:145)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:97)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:102)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:336)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:653)
	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:920)
	at java.lang.Thread.run(Thread.java:724) [rt.jar:1.7.0_25]

Comment 1 Jiri Pechanec 2014-01-20 09:40:13 UTC
The issue is caused ba property 'rtgov.request.received' having null value.

Comment 2 Gary Brown 2014-01-20 11:33:57 UTC
Looks like a change in behaviour in swyd as https://bugzilla.redhat.com/show_bug.cgi?id=1014496 shows clustering worked in ER7. However interestingly the same node1 exception occurred when testing the fix in the community edition at the time - but did not affect the clustered invocation.

Comment 3 Gary Brown 2014-01-20 14:45:28 UTC
Jiri found that remote invoker quickstart is not affected by this issue, so it looks like it is specific to the cluster demo. He tracked the problem down to the fact that the TransientWrapper class is not accessible according to the org.switchyard.serial.graph.node.NodeBuilder class.

Therefore have switched to using the Transient property label, which Jiri has tested and seems to work.

Comment 4 JBoss JIRA Server 2014-01-20 14:47:47 UTC
Gary Brown <gary@brownuk.com> updated the status of jira RTGOV-324 to Resolved

Comment 5 Jiri Pechanec 2014-01-24 11:18:18 UTC
Verified in CR2

Comment 6 JBoss JIRA Server 2014-07-02 09:19:06 UTC
Gary Brown <gary@brownuk.com> updated the status of jira RTGOV-324 to Closed


Note You need to log in before you can comment on or make changes to this bug.