qpid-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Alan Conway (JIRA)" <j...@apache.org>
Subject [jira] Resolved: (QPID-2220) Assisting manual recovery from a complete persistent cluster crash.
Date Mon, 04 Oct 2010 13:40:32 GMT

     [ https://issues.apache.org/jira/browse/QPID-2220?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel

Alan Conway resolved QPID-2220.

    Resolution: Won't Fix

Revision 931185 adds cluster-qpid-store, a tool for manually marking a store clean after a
total cluster crash where there is no clear "last member". Adding a counter to further automate
handling this case adds complexity and possible performance impact that does not seem justified
at the moment.

> Assisting manual recovery from a complete persistent cluster crash.
> -------------------------------------------------------------------
>                 Key: QPID-2220
>                 URL: https://issues.apache.org/jira/browse/QPID-2220
>             Project: Qpid
>          Issue Type: Improvement
>          Components: C++ Broker
>    Affects Versions: 0.5
>            Reporter: Alan Conway
>            Assignee: Alan Conway
> If every member of a persistent cluster crashes then manual intervention is required
to identify which store is most up-to-date, so it can be used to recover. We need to provide
tools to assist in this identification.
> The cluster can save a config-change counter with each config change (cluster membership
change). In recovery, the broker with the highest config-change counter has the best store.

> However if the last brokers in the cluster crash so close together that none can record
a config-change we need an additional decider.
> The store at http://qpidcomponents.org/download.html#persistence maintains a global Persistence
ID, a 64 bit value that is incremented for each enqueue, dequeue. If the cluster stores  (config-change,PID)
pairs then in recovery we can use actual-PID - config-change PID as a tiebreaker.
> Proposed change to MessageStore API:
>   /** Returns a monotonically increasing value reflecting changes to the store.
>   * The value can wrap-around to 0.
>   * Stores need not implement this function, they can simply return 0.
>   */
>   uint64_t getChangeCounter();
> The default implementation just returns 0  and the cluster must fall back to relying
on config-change counts.

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

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

View raw message