You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Sergey Shelukhin (JIRA)" <ji...@apache.org> on 2013/05/01 19:50:15 UTC

[jira] [Comment Edited] (HBASE-8446) Allow parallel snapshot of different tables

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

Sergey Shelukhin edited comment on HBASE-8446 at 5/1/13 5:49 PM:
-----------------------------------------------------------------

bq. +   * In case of something fail on the client side and the snapshot/restore state is not reclaimed
bq. +   * after a default timeout the entry is removed from the in-progress map.
Does this mean client rather than user? Just clarifying. I.e. no user code action is necessary; otherwise 60sec. would seem too small.

bq. +      // If there's no handler in the in-progress map, it means that:
"one of the following"?

bq. yes, there's a thread pool that runs the snapshot task... so if you've 1 your request are enqueued
Yeah, but the comment says "thread pool for snapshots ensures the snapshot won't be started if there is another snapshot already running"
It either doesn't and mustn't ensure this, so comment is wrong, or it should ensure and the code is :)

bq. All the logic before, you get in there if there're no other snapshot/restore running on the same table and the snapshot doesn't exists. 
So if two simultaneous requests are sent and multiple threads are used what ensures they don't both reach this method and race?
                
      was (Author: sershe):
    svn commit -m "HBASE-8460 [replication] Fix the three TODOs in TestReplicationStateBasic.testReplicationQueues (Chris Trezzo)" --username sershe


bq. +   * In case of something fail on the client side and the snapshot/restore state is not reclaimed
bq. +   * after a default timeout the entry is removed from the in-progress map.
Does this mean client rather than user? Just clarifying. I.e. no user code action is necessary; otherwise 60sec. would seem too small.

bq. +      // If there's no handler in the in-progress map, it means that:
"one of the following"?

bq. yes, there's a thread pool that runs the snapshot task... so if you've 1 your request are enqueued
Yeah, but the comment says "thread pool for snapshots ensures the snapshot won't be started if there is another snapshot already running"
It either doesn't and mustn't ensure this, so comment is wrong, or it should ensure and the code is :)

bq. All the logic before, you get in there if there're no other snapshot/restore running on the same table and the snapshot doesn't exists. 
So if two simultaneous requests are sent and multiple threads are used what ensures they don't both reach this method and race?
                  
> Allow parallel snapshot of different tables
> -------------------------------------------
>
>                 Key: HBASE-8446
>                 URL: https://issues.apache.org/jira/browse/HBASE-8446
>             Project: HBase
>          Issue Type: Improvement
>          Components: snapshots
>    Affects Versions: 0.95.0
>            Reporter: Matteo Bertozzi
>            Assignee: Matteo Bertozzi
>            Priority: Minor
>             Fix For: 0.95.2
>
>         Attachments: HBASE-8446-94.patch, HBASE-8446-v0.patch, HBASE-8446-v1.patch, HBASE-8446-v2.patch, HBASE-8446-v3.patch, HBASE-8446-v4.patch, HBASE-8446-v5.patch
>
>
> currently only one snapshot at the time is allowed.
> Like for the restore, we should allow taking snapshot of different tables in parallel.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira