Home | About | Sematext search-lucene.com search-hadoop.com
 Search Hadoop and all its subprojects:

Switch to Plain View
Zookeeper >> mail # dev >> Taking two snapshots at the same time


+
Sergey Maslyakov 2013-07-08, 17:03
+
Sergey Maslyakov 2013-07-08, 18:48
Copy link to this message
-
Re: Taking two snapshots at the same time
I have this functionality in our internal branch.

I can post the patch but it is likely to conflict with ZOOKEEPER-1346, so
it will be good to know the timeline of that patch.
--
Thawan Kooburat

On 7/8/13 11:48 AM, "Sergey Maslyakov" <[EMAIL PROTECTED]> wrote:

>I think I'd answer my own question. Apparently, if lastZxid does not
>change
>between two takeSnapshot() calls, they both will try to write into the
>same
>file. This is likely to explode when you try to read this snapshot back...
>So, the protection is needed.
>
>
>/Sergey
>
>
>On Mon, Jul 8, 2013 at 12:03 PM, Sergey Maslyakov <[EMAIL PROTECTED]>
>wrote:
>
>> From looking at the 3.4.5 code, it seems like
>> ZooKeeperServer.takeSnapshot() method does not have protection against
>> being invoked twice by different threads. There is some protection
>>against
>> spawning two snapshot threads from SyncRequestProcessor.run() but this
>>is
>> just about it.
>>
>> Is there any inherent danger in having two
>>ZooKeeperServer.takeSnapshot()
>> overlapping their execution in time? Is it a thread to data integrity
>>or is
>> it just a possible performance issue?
>>
>> I'm thinking of adding a new four-letter command to force a snapshot
>> creation by a command from outside before snapCount threshold is
>>reached.
>> Is it safe to invoke ZooKeeperServer.takeSnapshot() from a four-word
>> command handler or does it need to be submitted as a Request object into
>> the pipeline of Request Processors?
>>
>>
>> Regards,
>> /Sergey
>>
+
Flavio Junqueira 2013-07-08, 21:31
+
Thawan Kooburat 2013-07-08, 23:02