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

Bug 1163337

Summary: Cross site state transfer - status of push gets stuck at "SENDING" after being cancelled
Product: [JBoss] JBoss Data Grid 6 Reporter: Matej Čimbora <mcimbora>
Component: InfinispanAssignee: Tristan Tarrant <ttarrant>
Status: CLOSED CURRENTRELEASE QA Contact: Martin Gencur <mgencur>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 6.4.0CC: dstahl, jdg-bugs, pruivo
Target Milestone: ER7   
Target Release: 6.4.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:

Description Matej Čimbora 2014-11-12 14:22:33 UTC
Tested version: ER3, server

After invoking: site --cancelpush backupSite on the producer site, status of the push operation seems to get stuck at "SENDING" value (tested by site --pushstatus), even if state transfer is not currently in progress.
Invoking site --cancelreceive mainSite on the consumer site works correctly. New invocation of site --push backupsite leads to "X-Site state transfer to '%s' already started!" being displayed. The issue seems to be caused by XSiteStateTransferManagerImpl.siteCollector not being cleared.

Comment 2 Matej Čimbora 2014-11-13 07:19:53 UTC
Used configuration:
distributed caches, site A: 2 nodes, site B: 3 nodes, B is a backup for A.

Scenario
- Start A,B
- Take B offline using takeSiteOffline
- Load data into A
- Push state into B
- CancelPushState B
-- PushStateStatus remains stuck at SENDING & new push is not possible

Comment 4 Matej Čimbora 2014-12-04 10:45:22 UTC
The issue is fixed and push operation can be reinvoked after it had been cancelled. However, push status remains at value "CANCELLED", even if push operation is reinvoked and state transfer is currently in progress.

- Sites LON (lonCache) - main, BRN (brnCache) - backup

Consider the following scenario:   

[standalone@localhost:9999 distributed-cache=lonCache] site --push BRN
ok
[standalone@localhost:9999 distributed-cache=lonCache] site --cancelpush BRN
ok
[standalone@localhost:9999 distributed-cache=lonCache] site --pushstatus
BRN=CANCELED
[standalone@localhost:9999 distributed-cache=lonCache] site --push BRN
ok
[standalone@localhost:9999 distributed-cache=lonCache] site --pushstatus
BRN=CANCELED
[standalone@localhost:9999 distributed-cache=lonCache] site --pushstatus
BRN=OK

IMO expected behavior is:

[standalone@localhost:9999 distributed-cache=lonCache] site --push BRN
ok
[standalone@localhost:9999 distributed-cache=lonCache] site --cancelpush BRN
ok
[standalone@localhost:9999 distributed-cache=lonCache] site --pushstatus
BRN=CANCELED
[standalone@localhost:9999 distributed-cache=lonCache] site --push BRN
ok
[standalone@localhost:9999 distributed-cache=lonCache] site --pushstatus
BRN=SENDING
[standalone@localhost:9999 distributed-cache=lonCache] site --pushstatus
BRN=OK

This is obviously a bit confusing, can you please confirm this behavior is expected?

Comment 5 Matej Čimbora 2014-12-09 09:05:55 UTC
Verified, new bz will be created for aforementioned error.