Github user anew commented on a diff in the pull request: https://github.com/apache/incubator-tephra/pull/20#discussion_r90766319 --- Diff: tephra-hbase-compat-1.1-base/src/main/java/org/apache/tephra/hbase/coprocessor/janitor/HBaseTransactionPruningPlugin.java --- @@ -179,15 +180,17 @@ public void pruneComplete(long time, long maxPrunedInvalid) throws IOException { return; } - // Get regions for given time, so as to not delete them + // Get regions for the given time, so as to not delete them. The prune upper bounds for regions are recorded + // by TransactionProcessor and the deletion is done by this class. To avoid update/delete race condition, + // we only delete stale regions. --- End diff -- OK, the comment makes this clear that it is because of race condition. Not sure what kind of race conditions? Also, I believe my comment still holds that this means, as long as a region exists, we will never delete its entries here. Do we really have to keep a record of a region's existence for every single pruneInterval since the beginning of time? That can be a lot of records over time.
--- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. ---