You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@accumulo.apache.org by el...@apache.org on 2012/09/09 22:54:28 UTC

svn commit: r1382578 - in /accumulo/trunk: ./ core/ server/ server/src/main/java/org/apache/accumulo/server/test/randomwalk/sequential/BatchVerify.java src/

Author: elserj
Date: Sun Sep  9 20:54:27 2012
New Revision: 1382578

URL: http://svn.apache.org/viewvc?rev=1382578&view=rev
Log:
ACCUMULO-642 Merge changes from 1.4 to trunk; Ensure BatchScanner is closed

Modified:
    accumulo/trunk/   (props changed)
    accumulo/trunk/core/   (props changed)
    accumulo/trunk/server/   (props changed)
    accumulo/trunk/server/src/main/java/org/apache/accumulo/server/test/randomwalk/sequential/BatchVerify.java
    accumulo/trunk/src/   (props changed)

Propchange: accumulo/trunk/
------------------------------------------------------------------------------
  Merged /accumulo/trunk/src:r1359721
  Merged /accumulo/branches/1.4/src:r1382566
  Merged /accumulo/branches/1.4:r1356924-1358205,1358207-1382577

Propchange: accumulo/trunk/core/
------------------------------------------------------------------------------
  Merged /accumulo/branches/1.4/core:r1356924-1358205,1358207-1382577
  Merged /accumulo/branches/1.4/src/core:r1382566

Propchange: accumulo/trunk/server/
------------------------------------------------------------------------------
  Merged /accumulo/branches/1.4/server:r1356924-1358205,1358207-1382577
  Merged /accumulo/branches/1.4/src/server:r1382566

Modified: accumulo/trunk/server/src/main/java/org/apache/accumulo/server/test/randomwalk/sequential/BatchVerify.java
URL: http://svn.apache.org/viewvc/accumulo/trunk/server/src/main/java/org/apache/accumulo/server/test/randomwalk/sequential/BatchVerify.java?rev=1382578&r1=1382577&r2=1382578&view=diff
==============================================================================
--- accumulo/trunk/server/src/main/java/org/apache/accumulo/server/test/randomwalk/sequential/BatchVerify.java (original)
+++ accumulo/trunk/server/src/main/java/org/apache/accumulo/server/test/randomwalk/sequential/BatchVerify.java Sun Sep  9 20:54:27 2012
@@ -52,74 +52,78 @@ public class BatchVerify extends Test {
     Connector conn = state.getConnector();
     BatchScanner scanner = conn.createBatchScanner(state.getString("seqTableName"), new Authorizations(), 2);
     
-    int count = 0;
-    List<Range> ranges = new ArrayList<Range>();
-    while (count < numVerify) {
-      int rangeStart = rand.nextInt(numWrites);
-      int rangeEnd = rangeStart + 99;
-      if (rangeEnd > (numWrites - 1)) {
-        rangeEnd = numWrites - 1;
-      }
-      count += (rangeEnd - rangeStart) + 1;
-      ranges.add(new Range(new Text(String.format("%010d", rangeStart)), new Text(String.format("%010d", rangeEnd))));
-    }
-    
-    ranges = Range.mergeOverlapping(ranges);
-    Collections.sort(ranges);
-    
-    if (count == 0 || ranges.size() == 0)
-      return;
-    
-    log.debug(String.format("scanning %d rows in the following %d ranges:", count, ranges.size()));
-    for (Range r : ranges) {
-      log.debug(r);
-    }
-    
-    scanner.setRanges(ranges);
-    
-    List<Key> keys = new ArrayList<Key>();
-    for (Entry<Key,Value> entry : scanner) {
-      keys.add(entry.getKey());
-    }
-    
-    log.debug("scan returned " + keys.size() + " rows. now verifying...");
-    
-    Collections.sort(keys);
-    
-    Iterator<Key> iterator = keys.iterator();
-    int curKey = Integer.parseInt(iterator.next().getRow().toString());
-    boolean done = false;
-    for (Range r : ranges) {
-      int start = Integer.parseInt(r.getStartKey().getRow().toString());
-      int end = Integer.parseInt(String.copyValueOf(r.getEndKey().getRow().toString().toCharArray(), 0, 10));
-      for (int i = start; i <= end; i++) {
-        
-        if (done) {
-          log.error("missing key " + i);
-          break;
+    try {
+      int count = 0;
+      List<Range> ranges = new ArrayList<Range>();
+      while (count < numVerify) {
+        int rangeStart = rand.nextInt(numWrites);
+        int rangeEnd = rangeStart + 99;
+        if (rangeEnd > (numWrites - 1)) {
+          rangeEnd = numWrites - 1;
         }
-        
-        while (curKey < i) {
-          log.error("extra key " + curKey);
-          if (iterator.hasNext() == false) {
-            done = true;
+        count += (rangeEnd - rangeStart) + 1;
+        ranges.add(new Range(new Text(String.format("%010d", rangeStart)), new Text(String.format("%010d", rangeEnd))));
+      }
+      
+      ranges = Range.mergeOverlapping(ranges);
+      Collections.sort(ranges);
+      
+      if (count == 0 || ranges.size() == 0)
+        return;
+      
+      log.debug(String.format("scanning %d rows in the following %d ranges:", count, ranges.size()));
+      for (Range r : ranges) {
+        log.debug(r);
+      }
+      
+      scanner.setRanges(ranges);
+      
+      List<Key> keys = new ArrayList<Key>();
+      for (Entry<Key,Value> entry : scanner) {
+        keys.add(entry.getKey());
+      }
+      
+      log.debug("scan returned " + keys.size() + " rows. now verifying...");
+      
+      Collections.sort(keys);
+      
+      Iterator<Key> iterator = keys.iterator();
+      int curKey = Integer.parseInt(iterator.next().getRow().toString());
+      boolean done = false;
+      for (Range r : ranges) {
+        int start = Integer.parseInt(r.getStartKey().getRow().toString());
+        int end = Integer.parseInt(String.copyValueOf(r.getEndKey().getRow().toString().toCharArray(), 0, 10));
+        for (int i = start; i <= end; i++) {
+          
+          if (done) {
+            log.error("missing key " + i);
             break;
           }
-          curKey = Integer.parseInt(iterator.next().getRow().toString());
-        }
-        
-        if (curKey > i) {
-          log.error("missing key " + i);
-        }
-        
-        if (iterator.hasNext()) {
-          curKey = Integer.parseInt(iterator.next().getRow().toString());
-        } else {
-          done = true;
+          
+          while (curKey < i) {
+            log.error("extra key " + curKey);
+            if (iterator.hasNext() == false) {
+              done = true;
+              break;
+            }
+            curKey = Integer.parseInt(iterator.next().getRow().toString());
+          }
+          
+          if (curKey > i) {
+            log.error("missing key " + i);
+          }
+          
+          if (iterator.hasNext()) {
+            curKey = Integer.parseInt(iterator.next().getRow().toString());
+          } else {
+            done = true;
+          }
         }
       }
+      
+      log.debug("verify is now complete");
+    } finally {
+      scanner.close();
     }
-    
-    log.debug("verify is now complete");
   }
 }

Propchange: accumulo/trunk/src/
------------------------------------------------------------------------------
  Merged /accumulo/branches/ACCUMULO-672:r1359163
  Merged /accumulo/branches/1.4/src:r1356924-1358205,1358207-1382577
  Merged /accumulo/trunk:r1359620,1359721
  Merged /accumulo/branches/1.4/src/src:r1382566