Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.

Bug 880633

Summary: WSRP clustering - Unable to display portlet after failover with new consumer - Value cannot be found in storage for cached Property
Product: [JBoss] JBoss Enterprise Portal Platform 6 Reporter: Michal Vanco <mvanco>
Component: PortalAssignee: Default User <jbpapp-maint>
Status: CLOSED WORKSFORME QA Contact: Martin Vecera <mvecera>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 6.0.0CC: bdawidow, claprun, epp-bugs, mvecera, theute, vrockai
Target Milestone: DR01   
Target Release: 6.1.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-05-08 23:17:18 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
Error log
none
FacesException during BZ reproduction none

Description Michal Vanco 2012-11-27 13:15:05 UTC
Description of problem:
There is an error in WSRP admin which blocks the usage of wsrp admin in cluster, simple scenario of creating consumer and kill one of the nodes lead to error and inability to use wsrp admin again.

Error is:
Caused by: javax.jcr.RepositoryException: Value cannot be found in storage for cached Property []:1[http://www.gatein.org/jcr/wsrp/1.0/]producerinfos:1[]unity1:1[]registration:1[]state:1, orderNumb:0, pversion:0
(more in attached log)

Version-Release number of selected component (if applicable):
JPP 6.0.0 ER03 (includes wsrp fixes for clustering)

How reproducible:
always

Steps to Reproduce:
1. setup 2-node clusters + loadbalancer - start all nodes
2. access loadbalancer (verify with some browser tool which node is used - suffix of jsessionid)
3. go to wsrp and create new consumer (for example netunity)
4. kill active node & wait few seconds
5. go to WSRP admin portlet (or refresh or go somewhere and go back) -> error
  
Actual results:
Portlet not dipsplayed (only "This portlet encountered an error and could not be displayed") and error in log (attached)

Expected results:
WSRP admin portlet should be displayed with new registered consumer

Comment 1 Michal Vanco 2012-11-27 13:19:33 UTC
Created attachment 652697 [details]
Error log

Comment 2 Michal Vanco 2012-11-27 13:25:50 UTC
Unfortunately even the restart of both nodes doesn't help.

Comment 3 claprun@redhat.com 2012-11-28 09:46:16 UTC
I cannot reproduce this error with either GateIn master or JPP ER03… :(

Comment 4 claprun@redhat.com 2012-11-28 09:55:17 UTC
Here's the procedure I followed:
- Loadbalancer
- Clustered JPP:
  + Copied jboss-jpp-6.0 directory to gatein-node1 and gatein-node2
  + Started H2 DB: java -cp gatein-node1/modules/com/h2database/h2/main/h2-1.3.168-redhat-1.jar
  + Started node 1: gatein-node1/bin/standalone.sh --server-config=standalone-ha.xml -Djboss.node.name=node1 -Djboss.socket.binding.port-offset=100 -Djgroups.bind_addr=192.168.1.100
  + Started node 2: gatein-node2/bin/standalone.sh --server-config=standalone-ha.xml -Djboss.node.name=node2 -Djboss.socket.binding.port-offset=200 -Djgroups.bind_addr=192.168.1.100
  + Added new consumer (add to work around JSF issues, WSRP admin UI doesn't work well in clustered mode)
  + And then followed procedure above.

Comment 5 Michal Vanco 2012-11-28 12:08:30 UTC
Hi Chris,
seems like it's happening only if the remote producer has some registration properties because I haven't reproduced it with bea or netunity 1, but when I again tried netunity 2 which have some properties - I hit the issue again.

Please try with following URL: http://www.netunitysoftware.com/wsrp2interop/WsrpProducer.asmx?Operation=WSDL&WsrpVersion=Two

And it's important to stop active node otherwise you won't see the issue. If you start the previous node again and kill current one, it will work again with the node where you registered before.

Comment 6 Michal Vanco 2012-11-28 12:10:57 UTC
And as discussed I think that your PBR/UI issues are caused by usage of single machine with ports offset. There is a shared cookie which is causing expiration when you switch between nodes.
I haven't seen any UI issues in WSRP admin if I have 2 cluster nodes on separate machines.
Plus one more comment - use jvmRoute system property to see the active node suffix at jsessionid.

Comment 7 Michal Vanco 2012-11-29 11:12:32 UTC
Same here - reproduced on gatein master (only netunity 2 is causing this failure). On first access I also hit error attached at BZ 881004 - https://bugzilla.redhat.com/attachment.cgi?id=654188

Comment 8 Viliam Rockai 2013-01-07 16:50:18 UTC
I was able to reproduce the error on my local machine. I didn't use the port-offset, but virtual IPs on single machine (so I was able to use mod_jk loadbalancer) when running the JPP cluster.

I've created a HOWTO doc on docspace how to setup such cluster:
https://docspace.corp.redhat.com/docs/DOC-128322

Comment 9 Viliam Rockai 2013-01-08 12:57:46 UTC
false alarm - I'm getting other error than the one reported. I'm going to try to reproduce it with MySQL.

Comment 10 Viliam Rockai 2013-01-08 14:58:17 UTC
I wasn't able to reproduce the error locally with MySQL.

Comment 11 Viliam Rockai 2013-01-08 15:00:04 UTC
Created attachment 674887 [details]
FacesException during BZ reproduction

I've upload log with the error I'm getting while trying to reproduce this BZ.

Comment 12 claprun@redhat.com 2013-01-11 10:50:13 UTC
This one I still can't reproduce, nor the FacesException. :(

Comment 13 Michal Vanco 2013-01-24 12:14:09 UTC
Unfortunately I have reproduced the issue with clustered JPP 6.0.0 ER05 (+ MySQL).

Comment 15 Boleslaw Dawidowicz 2013-04-17 08:33:36 UTC
This will need to be verified again

Comment 16 claprun@redhat.com 2013-04-30 15:32:25 UTC
Still can't reproduce this with WSRP 2.2.5.Final and EAP 6.1.0.ER5 (+ MySQL)