Bug 458665

Summary: cman sends too many notification callbacks
Product: Red Hat Enterprise Linux 5 Reporter: Christine Caulfield <ccaulfie>
Component: cmanAssignee: Christine Caulfield <ccaulfie>
Status: CLOSED NOTABUG QA Contact: Cluster QE <mspqa-list>
Severity: low Docs Contact:
Priority: medium    
Version: 5.3CC: cluster-maint, edamato
Target Milestone: rc   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2008-11-12 08:42:21 UTC Type: ---
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
Patch none

Description Christine Caulfield 2008-08-11 13:46:39 UTC
Description of problem:

When a node joins or leaves the cluster, cman sends a notification callback for every remaining node in the cluster, rather than just one per transition.

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

How reproducible:
Every time

Steps to Reproduce:
1. Start a cluster
2. Run the cman/test/libtest program on one node
3. start and stop nodes
  
Actual results:

You will see lots of 
"callback called reason = 1, arg=0"
messages when a node leaves or joins. One per node in the cluster

Expected results:
A single callback for each transition.

Additional info:

The new confchg callback does not suffer from this, and is recommended (though hardly used) in new code.

Comment 1 Christine Caulfield 2008-08-11 14:57:40 UTC
Created attachment 313972 [details]
Patch

This patch fixes the problem by using the sync() features of corosync.

We can't simply apply this to RHEL5 (or maybe not even STABLE2) because it will break wire-protocol compatibility.

Steve plans to fix this for corosync but maybe not for earlier openais releases, so if we want to fix this for versions before cluster3 some careful additional thought will be needed.

Comment 2 Christine Caulfield 2008-11-12 08:42:21 UTC
After much thought, I think that a 'fix' is not worth it. In fact a callback per node might actually be useful.