yeah, you are right. I think we should make update of datatree and lastProcessedzxid look atomic.
On Wed, Jun 8, 2011 at 2:14 PM, Fournier, Camille F. [Tech] wrote:
So we might over increment a parent cvid... What does that mean for a client? Maybe missing a seq id node number? Seems ok but should probably document.
From: Vishal Kher
To: Fournier, Camille F. [Tech]
Cc: Benjamin Reed
Sent: Wed Jun 08 13:53:59 2011
Subject: Re: Race condition while taking snapshot
This will result in datatree having latest data but lastProcessedZxid not up-to-date. So when you take snapshot.x, the file may contain data for x + 1. But I think this is ok (and this is how snpashot currently works) because during restore we will start applying transactions from x + 1. Some of them will fail (e.,g., create/delete) and we will increment only the zxid on failure.
I have not analyzed this completely yet. But I think it will be ok.
On Wed, Jun 8, 2011 at 1:33 PM, Fournier, Camille F. [Tech] wrote:
Yes I think you are right. What do we think the implications of moving the setting of lastProcessedZxid to below the processing of the txn? Looks like not a big problem but I haven’t the mental bandwidth to think it through at the moment.