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

Sean Mackrory commented on HADOOP-14759:
----------------------------------------

So you should also be able to prune an entire table by specifying "bin/hadoop 
s3guard prune -hours 1 -meta dynamodb://table_name" but that yields the 
following exception, so let's default to / if no prefix is specified at all:
{code:java}
java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
        at java.util.ArrayList.rangeCheck(ArrayList.java:653)
        at java.util.ArrayList.get(ArrayList.java:429)
        at 
org.apache.hadoop.fs.s3a.s3guard.S3GuardTool$Prune.run(S3GuardTool.java:970)
        at 
org.apache.hadoop.fs.s3a.s3guard.S3GuardTool.run(S3GuardTool.java:350)
        at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:76)
        at 
org.apache.hadoop.fs.s3a.s3guard.S3GuardTool.run(S3GuardTool.java:1480)
        at 
org.apache.hadoop.fs.s3a.s3guard.S3GuardTool.main(S3GuardTool.java:1489){code}

I do like that if you specify directories, this appears to handle the URL (and 
not just the bucket / hostname) correctly by using the existing translate 
function, such that I can prune metadata only for certain subdirectories. This 
is nice, and I feared it would be more difficult than just clearing out on a 
per-bucket basis.

> S3GuardTool prune to prune specific bucket entries
> --------------------------------------------------
>
>                 Key: HADOOP-14759
>                 URL: https://issues.apache.org/jira/browse/HADOOP-14759
>             Project: Hadoop Common
>          Issue Type: Sub-task
>          Components: fs/s3
>    Affects Versions: 3.0.0-beta1
>            Reporter: Steve Loughran
>            Assignee: Gabor Bota
>            Priority: Minor
>         Attachments: HADOOP-14759.001.patch, HADOOP-14759.002.patch, 
> HADOOP-14759.003.patch, HADOOP-14759.004.patch
>
>
> Users may think that when you provide a URI to a bucket, you are pruning all 
> entries in the table *for that bucket*. In fact you are purging all entries 
> across all buckets in the table:
> {code}
> hadoop s3guard prune -days 7 s3a://ireland-1
> {code}
> It should be restricted to that bucket, unless you specify otherwise
> +maybe also add a hard date rather than a relative one



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to