You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@accumulo.apache.org by "Mike Drob (JIRA)" <ji...@apache.org> on 2014/06/11 23:16:05 UTC
[jira] [Created] (ACCUMULO-2894)
MultiTableBatchWriter.getBatchWriter has dubious loop condition
Mike Drob created ACCUMULO-2894:
-----------------------------------
Summary: MultiTableBatchWriter.getBatchWriter has dubious loop condition
Key: ACCUMULO-2894
URL: https://issues.apache.org/jira/browse/ACCUMULO-2894
Project: Accumulo
Issue Type: Improvement
Components: client
Affects Versions: 1.6.0
Reporter: Mike Drob
This while loop could use a variable instead of multiple break and continue labels.
{code}
while (true) {
long cacheResetCount = Tables.getCacheResetCount();
// cacheResetCount could change after this point in time, but I think thats ok because just want to ensure this methods sees changes
// made before it was called.
long internalResetCount = cacheLastState.get();
if (cacheResetCount > internalResetCount) {
if (!cacheLastState.compareAndSet(internalResetCount, cacheResetCount)) {
continue; // concurrent operation, lets not possibly move cacheLastState backwards in the case where a thread pauses for along time
}
nameToIdCache.invalidateAll();
break;
}
break;
}
{code}
--
This message was sent by Atlassian JIRA
(v6.2#6252)