Bugzilla will be upgraded to version 5.0 on a still to be determined date in the near future. The original upgrade date has been delayed.
Bug 900714 - (JBPAPP6-1067) SingletonService is not stopped after cluster split/merge
SingletonService is not stopped after cluster split/merge
Status: CLOSED NEXTRELEASE
Product: JBoss Enterprise Application Platform 6
Classification: JBoss
Component: Clustering (Show other bugs)
6.0.0
Unspecified Unspecified
high Severity high
: ---
: EAP 6.0.1
Assigned To: Paul Ferraro
http://jira.jboss.org/jira/browse/JBP...
cluster service singleton
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2012-07-19 04:33 EDT by Wolf-Dieter Fink
Modified: 2013-11-30 10:18 EST (History)
6 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Two servers in standalone-ha mode
Last Closed: 2012-10-26 06:24:57 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)


External Trackers
Tracker ID Priority Status Summary Last Updated
JBoss Issue Tracker JBPAPP-10152 Major Resolved SingletonService is not stopped after cluster split/merge 2017-08-31 02:32 EDT
JBoss Issue Tracker JBPAPP6-1067 Major Closed SingletonService is not stopped after cluster split/merge 2017-08-31 02:32 EDT

  None (edit)
Description Wolf-Dieter Fink 2012-07-19 04:33:13 EDT
Affects: Release Notes
Steps to Reproduce: - Start two nodes with standalone-ha.xml
- Deploy quickstart cluster-ha-singleton-ejb
- The timer is started once and log every ten seconds
- stop the node with the timer (Ctrl-Z in the console)
- wait for shunning and the timer start on the second
- resume the node (command fg)
- After the cluster is merged both timers are active
project_key: JBPAPP6

If a SingletonService is deployed on both nodes it will start on one node only, also it works if nodes are leaving or joining the cluster if it is shutdowned, crashed or started.
But in case of a cluster merge I expect that the method stop() will be called.
But the service is still running on two nodes after merge.
Comment 1 Wolf-Dieter Fink 2012-07-19 04:33:14 EDT
Link: Added: This issue Cloned from AS7-5218
Comment 2 Wolf-Dieter Fink 2012-07-19 04:34:32 EDT
Workflow: Removed: GIT Pull Request workflow  Added: jira
Security: Added: Public
Docs QE Status: Added: NEW
Comment 3 Paul Ferraro 2012-08-08 16:14:45 EDT
Issue is fixed and is awaiting testing against latest EAP DR.
Comment 4 Wolf-Dieter Fink 2012-10-09 10:40:09 EDT
Link: Added: This issue Cloned to JBPAPP-10152
Comment 6 Dana Mison 2012-10-19 00:40:12 EDT
Affects: Added: Release Notes
Comment 7 Dana Mison 2012-10-19 03:04:37 EDT
Release Notes Docs Status: Added: Not Yet Documented
Writer: Added: tomwells
Comment 8 Tom WELLS 2012-10-22 01:40:56 EDT
Hey Guys,

Could someone please provide me with a summary of what caused this issue, what the consequence for the customer was, how it was fixed, and how SingletonService behaves differently now.

Thanks.
Comment 9 Tom WELLS 2012-10-22 01:40:56 EDT
Release Notes Docs Status: Removed: Not Yet Documented Added: Needs More Info
Comment 10 Wolf-Dieter Fink 2012-10-22 02:23:16 EDT
Hey Tom,

a SingletonService is implemented as a service that will only run once in a clustered environment. This has worked as expected if cluster members are started and stopped by 'normal' admin operations.
But if there are network problems (disconnected) and the cluster was splitted there are two clusters and each act as 'one and only' so the result is that two instances of the SingletonService are active, which is correct at this moment.
After the members find together again there are two active instances and one of it must be stopped to respect the singleton approach, but the problem was that two (or more) instances stay active whitout respect to the elected cluster-master node which is unwanted.
With the fix the instance which is running on the not elected node will be deactivated by calling the stop() method of the instance and the result is one active instance on the elected cluster-master node.
Comment 11 Tom WELLS 2012-10-23 02:06:34 EDT
Release Notes Docs Status: Removed: Needs More Info Added: Documented as Resolved Issue
Release Notes Text: Added: One instance of SingletonService is intended to run per cluster. If a cluster is split due to networking issues, one instance of the SingletonService would run in each cluster, which caused problems when the split cluster members rejoined the original cluster. The instance run in the non-elected cluster-master node is now deactivated by calling its stop() method, and there is only one active instance.
Comment 12 Ladislav Thon 2012-10-26 06:24:57 EDT
Verified on EAP 6.0.1 ER3
Comment 13 Anne-Louise Tangring 2012-11-13 15:21:00 EST
Release Notes Docs Status: Removed: Documented as Resolved Issue 
Writer: Removed: tomwells 
Release Notes Text: Removed: One instance of SingletonService is intended to run per cluster. If a cluster is split due to networking issues, one instance of the SingletonService would run in each cluster, which caused problems when the split cluster members rejoined the original cluster. The instance run in the non-elected cluster-master node is now deactivated by calling its stop() method, and there is only one active instance. 
Docs QE Status: Removed: NEW 

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