[
https://issues.apache.org/jira/browse/HBASE-7437?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13629721#comment-13629721
]
Hiroshi Ikeda commented on HBASE-7437:
--------------------------------------
Since Calendar initializes its fields lazily in the implementation, it might be
*not* safe to get the hour without synchronization even if we never update its
internal time.
> Improve CompactSelection
> ------------------------
>
> Key: HBASE-7437
> URL: https://issues.apache.org/jira/browse/HBASE-7437
> Project: HBase
> Issue Type: Improvement
> Components: Compaction
> Reporter: Hiroshi Ikeda
> Assignee: Hiroshi Ikeda
> Priority: Minor
> Attachments: HBASE-7437.patch, HBASE-7437-V2.patch,
> HBASE-7437-V3.patch, HBASE-7437-V4.patch
>
>
> 1. Using AtomicLong makes CompactSelection simple and improve its performance.
> 2. There are unused fields and methods.
> 3. The fields should be private.
> 4. Assertion in the method finishRequest seems wrong:
> {code}
> public void finishRequest() {
> if (isOffPeakCompaction) {
> long newValueToLog = -1;
> synchronized(compactionCountLock) {
> assert !isOffPeakCompaction : "Double-counting off-peak count for
> compaction";
> {code}
> The above assertion seems almost always false.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira