You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "LIU (Commented) (JIRA)" <ji...@apache.org> on 2012/01/09 09:22:39 UTC

[jira] [Commented] (QPID-3369) Loss of cluster elder can result in loss of whole cluster

    [ https://issues.apache.org/jira/browse/QPID-3369?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13182411#comment-13182411 ] 

LIU commented on QPID-3369:
---------------------------

get here from google.
recently I encounter this error while testing c++ cluster,reproduce by this:
1. build a cluster with 2 brokers: A and B,it's working
2. a client connects to broker A both producing&consuming messages all the time
3. in broker B,execute the shell command: <iptables -A INPUT -s "A" -j DROP> . I want to test the network error handling in cluster,let broker B drop connections from A.
4. the client received broker update info,remove B from cluster,that's good.
5. after some seconds,may be 10,execute the command in B: <iptabes -D INPUT 1>.let broker B receives connections from A
6. wait some time, both broker A and B get this error:critical Error delivering frames:Cluster timer wakeup non-existent task ManagementAgent::periodicProcessing (qpid/cluster/ClusterTimer.cpp:111); and both brokers shut down!

I'm using qpid ver 0.10 on RHEL5.5
                
> Loss of cluster elder can result in loss of whole cluster
> ---------------------------------------------------------
>
>                 Key: QPID-3369
>                 URL: https://issues.apache.org/jira/browse/QPID-3369
>             Project: Qpid
>          Issue Type: Bug
>          Components: C++ Clustering
>    Affects Versions: 0.7
>            Reporter: Jason Dillaman
>            Assignee: Alan Conway
>         Attachments: QPID-3369.patch
>
>
> If the cluster elder is lost, it is possible that the remaining nodes of the
> cluster will fail with the following errors:
>   Error delivering frames: Cluster timer wakeup non-existent task
> ManagementAgent::periodicProcessing (qpid/cluster/ClusterTimer.cpp:93)
> -- or --
>   Error delivering frames: Cluster timer drop non-existent task
> ManagementAgent::periodicProcessing (qpid/cluster/ClusterTimer.cpp:109)
> When a member is promoted to be the elder, the ClusterTimer::becomeElder()
> method will add all the current cluster tasks to the Timer.  However, there is
> a potential race condition where CPG can deliver the timer wakeup from the
> original elder.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org