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 2015/02/18 02:23:30 UTC

[2/3] accumulo git commit: ACCUMULO-3600 Fix deleterows to properly compute file counts.

ACCUMULO-3600 Fix deleterows to properly compute file counts.

The test might have failed if there was a migration while data
was being written. This would have caused one of the tablets to have
more than one file which would have failed the test case despite
being normal, expected Accumulo behavior.


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

Branch: refs/heads/master
Commit: f6dd62f71a9b9768814bc76b537abe93a169d381
Parents: d859e2a
Author: Josh Elser <el...@apache.org>
Authored: Tue Feb 17 19:12:01 2015 -0500
Committer: Josh Elser <el...@apache.org>
Committed: Tue Feb 17 19:12:01 2015 -0500

----------------------------------------------------------------------
 .../org/apache/accumulo/test/ShellServerIT.java | 26 ++++++++++++--------
 1 file changed, 16 insertions(+), 10 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/accumulo/blob/f6dd62f7/test/src/test/java/org/apache/accumulo/test/ShellServerIT.java
----------------------------------------------------------------------
diff --git a/test/src/test/java/org/apache/accumulo/test/ShellServerIT.java b/test/src/test/java/org/apache/accumulo/test/ShellServerIT.java
index a29a4bb..914a914 100644
--- a/test/src/test/java/org/apache/accumulo/test/ShellServerIT.java
+++ b/test/src/test/java/org/apache/accumulo/test/ShellServerIT.java
@@ -792,23 +792,29 @@ public class ShellServerIT extends SharedMiniClusterIT {
     int base = countFiles(tableId);
     assertEquals(0, base);
 
+    log.info("Adding 2 splits");
     ts.exec("addsplits row5 row7");
+
+    log.info("Writing 10 records");
     make10();
+
+    log.info("Flushing table");
     ts.exec("flush -w -t " + table);
-    // Might have some cruft here. Check a couple of times.
-    List<String> files = null;
-    boolean found = false;
-    for (int i = 0; i < 50 && !found; i++) {
+    log.info("Table flush completed");
+
+    // One of the tablets we're writing to might migrate inbetween writing data which would create a 2nd file for that tablet
+    // If we notice this, compact and then move on.
+    List<String> files = getFiles(tableId);
+    if (3 < files.size()) {
+      log.info("More than 3 files were found, compacting before proceeding");
+      ts.exec("compact -w -t " + table);
       files = getFiles(tableId);
-      if (3 == files.size()) {
-        found = true;
-      } else {
-        UtilWaitThread.sleep(300);
-      }
+      assertEquals("Expected to only find 3 files after compaction: " + files, 3, files.size());
     }
+
     assertNotNull(files);
     assertEquals("Found the following files: " + files, 3, files.size());
-    ts.exec("deleterows -t " + table + " -b row5 -e row7", true);
+    ts.exec("deleterows -t " + table + " -b row5 -e row7");
     assertEquals(2, countFiles(tableId));
     ts.exec("deletetable -f " + table);
   }