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

Pankaj Kumar commented on HBASE-16724:
--------------------------------------

[~ashish singhi], How SnapshotOwner will be the TableOwner when table doesn't 
exist? 

And I think below condition is wrong in AccessController.preCloneSnapshot(), 
snapshot can be cloned to any table name. It shouldn't be the same table name 
as snapshot was taken.
{code}
   hTableDescriptor.getNameAsString().equals(snapshot.getTable())
{code}

For ACL matrix ,
SnapshotOwner & NS(AC)

WDYT, please provide your opinion.

> Snapshot owner can't clone
> --------------------------
>
>                 Key: HBASE-16724
>                 URL: https://issues.apache.org/jira/browse/HBASE-16724
>             Project: HBase
>          Issue Type: Bug
>          Components: snapshots
>    Affects Versions: 2.0.0
>            Reporter: Pankaj Kumar
>            Assignee: Pankaj Kumar
>         Attachments: HBASE-16724-V2.patch, HBASE-16724.patch
>
>
> Currently only Global admin has the access of cloning a snapshot.
> In AccessController,
> {code}
>   @Override
>   public void preCloneSnapshot(final 
> ObserverContext<MasterCoprocessorEnvironment> ctx,
>       final SnapshotDescription snapshot, final HTableDescriptor 
> hTableDescriptor)
>       throws IOException {
>     requirePermission(getActiveUser(ctx), "cloneSnapshot " + 
> snapshot.getName(), Action.ADMIN);
>   }
> {code}
> Snapshot owner should be able to  clone it, need to add a check like,
> {code}
> SnapshotDescriptionUtils.isSnapshotOwner(snapshot, user)
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to