Bug 801734

Summary: Leaves last 1 min regradless of amount of data
Product: [JBoss] JBoss Data Grid 6 Reporter: Michal Linhard <mlinhard>
Component: unspecifiedAssignee: Tristan Tarrant <ttarrant>
Status: VERIFIED --- QA Contact: Nobody <nobody>
Severity: high Docs Contact:
Priority: medium    
Version: 6.0.0CC: jdg-bugs, nobody
Target Milestone: ---   
Target Release: 6.0.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 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
View installation times in ER4 elasticity test none

Description Michal Linhard 2012-03-09 10:07:48 UTC
This is an issue we found lately in performance tests in JDG 6.0.0.ER2
 https://docspace.corp.redhat.com/docs/DOC-94439

We've been working on this with Dan and last result is that Dan reopened JGRP-1424 as he suspects it not being fixed completely.

This is just for the record so that it's not forgotten.

TRACE log of JGroups and Infinispan in the problematic elasticity test:
http://hudson.qa.jboss.com/hudson/view/EDG6/view/EDG-QE/job/edg-60-experiments-mlinhard-perflab/65/

btw: It might be good to add JGroups as Component of "JBoss Enterprise Data Grid 6" product (and rename the product as well)

Comment 1 Michal Linhard 2012-03-09 10:31:04 UTC
JGRP-1428 was probably meant instead of JGRP-1424.

Comment 2 JBoss JIRA Server 2012-03-09 12:22:18 UTC
Bela Ban <bela> made a comment on jira JGRP-1428

After the request is created, even if it misses the new view installed at the same time the request is added, it will get called viewChange(), so its membership should be correct. After this, view change notifications will be handled the normal way.

Can you show me a timing scenario which causes a request to have an incorrect target set ?

Comment 3 JBoss JIRA Server 2012-03-12 12:26:58 UTC
Bela Ban <bela> made a comment on jira JGRP-1428

Here's a scenario which could still reproduce the bug:
- The current view is is V1
- RequestCorrelator.receiveView() installs a new view V2 and starts iterating over requests
- A new Request is added to 'requests'. Because the iterator above iterates on a ConcurrentHashmap, it will iterate over a copy and *not* call viewChange(V2) on the request !
- RequestCorrelator.send(Unicast)Request() now calls viewChange(V1) on the request. V1 is used because the assignment of V2 to RequestCorrelator.view has *not* yet happened !
- RequestCorrelator.receiveView() now assigns V2 to this.view

--> In this scenario, we do *not* call viewChange(V2) on the request, but only use the old view V1 !
==> Moving the assignment of V2 to this.view *before* the iteration should fix the issue

Comment 4 JBoss JIRA Server 2012-03-12 12:28:12 UTC
Bela Ban <bela> updated the status of jira JGRP-1428 to Resolved

Comment 5 JBoss JIRA Server 2012-03-12 12:28:12 UTC
Bela Ban <bela> made a comment on jira JGRP-1428

Feel free to re-open should the issue persist

Comment 6 Dan Berindei 2012-03-12 12:38:48 UTC
I created ISPN-1904 to upgrade Infinispan to JGroups 3.0.7.

Comment 7 Michal Linhard 2012-03-16 09:11:41 UTC
Created attachment 570542 [details]
View installation times in ER4 elasticity test

Comment 8 Michal Linhard 2012-03-16 09:12:53 UTC
http://hudson.qa.jboss.com/hudson/view/EDG6/view/EDG-REPORTS-RESILIENCE/job/edg-60-elasticity-dist-basic/45/

In ER4 the state transfer no longer takes 1min.