Uploaded image for project: 'Accumulo'
  1. Accumulo
  2. ACCUMULO-2894

MultiTableBatchWriter.getBatchWriter has dubious loop condition

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Major
    • Resolution: Not A Problem
    • 1.6.0
    • None
    • client
    • None

    Description

      This while loop could use a variable instead of multiple break and continue labels.

          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;
          }
      

      Attachments

        Activity

          People

            Unassigned Unassigned
            mdrob Mike Drob
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: