hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Matteo Bertozzi (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-11736) Document SKIP_FLUSH snapshot option
Date Fri, 15 Aug 2014 08:11:19 GMT

    [ https://issues.apache.org/jira/browse/HBASE-11736?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14098327#comment-14098327

Matteo Bertozzi commented on HBASE-11736:

almost, but we never lock

{quote}The default behavior is to require all regions of a table to coordinate in order to
prevent writing to the table, and to perform a flush of data in memory at the same time{quote}
we don't lock writes, we just do a flush. and it is basically the only difference between
SKIP_FLUSH = false and SKIP_FLUSH = true.

{quote}Using this option means that data can be inserted into a table while a snapshot is
in progress, and that new data will not be included in the snapshot.{quote}
the first part seems to refer to the "write locked" on the other case, which is not true.

maybe just something like "the data present in the memstore will not be included in the snapshot"?

{quote}There is no way to determine the newest data that will be included in the snapshot
if flushing is disabled.{quote}
This is true in both case since there is no lock around the snapshot operation. 
Let me try to do an example:
 * Create table
 * Add data to table (RS-1 memstore has: [A, B, C], RS-2 memstore has: [M, N, O])
 * assuming that you don't do any write now, and you take a snapshot
 ** The SKIP_FLUSH = false will result in an empty snapshot, since all the data is in the
 ** The SKIP_FLUSH = true will result in a snapshot with [A, B, C] and [M, N, O] since you
flush the memstores
now, if you have writes coming in.. but keep in mind there is no lock
The RS-1 may start flushing/taking the snapshot before any write so you get [A, B, C] and
concurrent writes will be added to the "new memstore".
RS-2 may start flushing/taking the snapshot after some writes so you get [M, N, O, P, Q] but
concurrent writes during the flush will be added to the new memstore

> Document SKIP_FLUSH snapshot option
> -----------------------------------
>                 Key: HBASE-11736
>                 URL: https://issues.apache.org/jira/browse/HBASE-11736
>             Project: HBase
>          Issue Type: Sub-task
>          Components: documentation, snapshots
>            Reporter: Misty Stanley-Jones
>            Assignee: Misty Stanley-Jones
>             Fix For: 0.99.0, 0.94.21, 0.98.4
>         Attachments: HBASE-11736.patch, HBASE-11736.patch

This message was sent by Atlassian JIRA

View raw message