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

Venkatesh Seetharam commented on FALCON-284:
--------------------------------------------

Patch looks good with minor nits:

* org.apache.falcon.lifecycle.TableStorageFeedEvictorIT#validateInstancePaths - 
unnecessary return
* 
org.apache.falcon.lifecycle.TableStorageFeedEvictorIT#addMultiColDatedPartitions
 - Use StringBuilder instead of StringBuffer
* org.apache.falcon.retention.FeedEvictor#createFilter - remove unused variable 
storage
* org.apache.falcon.retention.FeedEvictor#dropPartitions - redundant null init 
in List<CatalogPartition> catalogPartitions = null; can be a ternary as well
* org.apache.falcon.retention.FeedEvictor#dropPartitionInstances - redundant 
check of isTableExternal post OR  - if (!isTableExternal || (isTableExternal && 
deleted))  can be if (!isTableExternal || deleted)

Also there are 14 checkstyle violations:

{code}
[INFO] Starting audit...
/Users/seetharam/Hortonworks/dev/apache-workspace/falcon/incubator-falcon/webapp/src/test/java/org/apache/falcon/lifecycle/TableStorageFeedEvictorIT.java:79:
 Line is longer than 120 characters.
/Users/seetharam/Hortonworks/dev/apache-workspace/falcon/incubator-falcon/webapp/src/test/java/org/apache/falcon/lifecycle/TableStorageFeedEvictorIT.java:243:
 method def throws at indentation level 12 not at correct indentation, 8
/Users/seetharam/Hortonworks/dev/apache-workspace/falcon/incubator-falcon/webapp/src/test/java/org/apache/falcon/lifecycle/TableStorageFeedEvictorIT.java:289:
 if child at indentation level 14 not at correct indentation, 16
/Users/seetharam/Hortonworks/dev/apache-workspace/falcon/incubator-falcon/webapp/src/test/java/org/apache/falcon/lifecycle/TableStorageFeedEvictorIT.java:289:
 method call child at indentation level 14 not at correct indentation, 16
/Users/seetharam/Hortonworks/dev/apache-workspace/falcon/incubator-falcon/webapp/src/test/java/org/apache/falcon/lifecycle/TableStorageFeedEvictorIT.java:292:
 finally child at indentation level 10 not at correct indentation, 12
/Users/seetharam/Hortonworks/dev/apache-workspace/falcon/incubator-falcon/webapp/src/test/java/org/apache/falcon/lifecycle/TableStorageFeedEvictorIT.java:292:
 method call child at indentation level 10 not at correct indentation, 12
/Users/seetharam/Hortonworks/dev/apache-workspace/falcon/incubator-falcon/webapp/src/test/java/org/apache/falcon/lifecycle/TableStorageFeedEvictorIT.java:293:
 finally child at indentation level 10 not at correct indentation, 12
/Users/seetharam/Hortonworks/dev/apache-workspace/falcon/incubator-falcon/webapp/src/test/java/org/apache/falcon/lifecycle/TableStorageFeedEvictorIT.java:293:
 method call child at indentation level 10 not at correct indentation, 12
/Users/seetharam/Hortonworks/dev/apache-workspace/falcon/incubator-falcon/webapp/src/test/java/org/apache/falcon/lifecycle/TableStorageFeedEvictorIT.java:424:
 method def throws at indentation level 12 not at correct indentation, 8
/Users/seetharam/Hortonworks/dev/apache-workspace/falcon/incubator-falcon/webapp/src/test/java/org/apache/falcon/lifecycle/TableStorageFeedEvictorIT.java:448:
 Line is longer than 120 characters.
/Users/seetharam/Hortonworks/dev/apache-workspace/falcon/incubator-falcon/webapp/src/test/java/org/apache/falcon/lifecycle/TableStorageFeedEvictorIT.java:451:
 Line is longer than 120 characters.
/Users/seetharam/Hortonworks/dev/apache-workspace/falcon/incubator-falcon/webapp/src/test/java/org/apache/falcon/lifecycle/TableStorageFeedEvictorIT.java:492:
 method call child at indentation level 16 not at correct indentation, 20
/Users/seetharam/Hortonworks/dev/apache-workspace/falcon/incubator-falcon/webapp/src/test/java/org/apache/falcon/lifecycle/TableStorageFeedEvictorIT.java:493:
 method call child at indentation level 16 not at correct indentation, 20
/Users/seetharam/Hortonworks/dev/apache-workspace/falcon/incubator-falcon/webapp/src/test/java/org/apache/falcon/lifecycle/TableStorageFeedEvictorIT.java:530:73:
 '+' should be on a new line.
Audit done.
{code}

Please revise the patch and run the following before uploading the patch. 
{code}mvn clean verify -Phadoop-2,test-patch{code}

> Hcatalog based feed retention doesn't work when partition filter spans across 
> multiple partition keys
> -----------------------------------------------------------------------------------------------------
>
>                 Key: FALCON-284
>                 URL: https://issues.apache.org/jira/browse/FALCON-284
>             Project: Falcon
>          Issue Type: Bug
>    Affects Versions: 0.5
>            Reporter: Satish Mittal
>            Assignee: Satish Mittal
>         Attachments: FALCON-284.patch.1.txt, FALCON-284.patch.txt
>
>
> When an HCatalog based feed is scheduled in falcon, retention only looks at 
> the first partition key that satisfies either of date pattern: yyyy | MM | dd 
> | HH | mm. As a result, it calculates a partition filter that contains only 
> one of these patterns. However if HCatalog table is defined in such a way 
> that date spans across multiple partition keys (year/month/day/hour/minute), 
> then feed retention doesn't delete any partitions that are granular than 
> first level (year).



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to