monotone-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Monotone-devel] [RFC] Monotone NETSYNC Hook Extension & Abstraction


From: Markus Schiltknecht
Subject: Re: [Monotone-devel] [RFC] Monotone NETSYNC Hook Extension & Abstraction Layer
Date: Mon, 24 Sep 2007 16:40:05 +0200
User-agent: Icedove 1.5.0.12 (X11/20070730)

Hi,

Thomas Keller wrote:
If a revision, which is added to a monotone database, is recorded as
several single inserts and/or other operations which itself run inside a
transaction, you can't say for sure that a decomposition of this single
transaction into several SQL commands, which are then recorded and
applied backwards without any transaction mechanism will never somehow
introduce database inconsistencies.

Hm, right. Concurrent readers could have read the data *before* it got reverted by some kind of a redo transaction.

Sure, this may not be a problem at all if the database you're applying
the redo on is not used by a second process, but Zack proposed this for
Ralf's NETSYNC use case AFAIR.

Yes, and AFAICT the whole purpose of multiplexing and splitting into different transactions is to allow some concurrency. If we disallow that, we could as well simply give each netsync session it's own transaction. And then again, we didn't have the redo problem, but could simply abort the complete transaction.

Regards

Markus





reply via email to

[Prev in Thread] Current Thread [Next in Thread]