[
https://issues.apache.org/jira/browse/HBASE-19616?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16760824#comment-16760824
]
BELUGA BEHR commented on HBASE-19616:
-------------------------------------
Thanks [~stack]!
Here is the previous version:
{code:java}
CleanerContext context = CleanerContext.createCleanerContext(toDelete,
cleanerThreadTimeoutMsec);
if (context != null) {
pendingDelete.add(context);
results.add(context);
}
static CleanerContext createCleanerContext(FileStatus status, long
timeoutMsec) {
return status != null ? new CleanerContext(status, timeoutMsec) : null;
}
{code}
In the previous version of the file, the context was only 'null' if the status
was 'null'. I removed this {{createCleanerContext}} static method and check
that status is not 'null' earlier in the method.
{code:java}
for (FileStatus file : filesToDelete) {
LOG.trace("Scheduling file {} for deletion", file);
if (file != null) {
results.add(new CleanerContext(file));
}
}
{code}
> Review of LogCleaner Class
> --------------------------
>
> Key: HBASE-19616
> URL: https://issues.apache.org/jira/browse/HBASE-19616
> Project: HBase
> Issue Type: Improvement
> Affects Versions: 3.0.0
> Reporter: BELUGA BEHR
> Assignee: BELUGA BEHR
> Priority: Minor
> Fix For: 3.0.0
>
> Attachments: HBASE-19616.1.patch, HBASE-19616.2.patch,
> HBASE-19616.3.patch
>
>
> * Parameterize logging
> * Remove compiler-reported dead code to re-enabling useful logging
> * Use ArrayList instead of LinkedList
> Used a CountDownLatch to replace a bunch of the existing code. It currently
> loops with a 500ms interval to check if some sort of condition has been met
> until the amount of time spent looping is greater than some timeout value.
> Using a CountDownLatch allows one or more threads to wait until a set of
> operations being performed in other threads completes. It will not blindly
> sleep between checks and it will return immediately after the condition is
> met. This removes the HBase configuration that controls the sleep interval.
>
> I also cleaned up the unit tests a bit and enhanced the logging of this class
> to ease troubleshooting.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)