You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@accumulo.apache.org by ec...@apache.org on 2015/10/02 19:15:57 UTC

[2/2] accumulo git commit: ACCUMULO-3462 use object reference equality to remove the minimum object queued

ACCUMULO-3462 use object reference equality to remove the minimum object queued


Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo
Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/0013e46e
Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/0013e46e
Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/0013e46e

Branch: refs/heads/1.7
Commit: 0013e46e6b7f195f9d17dbd540b841d2933ac37b
Parents: f50db38 4b5ea53
Author: Eric C. Newton <er...@gmail.com>
Authored: Fri Oct 2 13:15:15 2015 -0400
Committer: Eric C. Newton <er...@gmail.com>
Committed: Fri Oct 2 13:15:15 2015 -0400

----------------------------------------------------------------------
 .../java/org/apache/accumulo/tserver/CompactionQueue.java | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/accumulo/blob/0013e46e/server/tserver/src/main/java/org/apache/accumulo/tserver/CompactionQueue.java
----------------------------------------------------------------------
diff --cc server/tserver/src/main/java/org/apache/accumulo/tserver/CompactionQueue.java
index bbb6536,1e7c086..f87131e
--- a/server/tserver/src/main/java/org/apache/accumulo/tserver/CompactionQueue.java
+++ b/server/tserver/src/main/java/org/apache/accumulo/tserver/CompactionQueue.java
@@@ -48,9 -35,15 +48,15 @@@ class CompactionQueue extends AbstractQ
      if (task.size() == 0)
        return null;
  
 -    Comparable min = Collections.min(task);
 -    Iterator<Comparable> iterator = task.iterator();
 +    TraceRunnable min = Collections.min(task, comparator);
-     task.remove(min);
-     return min;
++    Iterator<TraceRunnable> iterator = task.iterator();
+     while (iterator.hasNext()) {
+       if (iterator.next() == min) {
+         iterator.remove();
 -        return (Runnable) min;
++        return min;
+       }
+     }
+     throw new IllegalStateException("Minimum object found, but not there when removing");
    }
  
    @Override