[Linux-cluster] DLM behavior after lockspace recovery
David Teigland
teigland at redhat.com
Sat Oct 16 06:40:43 UTC 2004
On Fri, Oct 15, 2004 at 12:41:16PM -0400, Daniel Phillips wrote:
> On Friday 15 October 2004 10:20, David Teigland wrote:
> > On Fri, Oct 15, 2004 at 12:32:38AM -0400, Daniel Phillips wrote:
> > > But do you really think the dlm should pretend that a potentially
> > > corrupt value is in fact good? This seems like a very bad idea to
> > > me. In return for saving some bookkeeping in the very special case
> > > where you have an incrementing lvb, you suggest imposing extra
> > > overhead on every lvb update and having the dlm make false promises
> > > about data integrity. I don't think this is a good trade.
> >
> > Incorrect. Nothing is corrupt, there's no "false promise", there's
> > no overhead to speak of, and restoring the last available value is
> > standard behavior.
>
> A standard bug you mean. Suppose, in my application, I were to store
> the number of nodes currently writing to a disk region in a lvb. Each
> time a node initiates a write it gets PW and increments the value.
> When the write completes, it decrements the value. If zero, the region
> is marked as "in sync".
>
> Now the lock master dies and an older lvb value is quietly substituted
> for the actual value. You see that a region is now going to be marked
> as "in sync" when there are still one or more writes outstanding to it.
>
> The correct behavior is obviously to mark the lvb invalid and have the
> application respond by contacting each node to see which of them are
> still writing to the region.
>
> I hope you see why it is in general, bad to lie about the integrity of
> data.
Still incorrect. Check the facts and try again.
--
Dave Teigland <teigland at redhat.com>
More information about the Linux-cluster
mailing list