accumulo-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ktur...@apache.org
Subject svn commit: r1239933 - in /incubator/accumulo/trunk: ./ docs/examples/ src/core/ src/core/src/main/java/org/apache/accumulo/core/data/ src/examples/simple/src/main/java/org/apache/accumulo/examples/simple/dirlist/ src/examples/simple/src/main/java/org/...
Date Thu, 02 Feb 2012 23:35:56 GMT
Author: kturner
Date: Thu Feb  2 23:35:55 2012
New Revision: 1239933

URL: http://svn.apache.org/viewvc?rev=1239933&view=rev
Log:
ACCUMULO-145 ACCUMULO-274 ACCUMULO-315 ACCUMULO-365 ACCUMULO-366 merge changes from 1.4

Added:
    incubator/accumulo/trunk/src/examples/simple/src/main/java/org/apache/accumulo/examples/simple/filedata/CharacterHistogram.java
      - copied unchanged from r1239924, incubator/accumulo/branches/1.4/src/examples/simple/src/main/java/org/apache/accumulo/examples/simple/filedata/CharacterHistogram.java
    incubator/accumulo/trunk/src/server/src/main/java/org/apache/accumulo/server/test/functional/MergeTest.java
      - copied unchanged from r1239924, incubator/accumulo/branches/1.4/src/server/src/main/java/org/apache/accumulo/server/test/functional/MergeTest.java
Modified:
    incubator/accumulo/trunk/   (props changed)
    incubator/accumulo/trunk/docs/examples/README.dirlist
    incubator/accumulo/trunk/docs/examples/README.filedata
    incubator/accumulo/trunk/src/core/   (props changed)
    incubator/accumulo/trunk/src/core/src/main/java/org/apache/accumulo/core/data/KeyExtent.java
    incubator/accumulo/trunk/src/examples/simple/src/main/java/org/apache/accumulo/examples/simple/dirlist/Ingest.java
    incubator/accumulo/trunk/src/examples/simple/src/main/java/org/apache/accumulo/examples/simple/filedata/ChunkCombiner.java
    incubator/accumulo/trunk/src/examples/simple/src/main/java/org/apache/accumulo/examples/simple/filedata/ChunkInputFormat.java
    incubator/accumulo/trunk/src/examples/simple/src/main/java/org/apache/accumulo/examples/simple/filedata/ChunkInputStream.java
    incubator/accumulo/trunk/src/examples/simple/src/main/java/org/apache/accumulo/examples/simple/filedata/FileDataIngest.java
    incubator/accumulo/trunk/src/examples/simple/src/main/java/org/apache/accumulo/examples/simple/filedata/FileDataQuery.java
    incubator/accumulo/trunk/src/examples/simple/src/test/java/org/apache/accumulo/examples/simple/filedata/ChunkInputStreamTest.java
    incubator/accumulo/trunk/src/server/   (props changed)
    incubator/accumulo/trunk/src/server/src/main/java/org/apache/accumulo/server/master/state/MergeStats.java
    incubator/accumulo/trunk/src/server/src/main/java/org/apache/accumulo/server/master/tableOps/DeleteTable.java
    incubator/accumulo/trunk/src/server/src/main/java/org/apache/accumulo/server/test/functional/ConstraintTest.java
    incubator/accumulo/trunk/src/server/src/main/java/org/apache/accumulo/server/test/randomwalk/bulk/BulkPlusOne.java
    incubator/accumulo/trunk/test/system/auto/simple/bulkSplitOptimization.py
    incubator/accumulo/trunk/test/system/auto/simple/combiner.py
    incubator/accumulo/trunk/test/system/auto/simple/examples.py
    incubator/accumulo/trunk/test/system/auto/simple/mapreduce.py
    incubator/accumulo/trunk/test/system/auto/simple/merge.py
    incubator/accumulo/trunk/test/system/auto/simple/shell.py
    incubator/accumulo/trunk/test/system/bench/lib/RowHashBenchmark.py
    incubator/accumulo/trunk/test/system/bench/lib/TeraSortBenchmark.py

Propchange: incubator/accumulo/trunk/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Feb  2 23:35:55 2012
@@ -1,3 +1,3 @@
 /incubator/accumulo/branches/1.3:1190280,1190413,1190420,1190427,1190500,1195622,1195625,1195629,1195635,1196044,1196054,1196057,1196071-1196072,1196106,1197066,1198935,1199383,1203683,1204625,1205547,1205880,1206169,1208031,1209124,1209526,1209532,1209539,1209541,1209587,1209657,1210518,1210571,1210596,1210598,1213424,1214320,1225006,1227215,1227231,1227611,1228195,1230180,1230736,1231043,1236873
 /incubator/accumulo/branches/1.3.5rc:1209938
-/incubator/accumulo/branches/1.4:1201902-1239409
+/incubator/accumulo/branches/1.4:1201902-1239924

Modified: incubator/accumulo/trunk/docs/examples/README.dirlist
URL: http://svn.apache.org/viewvc/incubator/accumulo/trunk/docs/examples/README.dirlist?rev=1239933&r1=1239932&r2=1239933&view=diff
==============================================================================
--- incubator/accumulo/trunk/docs/examples/README.dirlist (original)
+++ incubator/accumulo/trunk/docs/examples/README.dirlist Thu Feb  2 23:35:55 2012
@@ -24,7 +24,7 @@ This example stores filesystem informati
 
 This example shows how to use Accumulo to store a file system history.  It has the following
classes:
 
- * Ingest.java - Recursively lists the files and directories under a given path, ingests
their names and file info (not the file data!) into an Accumulo table, and indexes the file
names in a separate table.
+ * Ingest.java - Recursively lists the files and directories under a given path, ingests
their names and file info into one Accumulo table, indexes the file names in a separate table,
and the file data into a third table.
  * QueryUtil.java - Provides utility methods for getting the info for a file, listing the
contents of a directory, and performing single wild card searches on file or directory names.
  * Viewer.java - Provides a GUI for browsing the file system information stored in Accumulo.
  * FileCount.java - Computes recursive counts over file system information and stores them
back into the same Accumulo table.

Modified: incubator/accumulo/trunk/docs/examples/README.filedata
URL: http://svn.apache.org/viewvc/incubator/accumulo/trunk/docs/examples/README.filedata?rev=1239933&r1=1239932&r2=1239933&view=diff
==============================================================================
--- incubator/accumulo/trunk/docs/examples/README.filedata (original)
+++ incubator/accumulo/trunk/docs/examples/README.filedata Thu Feb  2 23:35:55 2012
@@ -19,12 +19,29 @@ Notice:    Licensed to the Apache Softwa
 This example archives file data into an Accumulo table.  Files with duplicate data are only
stored once.
 The example has the following classes:
 
+ * CharacterHistogram - A MapReduce that computes a histogram of byte frequency for each
file and stores the histogram alongside the file data.  An example use of the ChunkInputFormat.
  * ChunkCombiner - An Iterator that dedupes file data and sets their visibilities to a combined
visibility based on current references to the file data.
  * ChunkInputFormat - An Accumulo InputFormat that provides keys containing file info (List<Entry<Key,Value>>)
and values with an InputStream over the file (ChunkInputStream).
  * ChunkInputStream - An input stream over file data stored in Accumulo.
  * FileDataIngest - Takes a list of files and archives them into Accumulo keyed on the SHA1
hashes of the files.
- * FileDataQuery - Retrieves file data based on the SHA1 hash of the file.
+ * FileDataQuery - Retrieves file data based on the SHA1 hash of the file. (Used by the filedata.Viewer.)
  * KeyUtil - A utility for creating and parsing null-byte separated strings into/from Text
objects.
  * VisibilityCombiner - A utility for merging visibilities into the form (VIS1)|(VIS2)|...
 
 This example is coupled with the dirlist example.  See README.dirlist for instructions.
+
+If you haven't already run the README.dirlist example, ingest a file with FileDataIngest.
+
+    $ ./bin/accumulo org.apache.accumulo.examples.simple.filedata.FileDataIngest instance
zookeepers username password dataTable exampleVis 1000 $ACCUMULO_HOME/README
+
+Open the accumulo shell and look at the data.  The row is the MD5 hash of the file, which
you can verify by running a command such as 'md5sum' on the file.
+
+    > scan -t dataTable
+
+Run the CharacterHistogram MapReduce to add some information about the file.
+
+    $ bin/tool.sh lib/examples-simple*[^c].jar org.apache.accumulo.examples.simple.filedata.CharacterHistogram
instance zookeepers username password dataTable exampleVis exampleVis
+
+Scan again to see the histogram stored in the 'info' column family.
+
+    > scan -t dataTable

Propchange: incubator/accumulo/trunk/src/core/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Feb  2 23:35:55 2012
@@ -1,3 +1,3 @@
 /incubator/accumulo/branches/1.3.5rc/src/core:1209938
 /incubator/accumulo/branches/1.3/src/core:1190280,1190413,1190420,1190427,1190500,1195622,1195625,1195629,1195635,1196044,1196054,1196057,1196071-1196072,1196106,1197066,1198935,1199383,1203683,1204625,1205547,1205880,1206169,1208031,1209124,1209526,1209532,1209539,1209541,1209587,1209657,1210518,1210571,1210596,1210598,1213424,1214320,1225006,1227215
-/incubator/accumulo/branches/1.4/src/core:1201902-1239409
+/incubator/accumulo/branches/1.4/src/core:1201902-1239924

Modified: incubator/accumulo/trunk/src/core/src/main/java/org/apache/accumulo/core/data/KeyExtent.java
URL: http://svn.apache.org/viewvc/incubator/accumulo/trunk/src/core/src/main/java/org/apache/accumulo/core/data/KeyExtent.java?rev=1239933&r1=1239932&r2=1239933&view=diff
==============================================================================
--- incubator/accumulo/trunk/src/core/src/main/java/org/apache/accumulo/core/data/KeyExtent.java
(original)
+++ incubator/accumulo/trunk/src/core/src/main/java/org/apache/accumulo/core/data/KeyExtent.java
Thu Feb  2 23:35:55 2012
@@ -754,4 +754,24 @@ public class KeyExtent implements Writab
     return new TKeyExtent(TextUtil.getByteBuffer(textTableId), textEndRow == null ? null
: TextUtil.getByteBuffer(textEndRow), textPrevEndRow == null ? null
         : TextUtil.getByteBuffer(textPrevEndRow));
   }
+  
+  /**
+   * @param prevExtent
+   */
+  public boolean isPreviousExtent(KeyExtent prevExtent) {
+    if (prevExtent == null)
+      return getPrevEndRow() == null;
+    
+    if (!prevExtent.getTableId().equals(getTableId()))
+      throw new IllegalArgumentException("Cannot compare accross tables " + prevExtent +
" " + this);
+    
+    if (prevExtent.getEndRow() == null)
+      return false;
+    
+    if (getPrevEndRow() == null)
+      return false;
+    
+    return prevExtent.getEndRow().equals(getPrevEndRow());
+    
+  }
 }

Modified: incubator/accumulo/trunk/src/examples/simple/src/main/java/org/apache/accumulo/examples/simple/dirlist/Ingest.java
URL: http://svn.apache.org/viewvc/incubator/accumulo/trunk/src/examples/simple/src/main/java/org/apache/accumulo/examples/simple/dirlist/Ingest.java?rev=1239933&r1=1239932&r2=1239933&view=diff
==============================================================================
--- incubator/accumulo/trunk/src/examples/simple/src/main/java/org/apache/accumulo/examples/simple/dirlist/Ingest.java
(original)
+++ incubator/accumulo/trunk/src/examples/simple/src/main/java/org/apache/accumulo/examples/simple/dirlist/Ingest.java
Thu Feb  2 23:35:55 2012
@@ -21,12 +21,14 @@ import java.io.IOException;
 
 import org.apache.accumulo.core.client.BatchWriter;
 import org.apache.accumulo.core.client.Connector;
+import org.apache.accumulo.core.client.IteratorSetting;
 import org.apache.accumulo.core.client.ZooKeeperInstance;
 import org.apache.accumulo.core.data.Mutation;
 import org.apache.accumulo.core.data.Value;
 import org.apache.accumulo.core.iterators.LongCombiner;
 import org.apache.accumulo.core.iterators.TypedValueCombiner.Encoder;
 import org.apache.accumulo.core.security.ColumnVisibility;
+import org.apache.accumulo.examples.simple.filedata.ChunkCombiner;
 import org.apache.accumulo.examples.simple.filedata.FileDataIngest;
 import org.apache.hadoop.io.Text;
 
@@ -131,8 +133,10 @@ public class Ingest {
       conn.tableOperations().create(nameTable);
     if (!conn.tableOperations().exists(indexTable))
       conn.tableOperations().create(indexTable);
-    if (!conn.tableOperations().exists(dataTable))
+    if (!conn.tableOperations().exists(dataTable)) {
       conn.tableOperations().create(dataTable);
+      conn.tableOperations().attachIterator(dataTable, new IteratorSetting(1, ChunkCombiner.class));
+    }
     
     BatchWriter dirBW = conn.createBatchWriter(nameTable, 50000000, 300000l, 4);
     BatchWriter indexBW = conn.createBatchWriter(indexTable, 50000000, 300000l, 4);

Modified: incubator/accumulo/trunk/src/examples/simple/src/main/java/org/apache/accumulo/examples/simple/filedata/ChunkCombiner.java
URL: http://svn.apache.org/viewvc/incubator/accumulo/trunk/src/examples/simple/src/main/java/org/apache/accumulo/examples/simple/filedata/ChunkCombiner.java?rev=1239933&r1=1239932&r2=1239933&view=diff
==============================================================================
--- incubator/accumulo/trunk/src/examples/simple/src/main/java/org/apache/accumulo/examples/simple/filedata/ChunkCombiner.java
(original)
+++ incubator/accumulo/trunk/src/examples/simple/src/main/java/org/apache/accumulo/examples/simple/filedata/ChunkCombiner.java
Thu Feb  2 23:35:55 2012
@@ -30,7 +30,7 @@ import org.apache.accumulo.core.iterator
 import org.apache.accumulo.core.iterators.SortedKeyValueIterator;
 import org.apache.hadoop.io.Text;
 
-/*
+/**
  * This iterator dedupes chunks and sets their visibilities to the combined
  * visibility of the refs columns.  For example, it would combine
  * 

Modified: incubator/accumulo/trunk/src/examples/simple/src/main/java/org/apache/accumulo/examples/simple/filedata/ChunkInputFormat.java
URL: http://svn.apache.org/viewvc/incubator/accumulo/trunk/src/examples/simple/src/main/java/org/apache/accumulo/examples/simple/filedata/ChunkInputFormat.java?rev=1239933&r1=1239932&r2=1239933&view=diff
==============================================================================
--- incubator/accumulo/trunk/src/examples/simple/src/main/java/org/apache/accumulo/examples/simple/filedata/ChunkInputFormat.java
(original)
+++ incubator/accumulo/trunk/src/examples/simple/src/main/java/org/apache/accumulo/examples/simple/filedata/ChunkInputFormat.java
Thu Feb  2 23:35:55 2012
@@ -31,6 +31,9 @@ import org.apache.hadoop.mapreduce.Input
 import org.apache.hadoop.mapreduce.RecordReader;
 import org.apache.hadoop.mapreduce.TaskAttemptContext;
 
+/**
+ * An InputFormat that turns the file data ingested with FileDataIngest into an InputStream.
Mappers used with this InputFormat must close the InputStream.
+ */
 public class ChunkInputFormat extends InputFormatBase<List<Entry<Key,Value>>,InputStream>
{
   @Override
   public RecordReader<List<Entry<Key,Value>>,InputStream> createRecordReader(InputSplit
split, TaskAttemptContext context) throws IOException,

Modified: incubator/accumulo/trunk/src/examples/simple/src/main/java/org/apache/accumulo/examples/simple/filedata/ChunkInputStream.java
URL: http://svn.apache.org/viewvc/incubator/accumulo/trunk/src/examples/simple/src/main/java/org/apache/accumulo/examples/simple/filedata/ChunkInputStream.java?rev=1239933&r1=1239932&r2=1239933&view=diff
==============================================================================
--- incubator/accumulo/trunk/src/examples/simple/src/main/java/org/apache/accumulo/examples/simple/filedata/ChunkInputStream.java
(original)
+++ incubator/accumulo/trunk/src/examples/simple/src/main/java/org/apache/accumulo/examples/simple/filedata/ChunkInputStream.java
Thu Feb  2 23:35:55 2012
@@ -47,13 +47,13 @@ public class ChunkInputStream extends In
     source = null;
   }
   
-  public ChunkInputStream(PeekingIterator<Entry<Key,Value>> in) {
+  public ChunkInputStream(PeekingIterator<Entry<Key,Value>> in) throws IOException
{
     setSource(in);
   }
   
-  public void setSource(PeekingIterator<Entry<Key,Value>> in) {
+  public void setSource(PeekingIterator<Entry<Key,Value>> in) throws IOException
{
     if (source != null)
-      throw new RuntimeException("setting new source without closing old one");
+      throw new IOException("setting new source without closing old one");
     this.source = in;
     currentVis = new TreeSet<Text>();
     count = pos = 0;
@@ -81,6 +81,12 @@ public class ChunkInputStream extends In
     currentChunk = FileDataIngest.bytesToInt(currentKey.getColumnQualifier().getBytes(),
4);
     currentChunkSize = FileDataIngest.bytesToInt(currentKey.getColumnQualifier().getBytes(),
0);
     gotEndMarker = false;
+    if (buf.length == 0)
+      gotEndMarker = true;
+    if (currentChunk != 0) {
+      source = null;
+      throw new IOException("starting chunk number isn't 0 for " + currentKey.getRow());
+    }
   }
   
   private int fill() throws IOException {
@@ -163,7 +169,7 @@ public class ChunkInputStream extends In
   
   public Set<Text> getVisibilities() {
     if (source != null)
-      throw new RuntimeException("don't get visibilities before chunks have been completely
read");
+      throw new IllegalStateException("don't get visibilities before chunks have been completely
read");
     return currentVis;
   }
   

Modified: incubator/accumulo/trunk/src/examples/simple/src/main/java/org/apache/accumulo/examples/simple/filedata/FileDataIngest.java
URL: http://svn.apache.org/viewvc/incubator/accumulo/trunk/src/examples/simple/src/main/java/org/apache/accumulo/examples/simple/filedata/FileDataIngest.java?rev=1239933&r1=1239932&r2=1239933&view=diff
==============================================================================
--- incubator/accumulo/trunk/src/examples/simple/src/main/java/org/apache/accumulo/examples/simple/filedata/FileDataIngest.java
(original)
+++ incubator/accumulo/trunk/src/examples/simple/src/main/java/org/apache/accumulo/examples/simple/filedata/FileDataIngest.java
Thu Feb  2 23:35:55 2012
@@ -24,6 +24,7 @@ import java.security.NoSuchAlgorithmExce
 
 import org.apache.accumulo.core.client.BatchWriter;
 import org.apache.accumulo.core.client.Connector;
+import org.apache.accumulo.core.client.IteratorSetting;
 import org.apache.accumulo.core.client.MutationsRejectedException;
 import org.apache.accumulo.core.client.ZooKeeperInstance;
 import org.apache.accumulo.core.data.ArrayByteSequence;
@@ -165,8 +166,10 @@ public class FileDataIngest {
     int chunkSize = Integer.parseInt(args[6]);
     
     Connector conn = new ZooKeeperInstance(instance, zooKeepers).getConnector(user, pass.getBytes());
-    if (!conn.tableOperations().exists(dataTable))
+    if (!conn.tableOperations().exists(dataTable)) {
       conn.tableOperations().create(dataTable);
+      conn.tableOperations().attachIterator(dataTable, new IteratorSetting(1, ChunkCombiner.class));
+    }
     BatchWriter bw = conn.createBatchWriter(dataTable, 50000000, 300000l, 4);
     FileDataIngest fdi = new FileDataIngest(chunkSize, colvis);
     for (int i = 7; i < args.length; i++) {

Modified: incubator/accumulo/trunk/src/examples/simple/src/main/java/org/apache/accumulo/examples/simple/filedata/FileDataQuery.java
URL: http://svn.apache.org/viewvc/incubator/accumulo/trunk/src/examples/simple/src/main/java/org/apache/accumulo/examples/simple/filedata/FileDataQuery.java?rev=1239933&r1=1239932&r2=1239933&view=diff
==============================================================================
--- incubator/accumulo/trunk/src/examples/simple/src/main/java/org/apache/accumulo/examples/simple/filedata/FileDataQuery.java
(original)
+++ incubator/accumulo/trunk/src/examples/simple/src/main/java/org/apache/accumulo/examples/simple/filedata/FileDataQuery.java
Thu Feb  2 23:35:55 2012
@@ -52,7 +52,7 @@ public class FileDataQuery {
     return lastRefs;
   }
   
-  public ChunkInputStream getData(String hash) {
+  public ChunkInputStream getData(String hash) throws IOException {
     scanner.setRange(new Range(hash));
     scanner.setBatchSize(1);
     lastRefs.clear();

Modified: incubator/accumulo/trunk/src/examples/simple/src/test/java/org/apache/accumulo/examples/simple/filedata/ChunkInputStreamTest.java
URL: http://svn.apache.org/viewvc/incubator/accumulo/trunk/src/examples/simple/src/test/java/org/apache/accumulo/examples/simple/filedata/ChunkInputStreamTest.java?rev=1239933&r1=1239932&r2=1239933&view=diff
==============================================================================
--- incubator/accumulo/trunk/src/examples/simple/src/test/java/org/apache/accumulo/examples/simple/filedata/ChunkInputStreamTest.java
(original)
+++ incubator/accumulo/trunk/src/examples/simple/src/test/java/org/apache/accumulo/examples/simple/filedata/ChunkInputStreamTest.java
Thu Feb  2 23:35:55 2012
@@ -38,8 +38,6 @@ import org.apache.accumulo.core.data.Val
 import org.apache.accumulo.core.security.Authorizations;
 import org.apache.accumulo.core.security.ColumnVisibility;
 import org.apache.accumulo.core.util.PeekingIterator;
-import org.apache.accumulo.examples.simple.filedata.ChunkInputStream;
-import org.apache.accumulo.examples.simple.filedata.FileDataIngest;
 import org.apache.hadoop.io.Text;
 import org.apache.log4j.Logger;
 
@@ -65,6 +63,9 @@ public class ChunkInputStreamTest extend
     addData(data, "c", "~chunk", 100, 0, "A&B", "asdfjkl;");
     addData(data, "c", "~chunk", 100, 1, "A&B", "asdfjkl;");
     addData(data, "c", "~chunk", 100, 2, "A&B", "");
+    addData(data, "d", "~chunk", 100, 0, "A&B", "");
+    addData(data, "e", "~chunk", 100, 0, "A&B", "asdfjkl;");
+    addData(data, "e", "~chunk", 100, 1, "A&B", "");
     baddata = new ArrayList<Entry<Key,Value>>();
     addData(baddata, "a", "~chunk", 100, 0, "A", "asdfjkl;");
     addData(baddata, "b", "~chunk", 100, 0, "B", "asdfjkl;");
@@ -77,6 +78,8 @@ public class ChunkInputStreamTest extend
     addData(baddata, "e", "~chunk", 100, 0, "I", "asdfjkl;");
     addData(baddata, "e", "~chunk", 100, 1, "J", "");
     addData(baddata, "e", "~chunk", 100, 2, "I", "asdfjkl;");
+    addData(baddata, "f", "~chunk", 100, 2, "K", "asdfjkl;");
+    addData(baddata, "g", "~chunk", 100, 0, "L", "");
     multidata = new ArrayList<Entry<Key,Value>>();
     addData(multidata, "a", "~chunk", 100, 0, "A&B", "asdfjkl;");
     addData(multidata, "a", "~chunk", 100, 1, "A&B", "");
@@ -106,7 +109,7 @@ public class ChunkInputStreamTest extend
     try {
       cis.setSource(pi);
       assertNotNull(null);
-    } catch (RuntimeException e) {
+    } catch (IOException e) {
       assertNull(null);
     }
     cis.close();
@@ -167,6 +170,14 @@ public class ChunkInputStreamTest extend
     assertEquals(read = cis.read(b), -1);
     cis.close();
     
+    cis.setSource(pi);
+    assertEquals(read = cis.read(b), 5);
+    assertEquals(new String(b, 0, read), "asdfj");
+    assertEquals(read = cis.read(b), 3);
+    assertEquals(new String(b, 0, read), "kl;");
+    assertEquals(read = cis.read(b), -1);
+    cis.close();
+    
     assertFalse(pi.hasNext());
   }
   
@@ -199,6 +210,12 @@ public class ChunkInputStreamTest extend
     assertEquals(read = cis.read(b), -1);
     cis.close();
     
+    cis.setSource(pi);
+    assertEquals(read = cis.read(b), 8);
+    assertEquals(new String(b, 0, read), "asdfjkl;");
+    assertEquals(read = cis.read(b), -1);
+    cis.close();
+    
     assertFalse(pi.hasNext());
   }
   
@@ -245,6 +262,12 @@ public class ChunkInputStreamTest extend
     assertEquals(read = cis.read(b), -1);
     cis.close();
     
+    cis.setSource(pi);
+    assertEquals(read = cis.read(b), 8);
+    assertEquals(new String(b, 0, read), "asdfjkl;");
+    assertEquals(read = cis.read(b), -1);
+    cis.close();
+    
     assertFalse(pi.hasNext());
   }
   
@@ -302,6 +325,20 @@ public class ChunkInputStreamTest extend
     cis.close();
     assertEquals(cis.getVisibilities().toString(), "[I, J]");
     
+    try {
+      cis.setSource(pi);
+      assertNotNull(null);
+    } catch (IOException e) {
+      assertNull(null);
+    }
+    assumeExceptionOnClose(cis);
+    assertEquals(cis.getVisibilities().toString(), "[K]");
+    
+    cis.setSource(pi);
+    assertEquals(read = cis.read(b), -1);
+    assertEquals(cis.getVisibilities().toString(), "[L]");
+    cis.close();
+    
     assertFalse(pi.hasNext());
     
     pi = new PeekingIterator<Entry<Key,Value>>(baddata.iterator());
@@ -339,6 +376,19 @@ public class ChunkInputStreamTest extend
     assumeExceptionOnRead(cis, b);
     assertEquals(cis.getVisibilities().toString(), "[I, J]");
     
+    try {
+      cis.setSource(pi);
+      assertNotNull(null);
+    } catch (IOException e) {
+      assertNull(null);
+    }
+    assertEquals(cis.getVisibilities().toString(), "[K]");
+    
+    cis.setSource(pi);
+    assertEquals(read = cis.read(b), -1);
+    assertEquals(cis.getVisibilities().toString(), "[L]");
+    cis.close();
+    
     assertFalse(pi.hasNext());
     
     pi = new PeekingIterator<Entry<Key,Value>>(baddata.iterator());

Propchange: incubator/accumulo/trunk/src/server/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Feb  2 23:35:55 2012
@@ -1,3 +1,3 @@
 /incubator/accumulo/branches/1.3.5rc/src/server:1209938
 /incubator/accumulo/branches/1.3/src/server:1190280,1190413,1190420,1190427,1190500,1195622,1195625,1195629,1195635,1196044,1196054,1196057,1196071-1196072,1196106,1197066,1198935,1199383,1203683,1204625,1205547,1205880,1206169,1208031,1209124,1209526,1209532,1209539,1209541,1209587,1209657,1210518,1210571,1210596,1210598,1213424,1214320,1225006,1227215,1227231,1227611
-/incubator/accumulo/branches/1.4/src/server:1201902-1239409
+/incubator/accumulo/branches/1.4/src/server:1201902-1239924

Modified: incubator/accumulo/trunk/src/server/src/main/java/org/apache/accumulo/server/master/state/MergeStats.java
URL: http://svn.apache.org/viewvc/incubator/accumulo/trunk/src/server/src/main/java/org/apache/accumulo/server/master/state/MergeStats.java?rev=1239933&r1=1239932&r2=1239933&view=diff
==============================================================================
--- incubator/accumulo/trunk/src/server/src/main/java/org/apache/accumulo/server/master/state/MergeStats.java
(original)
+++ incubator/accumulo/trunk/src/server/src/main/java/org/apache/accumulo/server/master/state/MergeStats.java
Thu Feb  2 23:35:55 2012
@@ -90,7 +90,9 @@ public class MergeStats {
   
   public MergeState nextMergeState() throws Exception {
     MergeState state = info.getState();
-    log.info("Computing next merge state for " + this.info.getRange() + " which is presently
" + state);
+    if (state == MergeState.NONE)
+      return state;
+    log.info("Computing next merge state for " + info.getRange() + " which is presently "
+ state);
     if (state == MergeState.STARTED) {
       state = MergeState.SPLITTING;
     }
@@ -167,19 +169,32 @@ public class MergeStats {
     }
     Text tableId = extent.getTableId();
     Text first = KeyExtent.getMetadataEntry(tableId, start);
-    Range range = new Range(first, true, null, true);
+    Range range = new Range(first, false, null, true);
     scanner.setRange(range);
-    Text pr = null;
+    KeyExtent prevExtent = null;
+
     for (Entry<Key,Value> entry : scanner) {
       TabletLocationState tls = MetaDataTableScanner.createTabletLocationState(entry.getKey(),
entry.getValue());
       if (!tls.extent.getTableId().equals(tableId)) {
         break;
       }
-      verify.update(tls.extent, tls.getState(master.onlineTabletServers()), tls.chopped);
-      // check that the prevRow matches the previous row
-      if (pr != null && (tls.extent.getPrevEndRow() == null || !tls.extent.getPrevEndRow().equals(pr)))
+      
+      if (prevExtent == null) {
+        // this is the first tablet observed, it must be offline and its prev row must be
less than the start of the merge range
+        if (tls.extent.getPrevEndRow() != null && tls.extent.getPrevEndRow().compareTo(start)
> 0) {
+          return false;
+        }
+        
+        if (tls.getState(master.onlineTabletServers()) != TabletState.UNASSIGNED)
+          return false;
+        
+      } else if (!tls.extent.isPreviousExtent(prevExtent)) {
         return false;
-      pr = tls.extent.getEndRow();
+      }
+      
+      prevExtent = tls.extent;
+
+      verify.update(tls.extent, tls.getState(master.onlineTabletServers()), tls.chopped);
       // stop when we've seen the tablet just beyond our range
       if (tls.extent.getPrevEndRow() != null && extent.getEndRow() != null &&
tls.extent.getPrevEndRow().compareTo(extent.getEndRow()) > 0) {
         break;

Modified: incubator/accumulo/trunk/src/server/src/main/java/org/apache/accumulo/server/master/tableOps/DeleteTable.java
URL: http://svn.apache.org/viewvc/incubator/accumulo/trunk/src/server/src/main/java/org/apache/accumulo/server/master/tableOps/DeleteTable.java?rev=1239933&r1=1239932&r2=1239933&view=diff
==============================================================================
--- incubator/accumulo/trunk/src/server/src/main/java/org/apache/accumulo/server/master/tableOps/DeleteTable.java
(original)
+++ incubator/accumulo/trunk/src/server/src/main/java/org/apache/accumulo/server/master/tableOps/DeleteTable.java
Thu Feb  2 23:35:55 2012
@@ -26,6 +26,7 @@ import org.apache.accumulo.core.client.B
 import org.apache.accumulo.core.client.Connector;
 import org.apache.accumulo.core.client.Instance;
 import org.apache.accumulo.core.client.IteratorSetting;
+import org.apache.accumulo.core.client.Scanner;
 import org.apache.accumulo.core.client.impl.Tables;
 import org.apache.accumulo.core.client.impl.thrift.TableOperation;
 import org.apache.accumulo.core.data.Key;
@@ -89,21 +90,29 @@ class CleanUp extends MasterRepo {
     
     boolean done = true;
     Range tableRange = new KeyExtent(new Text(tableId), null, null).toMetadataRange();
-    MetaDataTableScanner metaDataTableScanner = new MetaDataTableScanner(environment.getInstance(),
SecurityConstants.getSystemCredentials(), tableRange, null);
-    try {
-      while (metaDataTableScanner.hasNext()) {
-        TabletLocationState locationState = metaDataTableScanner.next();
-        TabletState state = locationState.getState(environment.onlineTabletServers());
-        if (state.equals(TabletState.ASSIGNED) || state.equals(TabletState.HOSTED)) {
-          log.debug("Still waiting for table to be deleted: " + tableId + " locationState:
" + locationState);
-          done = false;
-          break;
-        }
+    Scanner scanner = environment.getInstance().getConnector(SecurityConstants.getSystemCredentials())
+        .createScanner(Constants.METADATA_TABLE_NAME, Constants.NO_AUTHS);
+    MetaDataTableScanner.configureScanner(scanner, environment);
+    scanner.setRange(tableRange);
+    
+    KeyExtent prevExtent = null;
+    for (Entry<Key,Value> entry : scanner) {
+      TabletLocationState locationState = MetaDataTableScanner.createTabletLocationState(entry.getKey(),
entry.getValue());
+      if (!locationState.extent.isPreviousExtent(prevExtent)) {
+        log.debug("Still waiting for table to be deleted: " + tableId + " saw inconsistency"
+ prevExtent + " " + locationState.extent);
+        done = false;
+        break;
+      }
+      prevExtent = locationState.extent;
+      
+      TabletState state = locationState.getState(environment.onlineTabletServers());
+      if (state.equals(TabletState.ASSIGNED) || state.equals(TabletState.HOSTED)) {
+        log.debug("Still waiting for table to be deleted: " + tableId + " locationState:
" + locationState);
+        done = false;
+        break;
       }
-    } finally {
-      metaDataTableScanner.close();
     }
-    
+
     if (!done)
       return 50;
     

Modified: incubator/accumulo/trunk/src/server/src/main/java/org/apache/accumulo/server/test/functional/ConstraintTest.java
URL: http://svn.apache.org/viewvc/incubator/accumulo/trunk/src/server/src/main/java/org/apache/accumulo/server/test/functional/ConstraintTest.java?rev=1239933&r1=1239932&r2=1239933&view=diff
==============================================================================
--- incubator/accumulo/trunk/src/server/src/main/java/org/apache/accumulo/server/test/functional/ConstraintTest.java
(original)
+++ incubator/accumulo/trunk/src/server/src/main/java/org/apache/accumulo/server/test/functional/ConstraintTest.java
Thu Feb  2 23:35:55 2012
@@ -51,8 +51,8 @@ public class ConstraintTest extends Func
   
   @Override
   public List<TableSetup> getTablesToCreate() {
-    Map<String,String> config = parseConfig(Property.TABLE_CONSTRAINT_PREFIX + "1=org.apache.accumulo.examples.constraints.NumericValueConstraint",
-        Property.TABLE_CONSTRAINT_PREFIX + "2=org.apache.accumulo.examples.constraints.AlphaNumKeyConstraint");
+    Map<String,String> config = parseConfig(Property.TABLE_CONSTRAINT_PREFIX + "1=org.apache.accumulo.examples.simple.constraints.NumericValueConstraint",
+        Property.TABLE_CONSTRAINT_PREFIX + "2=org.apache.accumulo.examples.simple.constraints.AlphaNumKeyConstraint");
     return Arrays.asList(new TableSetup("ct", config), new TableSetup("ct2", config), new
TableSetup("ct3", config));
   }
   
@@ -107,7 +107,7 @@ public class ConstraintTest extends Func
       }
       
       for (ConstraintViolationSummary cvs : cvsl) {
-        if (!cvs.constrainClass.equals("org.apache.accumulo.examples.constraints.NumericValueConstraint"))
{
+        if (!cvs.constrainClass.equals("org.apache.accumulo.examples.simple.constraints.NumericValueConstraint"))
{
           throw new Exception("Unexpected constraint class " + cvs.constrainClass);
         }
         
@@ -278,8 +278,8 @@ public class ConstraintTest extends Func
       
       HashMap<String,Integer> expected = new HashMap<String,Integer>();
       
-      expected.put("org.apache.accumulo.examples.constraints.NumericValueConstraint", numericErrors);
-      expected.put("org.apache.accumulo.examples.constraints.AlphaNumKeyConstraint", 1);
+      expected.put("org.apache.accumulo.examples.simple.constraints.NumericValueConstraint",
numericErrors);
+      expected.put("org.apache.accumulo.examples.simple.constraints.AlphaNumKeyConstraint",
1);
       
       for (ConstraintViolationSummary cvs : cvsl) {
         if (expected.get(cvs.constrainClass) != cvs.numberOfViolatingMutations) {

Modified: incubator/accumulo/trunk/src/server/src/main/java/org/apache/accumulo/server/test/randomwalk/bulk/BulkPlusOne.java
URL: http://svn.apache.org/viewvc/incubator/accumulo/trunk/src/server/src/main/java/org/apache/accumulo/server/test/randomwalk/bulk/BulkPlusOne.java?rev=1239933&r1=1239932&r2=1239933&view=diff
==============================================================================
--- incubator/accumulo/trunk/src/server/src/main/java/org/apache/accumulo/server/test/randomwalk/bulk/BulkPlusOne.java
(original)
+++ incubator/accumulo/trunk/src/server/src/main/java/org/apache/accumulo/server/test/randomwalk/bulk/BulkPlusOne.java
Thu Feb  2 23:35:55 2012
@@ -99,10 +99,10 @@ public class BulkPlusOne extends BulkTes
     }
     state.getConnector().tableOperations().importDirectory(Setup.getTableName(), dir.toString(),
fail.toString(), true);
     fs.delete(dir, true);
-    fs.delete(fail, true);
     FileStatus[] failures = fs.listStatus(fail);
     if (failures != null && failures.length > 0)
       throw new Exception("Failures " + Arrays.asList(failures) + " found importing files
from " + dir);
+    fs.delete(fail, true);
     log.debug("Finished bulk import, start rows " + printRows + " last row " + String.format(FMT,
LOTS - 1) + " marker " + markerColumnQualifier);
   }
   

Modified: incubator/accumulo/trunk/test/system/auto/simple/bulkSplitOptimization.py
URL: http://svn.apache.org/viewvc/incubator/accumulo/trunk/test/system/auto/simple/bulkSplitOptimization.py?rev=1239933&r1=1239932&r2=1239933&view=diff
==============================================================================
--- incubator/accumulo/trunk/test/system/auto/simple/bulkSplitOptimization.py (original)
+++ incubator/accumulo/trunk/test/system/auto/simple/bulkSplitOptimization.py Thu Feb  2 23:35:55
2012
@@ -20,6 +20,7 @@ import unittest
 class BulkSplitOptimizationTest(JavaTest):
     "Bulk Import Split Optimization Test"
 
+    maxRuntime = 200
     order = 21
     testClass="org.apache.accumulo.server.test.functional.BulkSplitOptimizationTest"
 

Modified: incubator/accumulo/trunk/test/system/auto/simple/combiner.py
URL: http://svn.apache.org/viewvc/incubator/accumulo/trunk/test/system/auto/simple/combiner.py?rev=1239933&r1=1239932&r2=1239933&view=diff
==============================================================================
--- incubator/accumulo/trunk/test/system/auto/simple/combiner.py (original)
+++ incubator/accumulo/trunk/test/system/auto/simple/combiner.py Thu Feb  2 23:35:55 2012
@@ -21,7 +21,7 @@ import logging
 import unittest
 import time
 
-from TestUtils import TestUtilsMixin
+from TestUtils import TestUtilsMixin, ACCUMULO_HOME
 
 log = logging.getLogger('test.auto')
 
@@ -48,6 +48,7 @@ class CombinerTest(TestUtilsMixin, unitt
                      "setiter -t test -scan -p 10 -n mycombiner -class org.apache.accumulo.core.iterators.user.SummingCombiner\n"
                      "\n"
                      "cf\n"
+                     "\n"
                      "STRING\n"
                      "deleteiter -t test -n vers -minc -majc -scan\n")
         self.assert_(code == 0)
@@ -83,7 +84,7 @@ class ClassLoaderTest(TestUtilsMixin, un
             self.fail("Unable to find needed output in %r" % out)
 
     def runTest(self):
-        jarPath = os.environ['ACCUMULO_HOME']+"/lib/ext/TestCombiner.jar"
+        jarPath = ACCUMULO_HOME+"/lib/ext/TestCombiner.jar"
         # make sure the combiner is not there
         if os.path.exists(jarPath):
             os.remove(jarPath)

Modified: incubator/accumulo/trunk/test/system/auto/simple/examples.py
URL: http://svn.apache.org/viewvc/incubator/accumulo/trunk/test/system/auto/simple/examples.py?rev=1239933&r1=1239932&r2=1239933&view=diff
==============================================================================
--- incubator/accumulo/trunk/test/system/auto/simple/examples.py (original)
+++ incubator/accumulo/trunk/test/system/auto/simple/examples.py Thu Feb  2 23:35:55 2012
@@ -59,11 +59,11 @@ class Examples(TestUtilsMixin, unittest.
 
     def runTest(self):
         self.ashell('createtable %s\nsetauths -u %s -s A,B\nquit\n' %(table, ROOT))
-        examplesJar = glob.glob(ACCUMULO_HOME+'/lib/accumulo-examples-*.jar')[0]
+        examplesJar = glob.glob(ACCUMULO_HOME+'/lib/examples-simple*.jar')[0]
 
         self.comment("Testing dirlist example (a little)")
         self.comment("  ingesting accumulo source")
-        self.execute(self.accumulo_sh(), 'org.apache.accumulo.examples.dirlist.Ingest',
+        self.execute(self.accumulo_sh(), 'org.apache.accumulo.examples.simple.dirlist.Ingest',
                      INSTANCE_NAME, ZOOKEEPERS, ROOT, ROOT_PASSWORD,
                      'dirTable',
                      'indexTable',
@@ -72,7 +72,7 @@ class Examples(TestUtilsMixin, unittest.
                      100000,
                      ACCUMULO_HOME+"/src")
         self.comment("  searching for a file")
-        handle = self.runOn('localhost', [self.accumulo_sh(), 'org.apache.accumulo.examples.dirlist.QueryUtil',
+        handle = self.runOn('localhost', [self.accumulo_sh(), 'org.apache.accumulo.examples.simple.dirlist.QueryUtil',
                                           INSTANCE_NAME, ZOOKEEPERS, ROOT, ROOT_PASSWORD,
                                           'indexTable', auths, 'Fate.java', '-search'])
         out, err = handle.communicate()

Modified: incubator/accumulo/trunk/test/system/auto/simple/mapreduce.py
URL: http://svn.apache.org/viewvc/incubator/accumulo/trunk/test/system/auto/simple/mapreduce.py?rev=1239933&r1=1239932&r2=1239933&view=diff
==============================================================================
--- incubator/accumulo/trunk/test/system/auto/simple/mapreduce.py (original)
+++ incubator/accumulo/trunk/test/system/auto/simple/mapreduce.py Thu Feb  2 23:35:55 2012
@@ -52,7 +52,7 @@ class MapReduceTest(TestUtilsMixin,unitt
     output_tablename = "mapredf"
     input_cfcq = "cf-HASHTYPE:cq-NOTHASHED"
     output_cfcq = "cf-HASHTYPE:cq-MD5BASE64"
-    example_class_to_run ="org.apache.accumulo.examples.mapreduce.RowHash"
+    example_class_to_run ="org.apache.accumulo.examples.simple.mapreduce.RowHash"
     
     def setUp(self):
         if not os.getenv("ZOOKEEPER_HOME"):
@@ -66,7 +66,7 @@ class MapReduceTest(TestUtilsMixin,unitt
     def runTest(self):
         #These Environment variables are need to run this test it will fail if they are not
in the environment
         thriftjar = globa(os.path.join('lib','libthrift*.jar'))
-        examples = globa(os.path.join('lib','accumulo-examples*[!javadoc|sources].jar'))
+        examples = globa(os.path.join('lib','examples-simple*[!javadoc|sources].jar'))
         core = globa(os.path.join('lib','accumulo-core*[!javadoc|sources].jar'))
         start = globa(os.path.join('lib','accumulo-start*[!javadoc|sources].jar'))
         trace = globa(os.path.join('lib','cloudtrace*[!javadoc|sources].jar'))

Modified: incubator/accumulo/trunk/test/system/auto/simple/merge.py
URL: http://svn.apache.org/viewvc/incubator/accumulo/trunk/test/system/auto/simple/merge.py?rev=1239933&r1=1239932&r2=1239933&view=diff
==============================================================================
--- incubator/accumulo/trunk/test/system/auto/simple/merge.py (original)
+++ incubator/accumulo/trunk/test/system/auto/simple/merge.py Thu Feb  2 23:35:55 2012
@@ -18,6 +18,7 @@ import logging
 import unittest
 
 from TestUtils import TestUtilsMixin
+from JavaTest import JavaTest
 
 log = logging.getLogger('test.auto')
 
@@ -90,9 +91,16 @@ quit
         secondMerge = secondMerge.strip().split('\n')[:-1]
         self.assert_(secondMerge == ['c','e','f','y'])
 
+class MergeTest(JavaTest):
+    "Test Merge"
+
+    order = 92
+    testClass="org.apache.accumulo.server.test.functional.MergeTest"
+
 
 def suite():
     result = unittest.TestSuite()
     result.addTest(Merge())
     result.addTest(MergeSize())
+    result.addTest(MergeTest())
     return result

Modified: incubator/accumulo/trunk/test/system/auto/simple/shell.py
URL: http://svn.apache.org/viewvc/incubator/accumulo/trunk/test/system/auto/simple/shell.py?rev=1239933&r1=1239932&r2=1239933&view=diff
==============================================================================
--- incubator/accumulo/trunk/test/system/auto/simple/shell.py (original)
+++ incubator/accumulo/trunk/test/system/auto/simple/shell.py Thu Feb  2 23:35:55 2012
@@ -59,25 +59,25 @@ class ShellTest(TestUtilsMixin,unittest.
         
         
     def setIterTest(self):
-        input = 'setiter -t setitertest -n mymax -scan -p 10 -class org.apache.accumulo.core.iterators.user.MaxCombiner\n\ncf\nSTRING\n'
+        input = 'setiter -t setitertest -n mymax -scan -p 10 -class org.apache.accumulo.core.iterators.user.MaxCombiner\n\ncf\n\nSTRING\n'
         out,err,code = self.rootShell(self.masterHost(),input)
         self.failUnless(out.find("TableNotFoundException") >= 0,
                         "Was able to setiter a table that didn't exist")
         input = 'createtable setitertest\n'
         out,err,code = self.rootShell(self.masterHost(),input)
         self.processResult(out, err, code)
-        input = 'setiter -t setitertest -n mymax -scan -p 10 -class org.apache.accumulo.core.iterators.user.MaxCombiner\n\ncf1\nSTRING\n'
+        input = 'setiter -t setitertest -n mymax -scan -p 10 -class org.apache.accumulo.core.iterators.user.MaxCombiner\n\ncf1\n\nSTRING\n'
         out,err,code = self.rootShell(self.masterHost(),input)
         self.processResult(out, err, code)
-        input = 'setiter -t setitertest -n mymax -scan -p 10 -class org.apache.accumulo.core.iterators.user.MinCombiner\n\ncf2\nSTRING\n'
+        input = 'setiter -t setitertest -n mymax -scan -p 10 -class org.apache.accumulo.core.iterators.user.MinCombiner\n\ncf2\n\nSTRING\n'
         out,err,code = self.rootShell(self.masterHost(),input)
         self.failUnless(out.find("IllegalArgumentException") >= 0,
                         "Was able to configure same iter name twice")
-        input = 'setiter -t setitertest -n mymin -scan -p 10 -class org.apache.accumulo.core.iterators.user.MinCombiner\n\ncf2\nSTRING\n'
+        input = 'setiter -t setitertest -n mymin -scan -p 10 -class org.apache.accumulo.core.iterators.user.MinCombiner\n\ncf2\n\nSTRING\n'
         out,err,code = self.rootShell(self.masterHost(),input)
         self.failUnless(out.find("IllegalArgumentException") >= 0,
                         "Was able to configure same priority twice")
-        input = 'setiter -t setitertest -n mymin -scan -p 11 -class org.apache.accumulo.core.iterators.user.MinCombiner\n\ncf2\nSTRING\n'
+        input = 'setiter -t setitertest -n mymin -scan -p 11 -class org.apache.accumulo.core.iterators.user.MinCombiner\n\ncf2\n\nSTRING\n'
         out,err,code = self.rootShell(self.masterHost(),input)
         self.processResult(out, err, code)
         input = 'table setitertest\ninsert row1 cf1 cq 10\ninsert row1 cf1 cq 30\ninsert
row1 cf1 cq 20\ninsert row1 cf2 cq 10\ninsert row1 cf2 cq 30\nscan -np\n'
@@ -122,7 +122,7 @@ class ShellTest(TestUtilsMixin,unittest.
                         "Was able to configure same priority twice")
         
     def aggTest(self):
-        input = 'createtable aggtest\nsetiter -t aggtest -n myagg -scan -p 10 -class org.apache.accumulo.core.iterators.user.SummingCombiner\n\ns\nSTRING\n\nquit\n'
+        input = 'createtable aggtest\nsetiter -t aggtest -n myagg -scan -p 10 -class org.apache.accumulo.core.iterators.user.SummingCombiner\n\ns\n\nSTRING\n\nquit\n'
         out,err,code = self.rootShell(self.masterHost(),input)
         self.processResult(out, err, code)
         input = 'table aggtest\ninsert row1 s c 10\ninsert row1 s c 30\nscan -np\n'

Modified: incubator/accumulo/trunk/test/system/bench/lib/RowHashBenchmark.py
URL: http://svn.apache.org/viewvc/incubator/accumulo/trunk/test/system/bench/lib/RowHashBenchmark.py?rev=1239933&r1=1239932&r2=1239933&view=diff
==============================================================================
--- incubator/accumulo/trunk/test/system/bench/lib/RowHashBenchmark.py (original)
+++ incubator/accumulo/trunk/test/system/bench/lib/RowHashBenchmark.py Thu Feb  2 23:35:55
2012
@@ -60,7 +60,7 @@ class RowHashBenchmark(Benchmark):
         #    code, out, err = cloudshell.run('user root\nsecret\ndeletetable RowHashTest\n')

         #    self.sleep(15)
         code, out, err = cloudshell.run(self.username, self.password, "createtable %s -sf
%s\n" % (self.output_table, file))
-        command = self.buildcommand('org.apache.accumulo.examples.mapreduce.TeraSortIngest',
+        command = self.buildcommand('org.apache.accumulo.examples.simple.mapreduce.TeraSortIngest',
                                     self.numrows(),
                                     self.keysizemin(),
                                     self.keysizemax(),
@@ -93,7 +93,7 @@ class RowHashBenchmark(Benchmark):
         return self.valmax
         
     def runTest(self):   
-        command = self.buildcommand('org.apache.accumulo.examples.mapreduce.RowHash',
+        command = self.buildcommand('org.apache.accumulo.examples.simple.mapreduce.RowHash',
                                     self.getInstance(),
                                     self.getZookeepers(),
                                     self.getUsername(),

Modified: incubator/accumulo/trunk/test/system/bench/lib/TeraSortBenchmark.py
URL: http://svn.apache.org/viewvc/incubator/accumulo/trunk/test/system/bench/lib/TeraSortBenchmark.py?rev=1239933&r1=1239932&r2=1239933&view=diff
==============================================================================
--- incubator/accumulo/trunk/test/system/bench/lib/TeraSortBenchmark.py (original)
+++ incubator/accumulo/trunk/test/system/bench/lib/TeraSortBenchmark.py Thu Feb  2 23:35:55
2012
@@ -72,7 +72,7 @@ class TeraSortBenchmark(Benchmark):
         dir = os.path.dirname(os.path.realpath(__file__))
         file = os.path.join( dir, 'splits' )
         code, out, err = cloudshell.run(self.username, self.password, "createtable %s -sf
%s\n" % (self.tablename, file))
-        command = self.buildcommand('org.apache.accumulo.examples.mapreduce.TeraSortIngest',
+        command = self.buildcommand('org.apache.accumulo.examples.simple.mapreduce.TeraSortIngest',
                                     self.numrows(),
                                     self.keysizemin(),
                                     self.keysizemax(),



Mime
View raw message