Bug 974433

Summary: Running JPP in Domain mode throws an exception when jvmRoute or instance-id is used for profile full which is non clustered.
Product: [JBoss] JBoss Enterprise Portal Platform 6 Reporter: Dominik Pospisil <dpospisi>
Component: PortalAssignee: Lucas Ponce <lponce>
Status: VERIFIED --- QA Contact: Martin Vecera <mvecera>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 6.1.0CC: bdawidow, epp-bugs, nobody, tkyjovsk
Target Milestone: ER02Keywords: Reopened
Target Release: 6.2.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-06-28 10:47:55 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
Test case
none
Test case 2 none

Description Dominik Pospisil 2013-06-14 07:56:57 UTC
Description of problem:

Standalone profile throws an exception during boot when jvmRoute system property or instance-id web subsystem attribute is used.

Both jvmRoute and instance-id are related to clustering, however this work without any problem with JPP 6.0, so this is a regression.

Version-Release number of selected component (if applicable):


How reproducible:

Allways

Steps to Reproduce:
1. unzip ER1
2. add jvmRoute system property to standalone.xml:
<property name="jvmRoute" value="test"/>
3. launch ER1

Actual results:

09:49:08,492 ERROR [org.infinispan.interceptors.InvocationContextInterceptor] (ServerService Thread Pool -- 63) ISPN000136: Execution error: org.infinispan.marshall.NotSerializableException: org.jboss.as.clustering.registry.RegistryService$1                                                                                                                                                   
Caused by: an exception which occurred:                                                                                                                                                           




09:49:08,493 ERROR [org.infinispan.transaction.TransactionCoordinator] (ServerService Thread Pool -- 63) ISPN000188: Error while processing a commit in a two-phase transaction: org.infinispan.marshall.NotSerializableException: org.jboss.as.clustering.registry.RegistryService$1                                                                                                               
Caused by: an exception which occurred:                                                                                                                                                           




09:49:08,494 ERROR [org.infinispan.transaction.tm.DummyTransaction] (ServerService Thread Pool -- 63) ISPN000111: afterCompletion() failed for SynchronizationAdapter{localTransaction=LocalTransaction{remoteLockedNodes=null, isMarkedForRollback=false, lockedKeys=null, backupKeyLocks=null, topologyId=-1, isFromStateTransfer=false} org.infinispan.transaction.synchronization.SyncLocalTransaction@1} org.infinispan.transaction.synchronization.SynchronizationAdapter@20: org.infinispan.CacheException: Could not commit.                                                                  


















Caused by: javax.transaction.xa.XAException                                                                                                                                                       





09:49:08,523 INFO  [org.jboss.web] (ServerService Thread Pool -- 63) JBAS018210: Register web context: /jpp-branding-extension
09:49:08,528 INFO  [org.jboss.web] (ServerService Thread Pool -- 50) JBAS018210: Register web context: /wsrp-admin-gui
09:49:08,581 ERROR [org.infinispan.interceptors.InvocationContextInterceptor] (ServerService Thread Pool -- 50) ISPN000136: Execution error: org.infinispan.marshall.NotSerializableException: org.jboss.as.clustering.registry.RegistryService$1                                                                                                                                                   
Caused by: an exception which occurred:                                                                                                                                                           




09:49:08,583 ERROR [org.infinispan.interceptors.InvocationContextInterceptor] (ServerService Thread Pool -- 63) ISPN000136: Execution error: org.infinispan.marshall.NotSerializableException: org.jboss.as.clustering.registry.RegistryService$1                                                                                                                                                   
Caused by: an exception which occurred:                                                                                                                                                           




09:49:08,583 ERROR [org.infinispan.transaction.TransactionCoordinator] (ServerService Thread Pool -- 63) ISPN000188: Error while processing a commit in a two-phase transaction: org.infinispan.marshall.NotSerializableException: org.jboss.as.clustering.registry.RegistryService$1                                                                                                               
Caused by: an exception which occurred:                                                                                                                                                           




09:49:08,584 ERROR [org.infinispan.transaction.tm.DummyTransaction] (ServerService Thread Pool -- 63) ISPN000111: afterCompletion() failed for SynchronizationAdapter{localTransaction=LocalTransaction{remoteLockedNodes=null, isMarkedForRollback=false, lockedKeys=null, backupKeyLocks=null, topologyId=-1, isFromStateTransfer=false} org.infinispan.transaction.synchronization.SyncLocalTransaction@3} org.infinispan.transaction.synchronization.SynchronizationAdapter@22: org.infinispan.CacheException: Could not commit.                                                                  
































Caused by: javax.transaction.xa.XAException                                                                                                                                                       





Exception thrown:


Expected results:


Additional info:

Comment 1 Lucas Ponce 2013-06-17 09:07:00 UTC
Created attachment 761961 [details]
Test case

Comment 2 Lucas Ponce 2013-06-17 09:19:51 UTC
The issue can be reproduced in JBoss EAP 6.1 (AS 7.2.0.Final-redhat-8).

When the standalone.xml has the "jvmRoute" system property, the profile is expecting to work under a clustering configuration.

If the "jvmRoute" property is set but there is not distributable cache configuration in Infinispan, this issue can be reproduced.

I think this is a bug, due a customer can have a "farming" architecture, this means, you can have a load balancer with sticky session flag, but not clustering in the backend.

In this case, there are two possible workarounds:

- If a customer doesn't want to use clustering but they want to use "jvmRoute", <distributable /> mark should be removed from web.xml applications.

- Or update standalone.xml to standalone-ha.xml to have clustering configuration enabled.

The attachment is a simple web application where the issue can be tested.

The steps to reproduce are:

1.- unzip EAP 6.1.
2.- use the standalone.xml profile.
3.- add jvmRoute in standalone.xml as a system property with value = "test".
4.- Deploy attachment application into EAP 6.1.

Comment 3 Lucas Ponce 2013-06-17 09:41:11 UTC
Created attachment 761973 [details]
Test case 2

Other test case with serializable objects in session, so error can be reproduced with a valid <distributable > application.

If <distributable /> tag is present, developer is responsible to make serializable all objects that are going to be stored in the http session.

But in this case, error is still happening.

Comment 5 Boleslaw Dawidowicz 2013-06-28 10:47:55 UTC
Corresponding EAP bug is marked to be fixed in EAP 6.1.1 - we won't be able to pick it up for JPP 6.1.0.GA. 

I'm closing as DEFERRED - aas there is no futher JPP release to move it to at this point. 

Status depends on EAP fix availability in the future.

Comment 6 Boleslaw Dawidowicz 2013-06-28 11:27:27 UTC
Should be reopened once 6.2.0 is added to the system. No way to mark it atm.

Comment 7 Martin Weiler 2014-05-08 13:17:58 UTC
Re-opening to ensure this is fixed in JPP 6.2.0 release based on EAP 6.3.0.

Comment 8 Anurag 2014-05-09 12:11:47 UTC
Hello All,

The issue does not happens when using standalone*.xml in JPP-6.1.

However, the issue is reproducible when running in Domain mode and only for profiles full and default since they do not have clustering features.

How to reproduce:

1) Add the below system property, along with the other portal properties that are already present.

<system-properties>
 <property name="java.net.preferIPv4Stack" value="true"/>
 ...
 ...
 <property name="jvmRoute" value="node1"/>
</system-properties>

2) Below is how the <server-groups> is defined in the domain.xml

<server-groups>
        <server-group name="main-server-group" profile="full">
            <jvm name="default">
                ...
            </jvm>
            <socket-binding-group ref="full-sockets"/>
        </server-group>
        <server-group name="other-server-group" profile="full-ha">
            <jvm name="default">
                ...
            </jvm>
            <socket-binding-group ref="full-ha-sockets"/>
        </server-group>
<server-groups>

3) Server entry in host.xml

<servers>
        <server name="server-one" group="main-server-group" auto-start="true">
        </server>
       <server name="server-two" group="other-server-group" auto-start="true">
	<socket-bindings port-offset="150"/>
 	</server>
<servers>

4) The /portal.war/WEB-INF/web.xml , /gatein/extensions/gatein-wsrp-integration.ear/wsrp-admin-gui.war/WEB-INF/web.xml and /gatein/extensions/jpp-branding-extension.ear/jpp-branding-extension.war/WEB-INF/web.xml already has <distributable/> applied.

5) Start the server and the above reported exception can be seen.


Removing the <distributable/> tag gets rid of the issue. But since JBoss is running in the Domain mode, changes to the GateIn is applied to all the profiles. 
Also was seen that gatein.ear does not gets deplyed for the profiles full-ha and ha.

Comment 11 Tomas Kyjovsky 2014-05-28 14:13:31 UTC
I reproduced all described issues with 6.1.0 ER1 or CR3(==GA).

Retested with 6.2.0.ER2:
- standalone.xml startup exceptions - OK
- standalone.xml + web-serializable.war - OK
- domain.xml server-one:full & server-two:full-ha (Anurag's test case)
  - OK, gatein.ear deployed fine on both nodes
- domain.xml server-one:default & server-one:ha
  - OK, gatein.ear deployed fine on both nodes