svn commit: r1325933 - in /accumulo/trunk: ./ core/ core/src/main/java/org/apache/accumulo/core/iterators/IteratorUtil.java core/src/main/java/org/apache/accumulo/core/iterators/system/SynchronizedIte

2012-04-13 Thread kturner
Author: kturner
Date: Fri Apr 13 20:15:31 2012
New Revision: 1325933

URL: http://svn.apache.org/viewvc?rev=1325933view=rev
Log:
ACCUMULO-533 merged from 1.4

Added:

accumulo/trunk/core/src/main/java/org/apache/accumulo/core/iterators/system/SynchronizedIterator.java
  - copied unchanged from r1325930, 
accumulo/branches/1.4/src/core/src/main/java/org/apache/accumulo/core/iterators/system/SynchronizedIterator.java
Modified:
accumulo/trunk/   (props changed)
accumulo/trunk/core/   (props changed)

accumulo/trunk/core/src/main/java/org/apache/accumulo/core/iterators/IteratorUtil.java
accumulo/trunk/server/   (props changed)

Propchange: accumulo/trunk/
--
  Merged /accumulo/branches/1.4/src:r1325859-1325930
  Merged /accumulo/branches/1.4:r1325858-1325930

Propchange: accumulo/trunk/core/
--
  Merged /accumulo/branches/1.4/core:r1325858-1325930
  Merged /accumulo/branches/1.4/src/core:r1325859-1325930

Modified: 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/iterators/IteratorUtil.java
URL: 
http://svn.apache.org/viewvc/accumulo/trunk/core/src/main/java/org/apache/accumulo/core/iterators/IteratorUtil.java?rev=1325933r1=1325932r2=1325933view=diff
==
--- 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/iterators/IteratorUtil.java
 (original)
+++ 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/iterators/IteratorUtil.java
 Fri Apr 13 20:15:31 2012
@@ -36,6 +36,7 @@ import org.apache.accumulo.core.data.Key
 import org.apache.accumulo.core.data.Range;
 import org.apache.accumulo.core.data.thrift.IterInfo;
 import org.apache.accumulo.core.iterators.conf.PerColumnIteratorConfig;
+import org.apache.accumulo.core.iterators.system.SynchronizedIterator;
 import org.apache.accumulo.core.iterators.user.VersioningIterator;
 import org.apache.accumulo.start.classloader.AccumuloClassLoader;
 import org.apache.hadoop.io.Writable;
@@ -213,7 +214,8 @@ public class IteratorUtil {
   @SuppressWarnings(unchecked)
   public static K extends WritableComparable?,V extends Writable 
SortedKeyValueIteratorK,V loadIterators(SortedKeyValueIteratorK,V source,
   CollectionIterInfo iters, MapString,MapString,String iterOpts, 
IteratorEnvironment env, boolean useAccumuloClassLoader) throws IOException {
-SortedKeyValueIteratorK,V prev = source;
+// wrap the source in a SynchronizedIterator in case any of the additional 
configured iterators want to use threading
+SortedKeyValueIteratorK,V prev = new SynchronizedIteratorK,V(source);
 
 try {
   for (IterInfo iterInfo : iters) {

Propchange: accumulo/trunk/server/
--
  Merged /accumulo/branches/1.4/server:r1325858-1325930
  Merged /accumulo/branches/1.4/src/server:r1325859-1325930




svn commit: r1337131 - /accumulo/trunk/server/src/main/java/org/apache/accumulo/server/master/balancer/TableLoadBalancer.java

2012-05-11 Thread kturner
Author: kturner
Date: Fri May 11 12:47:09 2012
New Revision: 1337131

URL: http://svn.apache.org/viewvc?rev=1337131view=rev
Log:
ACCUMULO-590 fixed NPE in Table load balancer

Modified:

accumulo/trunk/server/src/main/java/org/apache/accumulo/server/master/balancer/TableLoadBalancer.java

Modified: 
accumulo/trunk/server/src/main/java/org/apache/accumulo/server/master/balancer/TableLoadBalancer.java
URL: 
http://svn.apache.org/viewvc/accumulo/trunk/server/src/main/java/org/apache/accumulo/server/master/balancer/TableLoadBalancer.java?rev=1337131r1=1337130r2=1337131view=diff
==
--- 
accumulo/trunk/server/src/main/java/org/apache/accumulo/server/master/balancer/TableLoadBalancer.java
 (original)
+++ 
accumulo/trunk/server/src/main/java/org/apache/accumulo/server/master/balancer/TableLoadBalancer.java
 Fri May 11 12:47:09 2012
@@ -32,7 +32,6 @@ import org.apache.accumulo.core.conf.Pro
 import org.apache.accumulo.core.data.KeyExtent;
 import org.apache.accumulo.core.master.thrift.TabletServerStatus;
 import org.apache.accumulo.server.client.HdfsZooInstance;
-import org.apache.accumulo.server.conf.ServerConfiguration;
 import org.apache.accumulo.server.master.state.TServerInstance;
 import org.apache.accumulo.server.master.state.TabletMigration;
 import org.apache.accumulo.server.security.SecurityConstants;
@@ -44,11 +43,6 @@ public class TableLoadBalancer extends T
   private static final Logger log = Logger.getLogger(TableLoadBalancer.class);
   
   MapString,TabletBalancer perTableBalancers = new 
HashMapString,TabletBalancer();
-  ServerConfiguration config;
-  
-  public void init(ServerConfiguration config) {
-this.config = config;
-  }
   
   private TabletBalancer constructNewBalancerForTable(String clazzName, String 
table) throws Exception {
 Class? extends TabletBalancer clazz = 
AccumuloClassLoader.loadClass(clazzName, TabletBalancer.class);
@@ -57,7 +51,7 @@ public class TableLoadBalancer extends T
   }
   
   protected String getLoadBalancerClassNameForTable(String table) {
-return 
config.getTableConfiguration(table).get(Property.TABLE_LOAD_BALANCER);
+return 
configuration.getTableConfiguration(table).get(Property.TABLE_LOAD_BALANCER);
   }
   
   protected TabletBalancer getBalancerForTable(String table) {




svn commit: r1337287 - in /accumulo/branches/1.4: docs/ src/ src/core/ src/core/src/main/java/org/apache/accumulo/core/client/admin/ src/core/src/main/java/org/apache/accumulo/core/client/mapreduce/ s

2012-05-11 Thread kturner
Author: kturner
Date: Fri May 11 17:11:55 2012
New Revision: 1337287

URL: http://svn.apache.org/viewvc?rev=1337287view=rev
Log:
ACCUMULO-591 clear tablet location cache before computing input splits (merged 
from trunk)

Modified:
accumulo/branches/1.4/docs/config.html
accumulo/branches/1.4/src/   (props changed)
accumulo/branches/1.4/src/core/   (props changed)

accumulo/branches/1.4/src/core/src/main/java/org/apache/accumulo/core/client/admin/TableOperationsImpl.java

accumulo/branches/1.4/src/core/src/main/java/org/apache/accumulo/core/client/mapreduce/InputFormatBase.java
accumulo/branches/1.4/src/server/   (props changed)

Modified: accumulo/branches/1.4/docs/config.html
URL: 
http://svn.apache.org/viewvc/accumulo/branches/1.4/docs/config.html?rev=1337287r1=1337286r2=1337287view=diff
==
--- accumulo/branches/1.4/docs/config.html (original)
+++ accumulo/branches/1.4/docs/config.html Fri May 11 17:11:55 2012
@@ -202,7 +202,7 @@ $HADOOP_HOME/lib/[^.].*.jar,
tr 
 tdmaster.port.client/td
 tdba href='#PORT'port/a/b/td
-tdyes but requires restart/td
+tdyes but requires restart of the master/td
 tdpre/pre/td
 tdThe port used for handling client connections on the master/td
/tr
@@ -324,7 +324,7 @@ $HADOOP_HOME/lib/[^.].*.jar,
tr 
 tdtserver.compaction.major.concurrent.max/td
 tdba href='#COUNT'count/a/b/td
-tdyes but requires restart/td
+tdyes but requires restart of the tserver/td
 tdpre3/pre/td
 tdThe maximum number of concurrent major compactions for a tablet 
server/td
/tr
@@ -338,7 +338,7 @@ $HADOOP_HOME/lib/[^.].*.jar,
tr 
 tdtserver.compaction.major.thread.files.open.max/td
 tdba href='#COUNT'count/a/b/td
-tdyes but requires restart/td
+tdyes but requires restart of the tserver/td
 tdpre10/pre/td
 tdMax number of files a major compaction thread can open at once. /td
/tr
@@ -380,7 +380,7 @@ $HADOOP_HOME/lib/[^.].*.jar,
tr 
 tdtserver.logger.count/td
 tdba href='#COUNT'count/a/b/td
-tdyes but requires restart/td
+tdyes but requires restart of the tserver/td
 tdpre2/pre/td
 tdThe number of loggers that each tablet server should use./td
/tr
@@ -422,7 +422,7 @@ $HADOOP_HOME/lib/[^.].*.jar,
tr 
 tdtserver.memory.maps.native.enabled/td
 tdba href='#BOOLEAN'boolean/a/b/td
-tdyes but requires restart/td
+tdyes but requires restart of the tserver/td
 tdpretrue/pre/td
 tdAn in-memory data store for accumulo implemented in c++ that increases 
the amount of data accumulo can hold in memory and avoids Java GC pauses./td
/tr
@@ -457,7 +457,7 @@ $HADOOP_HOME/lib/[^.].*.jar,
tr class='highlight'
 tdtserver.port.client/td
 tdba href='#PORT'port/a/b/td
-tdyes but requires restart/td
+tdyes but requires restart of the tserver/td
 tdpre9997/pre/td
 tdThe port used for handling client connections on the tablet 
servers/td
/tr
@@ -478,7 +478,7 @@ $HADOOP_HOME/lib/[^.].*.jar,
tr 
 tdtserver.scan.files.open.max/td
 tdba href='#COUNT'count/a/b/td
-tdyes but requires restart/td
+tdyes but requires restart of the tserver/td
 tdpre100/pre/td
 tdMaximum total map files that all tablets in a tablet server can open 
for scans. /td
/tr
@@ -558,7 +558,7 @@ $HADOOP_HOME/lib/[^.].*.jar,
tr 
 tdlogger.port.client/td
 tdba href='#PORT'port/a/b/td
-tdyes but requires restart/td
+tdyes but requires restart of the logger/td
 tdpre11224/pre/td
 tdThe port used for write-ahead logger services/td
/tr
@@ -617,7 +617,7 @@ $HADOOP_HOME/lib/[^.].*.jar,
tr class='highlight'
 tdgc.port.client/td
 tdba href='#PORT'port/a/b/td
-tdyes but requires restart/td
+tdyes but requires restart of the gc/td
 tdpre50091/pre/td
 tdThe listening port for the garbage collector's monitor service/td
/tr

Propchange: accumulo/branches/1.4/src/
--
  Merged /accumulo/trunk:r1337210

Propchange: accumulo/branches/1.4/src/core/
--
  Merged /accumulo/trunk/core:r1337210

Modified: 
accumulo/branches/1.4/src/core/src/main/java/org/apache/accumulo/core/client/admin/TableOperationsImpl.java
URL: 
http://svn.apache.org/viewvc/accumulo/branches/1.4/src/core/src/main/java/org/apache/accumulo/core/client/admin/TableOperationsImpl.java?rev=1337287r1=1337286r2=1337287view=diff
==
--- 
accumulo/branches/1.4/src/core/src/main/java/org/apache/accumulo/core/client/admin/TableOperationsImpl.java
 (original)
+++ 
accumulo/branches/1.4/src/core/src/main/java/org/apache/accumulo/core/client/admin/TableOperationsImpl.java
 Fri May 11 17:11:55 2012
@@ -850,6 +850,8 @@ public class

svn commit: r1341596 - /accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/admin/TableOperationsImpl.java

2012-05-22 Thread kturner
Author: kturner
Date: Tue May 22 19:32:51 2012
New Revision: 1341596

URL: http://svn.apache.org/viewvc?rev=1341596view=rev
Log:
ACCUMULO-348 parallelized adding splits to a table

Modified:

accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/admin/TableOperationsImpl.java

Modified: 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/admin/TableOperationsImpl.java
URL: 
http://svn.apache.org/viewvc/accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/admin/TableOperationsImpl.java?rev=1341596r1=1341595r2=1341596view=diff
==
--- 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/admin/TableOperationsImpl.java
 (original)
+++ 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/admin/TableOperationsImpl.java
 Tue May 22 19:32:51 2012
@@ -32,6 +32,11 @@ import java.util.Set;
 import java.util.SortedSet;
 import java.util.TreeMap;
 import java.util.TreeSet;
+import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
+import java.util.concurrent.TimeUnit;
+import java.util.concurrent.atomic.AtomicReference;
 
 import org.apache.accumulo.core.Constants;
 import org.apache.accumulo.core.client.AccumuloException;
@@ -301,6 +306,62 @@ public class TableOperationsImpl extends
 }
   }
   
+  private static class SplitEnv {
+private String tableName;
+private String tableId;
+private ExecutorService executor;
+private CountDownLatch latch;
+private AtomicReferenceException exception;
+
+SplitEnv(String tableName, String tableId, ExecutorService executor, 
CountDownLatch latch, AtomicReferenceException exception) {
+  this.tableName = tableName;
+  this.tableId = tableId;
+  this.executor = executor;
+  this.latch = latch;
+  this.exception = exception;
+}
+  }
+  
+  private class SplitTask implements Runnable {
+
+private ListText splits;
+private SplitEnv env;
+
+SplitTask(SplitEnv env, ListText splits) {
+  this.env = env;
+  this.splits = splits;
+}
+
+@Override
+public void run() {
+  try {
+if (env.exception.get() != null)
+  return;
+
+if (splits.size() = 2) {
+  addSplits(env.tableName, new TreeSetText(splits), env.tableId);
+  for (int i = 0; i  splits.size(); i++)
+env.latch.countDown();
+  return;
+}
+
+int mid = splits.size() / 2;
+
+// split the middle split point to ensure that child task split 
different tablets and can therefore
+// run in parallel
+addSplits(env.tableName, new TreeSetText(splits.subList(mid, mid + 
1)), env.tableId);
+env.latch.countDown();
+
+env.executor.submit(new SplitTask(env, splits.subList(0, mid)));
+env.executor.submit(new SplitTask(env, splits.subList(mid + 1, 
splits.size(;
+
+  } catch (Exception e) {
+env.exception.compareAndSet(null, e);
+  }
+}
+
+  }
+
   /**
* @param tableName
*  the name of the table
@@ -315,7 +376,40 @@ public class TableOperationsImpl extends
*/
   public void addSplits(String tableName, SortedSetText partitionKeys) 
throws TableNotFoundException, AccumuloException, AccumuloSecurityException {
 String tableId = Tables.getTableId(instance, tableName);
-addSplits(tableName, partitionKeys, tableId);
+
+ListText splits = new ArrayListText(partitionKeys);
+// should be sorted because we copied from a sorted set, but that makes 
assumptions about
+// how the copy was done so resort to be sure.
+Collections.sort(splits);
+
+CountDownLatch latch = new CountDownLatch(splits.size());
+AtomicReferenceException exception = new 
AtomicReferenceException(null);
+
+ExecutorService executor = Executors.newFixedThreadPool(16);
+try {
+  executor.submit(new SplitTask(new SplitEnv(tableName, tableId, executor, 
latch, exception), splits));
+
+  while (!latch.await(100, TimeUnit.MILLISECONDS)) {
+if (exception.get() != null) {
+  executor.shutdownNow();
+  Exception excep = exception.get();
+  if (excep instanceof TableNotFoundException)
+throw (TableNotFoundException) excep;
+  else if (excep instanceof AccumuloException)
+throw (AccumuloException) excep;
+  else if (excep instanceof AccumuloSecurityException)
+throw (AccumuloSecurityException) excep;
+  else if (excep instanceof RuntimeException)
+throw (RuntimeException) excep;
+  else
+throw new RuntimeException(excep);
+}
+  }
+} catch (InterruptedException e) {
+  throw new RuntimeException(e);
+} finally {
+  executor.shutdown();
+}
   }
   
   private void addSplits

svn commit: r1343790 - in /accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client: ./ impl/ mock/

2012-05-29 Thread kturner
Author: kturner
Date: Tue May 29 15:50:07 2012
New Revision: 1343790

URL: http://svn.apache.org/viewvc?rev=1343790view=rev
Log:
ACCUMULO-580 roll back changes to add batch size to batch scanner

Modified:

accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/ClientSideIteratorScanner.java

accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/IsolatedScanner.java

accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/Scanner.java

accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/ScannerBase.java

accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/impl/OfflineScanner.java

accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/impl/ScannerImpl.java

accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/impl/ScannerOptions.java

accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/impl/TabletServerBatchReaderIterator.java

accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/mock/MockScanner.java

Modified: 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/ClientSideIteratorScanner.java
URL: 
http://svn.apache.org/viewvc/accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/ClientSideIteratorScanner.java?rev=1343790r1=1343789r2=1343790view=diff
==
--- 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/ClientSideIteratorScanner.java
 (original)
+++ 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/ClientSideIteratorScanner.java
 Tue May 29 15:50:07 2012
@@ -25,6 +25,7 @@ import java.util.Set;
 import java.util.TreeMap;
 import java.util.TreeSet;
 
+import org.apache.accumulo.core.Constants;
 import org.apache.accumulo.core.client.impl.ScannerOptions;
 import org.apache.accumulo.core.client.mock.IteratorAdapter;
 import org.apache.accumulo.core.conf.AccumuloConfiguration;
@@ -52,7 +53,9 @@ import org.apache.hadoop.io.Text;
  * the source scanner (which will execute server side) and to the client side 
scanner (which will execute client side).
  */
 public class ClientSideIteratorScanner extends ScannerOptions implements 
Scanner {
+  private int size;
   private int timeOut;
+  
   private Range range;
   private boolean isolated = false;
   
@@ -131,9 +134,9 @@ public class ClientSideIteratorScanner e
*/
   public ClientSideIteratorScanner(Scanner scanner) {
 smi = new ScannerTranslator(scanner);
-setRange(scanner.getRange());
-setBatchSize(scanner.getBatchSize());
-setTimeOut(scanner.getTimeOut());
+this.range = new Range((Key) null, (Key) null);
+this.size = Constants.SCAN_BATCH_SIZE;
+this.timeOut = Integer.MAX_VALUE;
   }
   
   /**
@@ -147,7 +150,7 @@ public class ClientSideIteratorScanner e
   
   @Override
   public IteratorEntryKey,Value iterator() {
-smi.scanner.setBatchSize(getBatchSize());
+smi.scanner.setBatchSize(size);
 smi.scanner.setTimeOut(timeOut);
 if (isolated)
   smi.scanner.enableIsolation();
@@ -225,6 +228,16 @@ public class ClientSideIteratorScanner e
   }
   
   @Override
+  public void setBatchSize(int size) {
+this.size = size;
+  }
+  
+  @Override
+  public int getBatchSize() {
+return size;
+  }
+  
+  @Override
   public void enableIsolation() {
 this.isolated = true;
   }

Modified: 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/IsolatedScanner.java
URL: 
http://svn.apache.org/viewvc/accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/IsolatedScanner.java?rev=1343790r1=1343789r2=1343790view=diff
==
--- 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/IsolatedScanner.java
 (original)
+++ 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/IsolatedScanner.java
 Tue May 29 15:50:07 2012
@@ -20,6 +20,7 @@ import java.util.ArrayList;
 import java.util.Iterator;
 import java.util.Map.Entry;
 
+import org.apache.accumulo.core.Constants;
 import org.apache.accumulo.core.client.impl.IsolationException;
 import org.apache.accumulo.core.client.impl.ScannerOptions;
 import org.apache.accumulo.core.data.ByteSequence;
@@ -209,6 +210,7 @@ public class IsolatedScanner extends Sca
   private Scanner scanner;
   private Range range;
   private int timeOut;
+  private int batchSize;
   private RowBufferFactory bufferFactory;
   
   public IsolatedScanner(Scanner scanner) {
@@ -217,15 +219,15 @@ public class IsolatedScanner extends Sca
   
   public IsolatedScanner(Scanner scanner, RowBufferFactory bufferFactory) {
 this.scanner = scanner;
-setRange(scanner.getRange());
-setBatchSize(scanner.getBatchSize());
-setTimeOut(scanner.getTimeOut());
+this.range = new Range();
+this.timeOut = Integer.MAX_VALUE;
+this.batchSize = Constants.SCAN_BATCH_SIZE;
 this.bufferFactory

svn commit: r1343890 - in /accumulo/branches/1.4: docs/config.html src/core/src/main/java/org/apache/accumulo/core/conf/Property.java

2012-05-29 Thread kturner
Author: kturner
Date: Tue May 29 18:15:40 2012
New Revision: 1343890

URL: http://svn.apache.org/viewvc?rev=1343890view=rev
Log:
ACCUMULO-509 set default recovery walog replication to 2

Modified:
accumulo/branches/1.4/docs/config.html

accumulo/branches/1.4/src/core/src/main/java/org/apache/accumulo/core/conf/Property.java

Modified: accumulo/branches/1.4/docs/config.html
URL: 
http://svn.apache.org/viewvc/accumulo/branches/1.4/docs/config.html?rev=1343890r1=1343889r2=1343890view=diff
==
--- accumulo/branches/1.4/docs/config.html (original)
+++ accumulo/branches/1.4/docs/config.html Tue May 29 18:15:40 2012
@@ -573,7 +573,7 @@ $HADOOP_HOME/lib/[^.].*.jar,
 tdlogger.recovery.file.replication/td
 tdba href='#COUNT'count/a/b/td
 tdyes/td
-tdpre1/pre/td
+tdpre2/pre/td
 tdWhen a logger puts a WALOG into HDFS, it will use this as the 
replication factor./td
/tr
tr class='highlight'

Modified: 
accumulo/branches/1.4/src/core/src/main/java/org/apache/accumulo/core/conf/Property.java
URL: 
http://svn.apache.org/viewvc/accumulo/branches/1.4/src/core/src/main/java/org/apache/accumulo/core/conf/Property.java?rev=1343890r1=1343889r2=1343890view=diff
==
--- 
accumulo/branches/1.4/src/core/src/main/java/org/apache/accumulo/core/conf/Property.java
 (original)
+++ 
accumulo/branches/1.4/src/core/src/main/java/org/apache/accumulo/core/conf/Property.java
 Tue May 29 18:15:40 2012
@@ -172,7 +172,7 @@ public enum Property {
   When enabled the logger will monitor file systems and kill itself when 
one switches from rw to ro.  This is usually and indication that Linux has 
detected a bad disk.),
   LOGGER_SORT_BUFFER_SIZE(logger.sort.buffer.size, 200M, 
PropertyType.MEMORY,
   The amount of memory to use when sorting logs during recovery. Only 
used when *not* sorting logs with map/reduce.),
-  LOGGER_RECOVERY_FILE_REPLICATION(logger.recovery.file.replication, 1, 
PropertyType.COUNT,
+  LOGGER_RECOVERY_FILE_REPLICATION(logger.recovery.file.replication, 2, 
PropertyType.COUNT,
   When a logger puts a WALOG into HDFS, it will use this as the 
replication factor.),
   LOGGER_MINTHREADS(logger.server.threads.minimum, 2, PropertyType.COUNT, 
The miniumum number of threads to use to handle incoming requests.),
   LOGGER_THREADCHECK(logger.server.threadcheck.time, 1s, 
PropertyType.TIMEDURATION, The time between adjustments of the server thread 
pool.),




svn commit: r1343942 - /accumulo/branches/1.4/src/core/src/main/java/org/apache/accumulo/core/client/impl/TabletServerBatchReaderIterator.java

2012-05-29 Thread kturner
Author: kturner
Date: Tue May 29 19:31:57 2012
New Revision: 1343942

URL: http://svn.apache.org/viewvc?rev=1343942view=rev
Log:
ACCUMULO-487 Made batch scanner iterator fail when batch scanner closed

Modified:

accumulo/branches/1.4/src/core/src/main/java/org/apache/accumulo/core/client/impl/TabletServerBatchReaderIterator.java

Modified: 
accumulo/branches/1.4/src/core/src/main/java/org/apache/accumulo/core/client/impl/TabletServerBatchReaderIterator.java
URL: 
http://svn.apache.org/viewvc/accumulo/branches/1.4/src/core/src/main/java/org/apache/accumulo/core/client/impl/TabletServerBatchReaderIterator.java?rev=1343942r1=1343941r2=1343942view=diff
==
--- 
accumulo/branches/1.4/src/core/src/main/java/org/apache/accumulo/core/client/impl/TabletServerBatchReaderIterator.java
 (original)
+++ 
accumulo/branches/1.4/src/core/src/main/java/org/apache/accumulo/core/client/impl/TabletServerBatchReaderIterator.java
 Tue May 29 19:31:57 2012
@@ -178,7 +178,7 @@ public class TabletServerBatchReaderIter
   
   // don't have one cached, try to cache one and return success
   try {
-while (nextEntry == null  fatalException == null)
+while (nextEntry == null  fatalException == null  
!queryThreadPool.isShutdown())
   nextEntry = resultsQueue.poll(1, TimeUnit.SECONDS);
 
 if (fatalException != null)
@@ -187,6 +187,9 @@ public class TabletServerBatchReaderIter
   else
 throw new RuntimeException(fatalException);
 
+if (queryThreadPool.isShutdown())
+  throw new RuntimeException(scanner closed);
+
 return nextEntry.getKey() != null  nextEntry.getValue() != null;
   } catch (InterruptedException e) {
 throw new RuntimeException(e);




svn commit: r1343945 - in /accumulo/trunk: ./ core/ core/src/main/java/org/apache/accumulo/core/client/impl/TabletServerBatchReaderIterator.java server/ src/

2012-05-29 Thread kturner
Author: kturner
Date: Tue May 29 19:37:33 2012
New Revision: 1343945

URL: http://svn.apache.org/viewvc?rev=1343945view=rev
Log:
ACCUMULO-487 Made batch scanner iterator fail when batch scanner closed

Modified:
accumulo/trunk/   (props changed)
accumulo/trunk/core/   (props changed)

accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/impl/TabletServerBatchReaderIterator.java
accumulo/trunk/server/   (props changed)
accumulo/trunk/src/   (props changed)

Propchange: accumulo/trunk/
--
  Merged /accumulo/branches/1.4/src:r1343899-1343942
  Merged /accumulo/branches/1.4:r1343898-1343942

Propchange: accumulo/trunk/core/
--
  Merged /accumulo/branches/1.4/core:r1343898-1343942
  Merged /accumulo/branches/1.4/src/core:r1343899-1343942

Modified: 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/impl/TabletServerBatchReaderIterator.java
URL: 
http://svn.apache.org/viewvc/accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/impl/TabletServerBatchReaderIterator.java?rev=1343945r1=1343944r2=1343945view=diff
==
--- 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/impl/TabletServerBatchReaderIterator.java
 (original)
+++ 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/impl/TabletServerBatchReaderIterator.java
 Tue May 29 19:37:33 2012
@@ -178,7 +178,7 @@ public class TabletServerBatchReaderIter
   
   // don't have one cached, try to cache one and return success
   try {
-while (nextEntry == null  fatalException == null)
+while (nextEntry == null  fatalException == null  
!queryThreadPool.isShutdown())
   nextEntry = resultsQueue.poll(1, TimeUnit.SECONDS);
 
 if (fatalException != null)
@@ -187,6 +187,9 @@ public class TabletServerBatchReaderIter
   else
 throw new RuntimeException(fatalException);
 
+if (queryThreadPool.isShutdown())
+  throw new RuntimeException(scanner closed);
+
 return nextEntry.getKey() != null  nextEntry.getValue() != null;
   } catch (InterruptedException e) {
 throw new RuntimeException(e);

Propchange: accumulo/trunk/server/
--
  Merged /accumulo/branches/1.4/server:r1343898-1343942
  Merged /accumulo/branches/1.4/src/server:r1343899-1343942

Propchange: accumulo/trunk/src/
--
  Merged /accumulo/branches/1.4/src:r1343898-1343942
  Merged /accumulo/branches/1.4/src/src:r1343899-1343942




svn commit: r1344015 - in /accumulo/trunk/server/src/main/java/org/apache/accumulo/server: tabletserver/Compactor.java tabletserver/MinorCompactor.java test/functional/BadIteratorMincTest.java

2012-05-29 Thread kturner
Author: kturner
Date: Tue May 29 21:40:45 2012
New Revision: 1344015

URL: http://svn.apache.org/viewvc?rev=1344015view=rev
Log:
ACCUMULO-58 stopped attempting failed minor compaction when table deleted

Modified:

accumulo/trunk/server/src/main/java/org/apache/accumulo/server/tabletserver/Compactor.java

accumulo/trunk/server/src/main/java/org/apache/accumulo/server/tabletserver/MinorCompactor.java

accumulo/trunk/server/src/main/java/org/apache/accumulo/server/test/functional/BadIteratorMincTest.java

Modified: 
accumulo/trunk/server/src/main/java/org/apache/accumulo/server/tabletserver/Compactor.java
URL: 
http://svn.apache.org/viewvc/accumulo/trunk/server/src/main/java/org/apache/accumulo/server/tabletserver/Compactor.java?rev=1344015r1=1344014r2=1344015view=diff
==
--- 
accumulo/trunk/server/src/main/java/org/apache/accumulo/server/tabletserver/Compactor.java
 (original)
+++ 
accumulo/trunk/server/src/main/java/org/apache/accumulo/server/tabletserver/Compactor.java
 Tue May 29 21:40:45 2012
@@ -79,7 +79,7 @@ public class Compactor implements Callab
   private CompactionEnv env;
   private Configuration conf;
   private FileSystem fs;
-  private KeyExtent extent;
+  protected KeyExtent extent;
   private ListIteratorSetting iterators;
   
   Compactor(Configuration conf, FileSystem fs, MapString,DataFileValue 
files, InMemoryMap imm, String outputFile, boolean propogateDeletes,

Modified: 
accumulo/trunk/server/src/main/java/org/apache/accumulo/server/tabletserver/MinorCompactor.java
URL: 
http://svn.apache.org/viewvc/accumulo/trunk/server/src/main/java/org/apache/accumulo/server/tabletserver/MinorCompactor.java?rev=1344015r1=1344014r2=1344015view=diff
==
--- 
accumulo/trunk/server/src/main/java/org/apache/accumulo/server/tabletserver/MinorCompactor.java
 (original)
+++ 
accumulo/trunk/server/src/main/java/org/apache/accumulo/server/tabletserver/MinorCompactor.java
 Tue May 29 21:40:45 2012
@@ -22,10 +22,13 @@ import java.util.Map;
 import java.util.Random;
 
 import org.apache.accumulo.core.Constants;
+import org.apache.accumulo.core.client.impl.Tables;
 import org.apache.accumulo.core.data.KeyExtent;
 import org.apache.accumulo.core.iterators.IteratorUtil.IteratorScope;
-import org.apache.accumulo.core.util.UtilWaitThread;
+import org.apache.accumulo.core.master.state.tables.TableState;
 import org.apache.accumulo.core.util.MetadataTable.DataFileValue;
+import org.apache.accumulo.core.util.UtilWaitThread;
+import org.apache.accumulo.server.client.HdfsZooInstance;
 import org.apache.accumulo.server.conf.TableConfiguration;
 import org.apache.accumulo.server.problems.ProblemReport;
 import org.apache.accumulo.server.problems.ProblemReports;
@@ -64,6 +67,15 @@ public class MinorCompactor extends Comp
 });
   }
   
+  private boolean isTableDeleting() {
+try {
+  return Tables.getTableState(HdfsZooInstance.getInstance(), 
extent.getTableId().toString()) == TableState.DELETING;
+} catch (Exception e) {
+  log.warn(Failed to determine if table  + extent.getTableId() +  was 
deleting , e);
+  return false; // can not get positive confirmation that its deleting.
+}
+  }
+
   @Override
   public CompactionStats call() {
 log.debug(Begin minor compaction  + getOutputFile() +   + getExtent());
@@ -75,7 +87,6 @@ public class MinorCompactor extends Comp
 boolean reportedProblem = false;
 
 do {
-  
   try {
 CompactionStats ret = super.call();
 
@@ -117,6 +128,9 @@ public class MinorCompactor extends Comp
 log.warn(Failed to delete failed MinC file  + getOutputFile() +   
+ e.getMessage());
   }
   
+  if (isTableDeleting())
+return new CompactionStats(0, 0);
+
 } while (true);
   }
   

Modified: 
accumulo/trunk/server/src/main/java/org/apache/accumulo/server/test/functional/BadIteratorMincTest.java
URL: 
http://svn.apache.org/viewvc/accumulo/trunk/server/src/main/java/org/apache/accumulo/server/test/functional/BadIteratorMincTest.java?rev=1344015r1=1344014r2=1344015view=diff
==
--- 
accumulo/trunk/server/src/main/java/org/apache/accumulo/server/test/functional/BadIteratorMincTest.java
 (original)
+++ 
accumulo/trunk/server/src/main/java/org/apache/accumulo/server/test/functional/BadIteratorMincTest.java
 Tue May 29 21:40:45 2012
@@ -95,6 +95,26 @@ public class BadIteratorMincTest extends
 
 if (count != 1)
   throw new Exception(Did not see expected # entries  + count);
+
+// now try putting bad iterator back and deleting the table
+getConnector().tableOperations().setProperty(foo, 
Property.TABLE_ITERATOR_PREFIX.getKey() + minc.badi, 30, + 
BadIterator.class.getName());
+bw = getConnector().createBatchWriter(foo, 100, 6l, 2);
+m = new

svn commit: r1344302 - /accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/impl/MasterClient.java

2012-05-30 Thread kturner
Author: kturner
Date: Wed May 30 15:14:25 2012
New Revision: 1344302

URL: http://svn.apache.org/viewvc?rev=1344302view=rev
Log:
ACCUMULO-601 bail when an unknownhostexception is seen when trying to connect 
to master, no longer retries

Modified:

accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/impl/MasterClient.java

Modified: 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/impl/MasterClient.java
URL: 
http://svn.apache.org/viewvc/accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/impl/MasterClient.java?rev=1344302r1=1344301r2=1344302view=diff
==
--- 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/impl/MasterClient.java
 (original)
+++ 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/impl/MasterClient.java
 Wed May 30 15:14:25 2012
@@ -16,6 +16,7 @@
  */
 package org.apache.accumulo.core.client.impl;
 
+import java.net.UnknownHostException;
 import java.util.List;
 
 import org.apache.accumulo.core.client.AccumuloException;
@@ -34,7 +35,7 @@ import org.apache.thrift.transport.TTran
 public class MasterClient {
   private static final Logger log = Logger.getLogger(MasterClient.class);
   
-  public static MasterClientService.Iface getConnectionWithRetry(Instance 
instance) throws TTransportException {
+  public static MasterClientService.Iface getConnectionWithRetry(Instance 
instance) {
 ArgumentChecker.notNull(instance);
 
 while (true) {
@@ -64,6 +65,10 @@ public class MasterClient {
   instance.getConfiguration());
   return client;
 } catch (TTransportException tte) {
+  if (tte.getCause().getClass().equals(UnknownHostException.class)) {
+// do not expect to recover from this
+throw new RuntimeException(tte);
+  }
   log.debug(Failed to connect to master= + master +  portHint= + 
portHint + , will retry... , tte);
   return null;
 }




svn commit: r1344358 - /accumulo/trunk/server/src/main/java/org/apache/accumulo/server/master/Master.java

2012-05-30 Thread kturner
Author: kturner
Date: Wed May 30 17:23:41 2012
New Revision: 1344358

URL: http://svn.apache.org/viewvc?rev=1344358view=rev
Log:
ACCUMULO-601 made the master advertise an IP addr in zookeeper

Modified:

accumulo/trunk/server/src/main/java/org/apache/accumulo/server/master/Master.java

Modified: 
accumulo/trunk/server/src/main/java/org/apache/accumulo/server/master/Master.java
URL: 
http://svn.apache.org/viewvc/accumulo/trunk/server/src/main/java/org/apache/accumulo/server/master/Master.java?rev=1344358r1=1344357r2=1344358view=diff
==
--- 
accumulo/trunk/server/src/main/java/org/apache/accumulo/server/master/Master.java
 (original)
+++ 
accumulo/trunk/server/src/main/java/org/apache/accumulo/server/master/Master.java
 Wed May 30 17:23:41 2012
@@ -2157,7 +2157,8 @@ public class Master implements LiveTServ
 };
 long current = System.currentTimeMillis();
 final long waitTime = 
getSystemConfiguration().getTimeInMillis(Property.INSTANCE_ZK_TIMEOUT);
-final String masterClientAddress = hostname + : + 
getSystemConfiguration().getPort(Property.MASTER_CLIENTPORT);
+final String masterClientAddress = 
org.apache.accumulo.core.util.AddressUtil.toString(new 
InetSocketAddress(hostname, getSystemConfiguration().getPort(
+Property.MASTER_CLIENTPORT)));
 
 boolean locked = false;
 while (System.currentTimeMillis() - current  waitTime) {




svn commit: r1344360 - in /accumulo/branches/1.4/src: ./ core/ core/src/main/java/org/apache/accumulo/core/client/impl/MasterClient.java server/ server/src/main/java/org/apache/accumulo/server/master/

2012-05-30 Thread kturner
Author: kturner
Date: Wed May 30 17:39:55 2012
New Revision: 1344360

URL: http://svn.apache.org/viewvc?rev=1344360view=rev
Log:
ACCUMULO-601 made the master advertise an IP addr in zookeeper also made 
clients bail when unknownhostexcpetion is thrown when talking to master (merged 
from trunk)

Modified:
accumulo/branches/1.4/src/   (props changed)
accumulo/branches/1.4/src/core/   (props changed)

accumulo/branches/1.4/src/core/src/main/java/org/apache/accumulo/core/client/impl/MasterClient.java
accumulo/branches/1.4/src/server/   (props changed)

accumulo/branches/1.4/src/server/src/main/java/org/apache/accumulo/server/master/Master.java

Propchange: accumulo/branches/1.4/src/
--
  Merged /accumulo/trunk:r1344302,1344358

Propchange: accumulo/branches/1.4/src/core/
--
  Merged /accumulo/trunk/core:r1344302,1344358

Modified: 
accumulo/branches/1.4/src/core/src/main/java/org/apache/accumulo/core/client/impl/MasterClient.java
URL: 
http://svn.apache.org/viewvc/accumulo/branches/1.4/src/core/src/main/java/org/apache/accumulo/core/client/impl/MasterClient.java?rev=1344360r1=1344359r2=1344360view=diff
==
--- 
accumulo/branches/1.4/src/core/src/main/java/org/apache/accumulo/core/client/impl/MasterClient.java
 (original)
+++ 
accumulo/branches/1.4/src/core/src/main/java/org/apache/accumulo/core/client/impl/MasterClient.java
 Wed May 30 17:39:55 2012
@@ -16,6 +16,7 @@
  */
 package org.apache.accumulo.core.client.impl;
 
+import java.net.UnknownHostException;
 import java.util.List;
 
 import org.apache.accumulo.core.client.AccumuloException;
@@ -34,7 +35,7 @@ import org.apache.thrift.transport.TTran
 public class MasterClient {
   private static final Logger log = Logger.getLogger(MasterClient.class);
   
-  public static MasterClientService.Iface getConnectionWithRetry(Instance 
instance) throws TTransportException {
+  public static MasterClientService.Iface getConnectionWithRetry(Instance 
instance) {
 ArgumentChecker.notNull(instance);
 
 while (true) {
@@ -64,6 +65,10 @@ public class MasterClient {
   instance.getConfiguration());
   return client;
 } catch (TTransportException tte) {
+  if (tte.getCause().getClass().equals(UnknownHostException.class)) {
+// do not expect to recover from this
+throw new RuntimeException(tte);
+  }
   log.debug(Failed to connect to master= + master +  portHint= + 
portHint + , will retry... , tte);
   return null;
 }

Propchange: accumulo/branches/1.4/src/server/
--
  Merged /accumulo/trunk/server:r1344302,1344358

Modified: 
accumulo/branches/1.4/src/server/src/main/java/org/apache/accumulo/server/master/Master.java
URL: 
http://svn.apache.org/viewvc/accumulo/branches/1.4/src/server/src/main/java/org/apache/accumulo/server/master/Master.java?rev=1344360r1=1344359r2=1344360view=diff
==
--- 
accumulo/branches/1.4/src/server/src/main/java/org/apache/accumulo/server/master/Master.java
 (original)
+++ 
accumulo/branches/1.4/src/server/src/main/java/org/apache/accumulo/server/master/Master.java
 Wed May 30 17:39:55 2012
@@ -2125,7 +2125,8 @@ public class Master implements LiveTServ
 };
 long current = System.currentTimeMillis();
 final long waitTime = 
ServerConfiguration.getSystemConfiguration().getTimeInMillis(Property.INSTANCE_ZK_TIMEOUT);
-final String masterClientAddress = hostname + : + 
ServerConfiguration.getSystemConfiguration().getPort(Property.MASTER_CLIENTPORT);
+final String masterClientAddress = 
org.apache.accumulo.core.util.AddressUtil.toString(new 
InetSocketAddress(hostname, ServerConfiguration
+.getSystemConfiguration().getPort(Property.MASTER_CLIENTPORT)));
 
 boolean locked = false;
 while (System.currentTimeMillis() - current  waitTime) {




svn commit: r1345399 - in /accumulo/trunk/core/src/main/java/org/apache/accumulo/core: client/impl/MetadataLocationObtainer.java client/impl/TabletServerBatchReaderIterator.java conf/Property.java

2012-06-01 Thread kturner
Author: kturner
Date: Sat Jun  2 00:05:13 2012
New Revision: 1345399

URL: http://svn.apache.org/viewvc?rev=1345399view=rev
Log:
ACCUMULO-580 changed how batch scanner buffers data from background threads

Modified:

accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/impl/MetadataLocationObtainer.java

accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/impl/TabletServerBatchReaderIterator.java

accumulo/trunk/core/src/main/java/org/apache/accumulo/core/conf/Property.java

Modified: 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/impl/MetadataLocationObtainer.java
URL: 
http://svn.apache.org/viewvc/accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/impl/MetadataLocationObtainer.java?rev=1345399r1=1345398r2=1345399view=diff
==
--- 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/impl/MetadataLocationObtainer.java
 (original)
+++ 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/impl/MetadataLocationObtainer.java
 Sat Jun  2 00:05:13 2012
@@ -132,8 +132,10 @@ public class MetadataLocationObtainer im
 ResultReceiver rr = new ResultReceiver() {
   
   @Override
-  public void receive(Key key, Value value) {
-results.put(key, value);
+  public void receive(ListEntryKey,Value entries) {
+for (EntryKey,Value entry : entries) {
+  results.put(entry.getKey(), entry.getValue());
+}
   }
 };
 

Modified: 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/impl/TabletServerBatchReaderIterator.java
URL: 
http://svn.apache.org/viewvc/accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/impl/TabletServerBatchReaderIterator.java?rev=1345399r1=1345398r2=1345399view=diff
==
--- 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/impl/TabletServerBatchReaderIterator.java
 (original)
+++ 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/impl/TabletServerBatchReaderIterator.java
 Sat Jun  2 00:05:13 2012
@@ -27,6 +27,7 @@ import java.util.List;
 import java.util.ListIterator;
 import java.util.Map;
 import java.util.Map.Entry;
+import java.util.NoSuchElementException;
 import java.util.concurrent.ArrayBlockingQueue;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Semaphore;
@@ -82,8 +83,10 @@ public class TabletServerBatchReaderIter
   private final ExecutorService queryThreadPool;
   private final ScannerOptions options;
   
-  private ArrayBlockingQueueEntryKey,Value resultsQueue = new 
ArrayBlockingQueueEntryKey,Value(1000);
-  private EntryKey,Value nextEntry = null;
+  private ArrayBlockingQueueListEntryKey,Value resultsQueue;
+  private IteratorEntryKey,Value batchIterator;
+  private ListEntryKey,Value batch;
+  private static final ListEntryKey,Value LAST_BATCH = new 
ArrayListMap.EntryKey,Value();
   private Object nextLock = new Object();
   
   private long failSleepTime = 100;
@@ -91,7 +94,7 @@ public class TabletServerBatchReaderIter
   private volatile Throwable fatalException = null;
   
   public interface ResultReceiver {
-void receive(Key key, Value value);
+void receive(ListEntryKey,Value entries);
   }
   
   private static class MyEntry implements EntryKey,Value {
@@ -131,6 +134,7 @@ public class TabletServerBatchReaderIter
 this.numThreads = numThreads;
 this.queryThreadPool = queryThreadPool;
 this.options = new ScannerOptions(scannerOptions);
+resultsQueue = new ArrayBlockingQueueListEntryKey,Value(numThreads);
 
 if (options.fetchedColumns.size()  0) {
   ArrayListRange ranges2 = new ArrayListRange(ranges.size());
@@ -144,14 +148,14 @@ public class TabletServerBatchReaderIter
 ResultReceiver rr = new ResultReceiver() {
   
   @Override
-  public void receive(Key key, Value value) {
+  public void receive(ListEntryKey,Value entries) {
 try {
-  resultsQueue.put(new MyEntry(key, value));
+  resultsQueue.put(entries);
 } catch (InterruptedException e) {
   if 
(TabletServerBatchReaderIterator.this.queryThreadPool.isShutdown())
-log.debug(Failed to add Batch Scan result for key  + key, e);
+log.debug(Failed to add Batch Scan result, e);
   else
-log.warn(Failed to add Batch Scan result for key  + key, e);
+log.warn(Failed to add Batch Scan result, e);
   fatalException = e;
   throw new RuntimeException(e);
   
@@ -169,17 +173,21 @@ public class TabletServerBatchReaderIter
 }
   }
   
+
   @Override
   public boolean hasNext() {
 synchronized (nextLock) {
-  // check if one was cached
-  if (nextEntry != null)
-return nextEntry.getKey() != null  nextEntry.getValue() != null;
+  if (batch

svn commit: r1349503 - in /accumulo/trunk/server/src/main/java/org/apache/accumulo/server/metanalysis: ./ FilterMeta.java FindTablet.java IndexMeta.java LogFileInputFormat.java LogFileOutputFormat.jav

2012-06-12 Thread kturner
Author: kturner
Date: Tue Jun 12 20:21:11 2012
New Revision: 1349503

URL: http://svn.apache.org/viewvc?rev=1349503view=rev
Log:
ACCUMULO-549 initial checkin of a set of utilities for indexing and analyzing 
metadata table mutations found in write ahead logs

Added:
accumulo/trunk/server/src/main/java/org/apache/accumulo/server/metanalysis/

accumulo/trunk/server/src/main/java/org/apache/accumulo/server/metanalysis/FilterMeta.java

accumulo/trunk/server/src/main/java/org/apache/accumulo/server/metanalysis/FindTablet.java

accumulo/trunk/server/src/main/java/org/apache/accumulo/server/metanalysis/IndexMeta.java

accumulo/trunk/server/src/main/java/org/apache/accumulo/server/metanalysis/LogFileInputFormat.java

accumulo/trunk/server/src/main/java/org/apache/accumulo/server/metanalysis/LogFileOutputFormat.java

accumulo/trunk/server/src/main/java/org/apache/accumulo/server/metanalysis/PrintEvents.java

accumulo/trunk/server/src/main/java/org/apache/accumulo/server/metanalysis/package-info.java

Added: 
accumulo/trunk/server/src/main/java/org/apache/accumulo/server/metanalysis/FilterMeta.java
URL: 
http://svn.apache.org/viewvc/accumulo/trunk/server/src/main/java/org/apache/accumulo/server/metanalysis/FilterMeta.java?rev=1349503view=auto
==
--- 
accumulo/trunk/server/src/main/java/org/apache/accumulo/server/metanalysis/FilterMeta.java
 (added)
+++ 
accumulo/trunk/server/src/main/java/org/apache/accumulo/server/metanalysis/FilterMeta.java
 Tue Jun 12 20:21:11 2012
@@ -0,0 +1,92 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the License); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an AS IS BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.accumulo.server.metanalysis;
+
+import java.io.IOException;
+import java.util.HashSet;
+import java.util.Set;
+
+import org.apache.accumulo.core.Constants;
+import org.apache.accumulo.core.util.CachedConfiguration;
+import org.apache.accumulo.server.logger.LogEvents;
+import org.apache.accumulo.server.logger.LogFileKey;
+import org.apache.accumulo.server.logger.LogFileValue;
+import org.apache.hadoop.conf.Configured;
+import org.apache.hadoop.fs.Path;
+import org.apache.hadoop.mapreduce.Job;
+import org.apache.hadoop.mapreduce.Mapper;
+import org.apache.hadoop.util.Tool;
+import org.apache.hadoop.util.ToolRunner;
+
+/**
+ * A map reduce job that takes a set of walogs and filters out all non 
metadata table events.
+ */
+public class FilterMeta extends Configured implements Tool {
+  
+  public static class FilterMapper extends 
MapperLogFileKey,LogFileValue,LogFileKey,LogFileValue {
+private SetInteger tabletIds;
+
+@Override
+protected void setup(Context context) throws java.io.IOException, 
java.lang.InterruptedException {
+  tabletIds = new HashSetInteger();
+}
+
+@Override
+public void map(LogFileKey key, LogFileValue value, Context context) 
throws IOException, InterruptedException {
+  if (key.event == LogEvents.OPEN) {
+context.write(key, value);
+  } else if (key.event == LogEvents.DEFINE_TABLET  
key.tablet.getTableId().toString().equals(Constants.METADATA_TABLE_ID)) {
+tabletIds.add(key.tid);
+context.write(key, value);
+  } else if ((key.event == LogEvents.MUTATION || key.event == 
LogEvents.MANY_MUTATIONS)  tabletIds.contains(key.tid)) {
+context.write(key, value);
+  }
+}
+  }
+
+  @Override
+  public int run(String[] args) throws Exception {
+
+String jobName = this.getClass().getSimpleName() + _ + 
System.currentTimeMillis();
+
+Job job = new Job(getConf(), jobName);
+job.setJarByClass(this.getClass());
+
+Path paths[] = new Path[args.length - 1];
+for (int i = 0; i  paths.length; i++) {
+  paths[i] = new Path(args[i]);
+}
+
+job.setInputFormatClass(LogFileInputFormat.class);
+LogFileInputFormat.setInputPaths(job, paths);
+
+job.setOutputFormatClass(LogFileOutputFormat.class);
+LogFileOutputFormat.setOutputPath(job, new Path(args[args.length - 1]));
+
+job.setMapperClass(FilterMapper.class);
+
+job.setNumReduceTasks(0);
+
+job.waitForCompletion(true);
+return job.isSuccessful() ? 0 : 1;
+  }
+  
+  public static void main(String

svn commit: r1350669 - /accumulo/trunk/server/src/main/java/org/apache/accumulo/server/util/Initialize.java

2012-06-15 Thread kturner
Author: kturner
Date: Fri Jun 15 16:01:49 2012
New Revision: 1350669

URL: http://svn.apache.org/viewvc?rev=1350669view=rev
Log:
ACCUMULO-635 create recovery node in zookeeper during init

Modified:

accumulo/trunk/server/src/main/java/org/apache/accumulo/server/util/Initialize.java

Modified: 
accumulo/trunk/server/src/main/java/org/apache/accumulo/server/util/Initialize.java
URL: 
http://svn.apache.org/viewvc/accumulo/trunk/server/src/main/java/org/apache/accumulo/server/util/Initialize.java?rev=1350669r1=1350668r2=1350669view=diff
==
--- 
accumulo/trunk/server/src/main/java/org/apache/accumulo/server/util/Initialize.java
 (original)
+++ 
accumulo/trunk/server/src/main/java/org/apache/accumulo/server/util/Initialize.java
 Fri Jun 15 16:01:49 2012
@@ -363,6 +363,7 @@ public class Initialize {
 zoo.putPersistentData(zkInstanceRoot + Constants.ZTABLE_LOCKS, new 
byte[0], NodeExistsPolicy.FAIL);
 zoo.putPersistentData(zkInstanceRoot + Constants.ZHDFS_RESERVATIONS, new 
byte[0], NodeExistsPolicy.FAIL);
 zoo.putPersistentData(zkInstanceRoot + Constants.ZNEXT_FILE, new byte[] 
{'0'}, NodeExistsPolicy.FAIL);
+zoo.putPersistentData(zkInstanceRoot + Constants.ZRECOVERY, new byte[] 
{'0'}, NodeExistsPolicy.FAIL);
   }
   
   private static String getInstanceNamePath() throws IOException, 
KeeperException, InterruptedException {




svn commit: r1350769 - /accumulo/trunk/server/src/main/java/org/apache/accumulo/server/tabletserver/TabletServer.java

2012-06-15 Thread kturner
Author: kturner
Date: Fri Jun 15 20:08:43 2012
New Revision: 1350769

URL: http://svn.apache.org/viewvc?rev=1350769view=rev
Log:
ACCUMULO-639 tablet server looks for walogs in correct place and does not die 
when dir is missing

Modified:

accumulo/trunk/server/src/main/java/org/apache/accumulo/server/tabletserver/TabletServer.java

Modified: 
accumulo/trunk/server/src/main/java/org/apache/accumulo/server/tabletserver/TabletServer.java
URL: 
http://svn.apache.org/viewvc/accumulo/trunk/server/src/main/java/org/apache/accumulo/server/tabletserver/TabletServer.java?rev=1350769r1=1350768r2=1350769view=diff
==
--- 
accumulo/trunk/server/src/main/java/org/apache/accumulo/server/tabletserver/TabletServer.java
 (original)
+++ 
accumulo/trunk/server/src/main/java/org/apache/accumulo/server/tabletserver/TabletServer.java
 Fri Jun 15 20:08:43 2012
@@ -20,6 +20,7 @@ import static org.apache.accumulo.server
 
 import java.io.EOFException;
 import java.io.File;
+import java.io.FileNotFoundException;
 import java.io.IOException;
 import java.lang.management.GarbageCollectorMXBean;
 import java.lang.management.ManagementFactory;
@@ -3138,6 +3139,20 @@ public class TabletServer extends Abstra
 AccumuloConfiguration conf = serverConf.getConfiguration();
 String localWalDirectories = conf.get(Property.LOGGER_DIR);
 for (String localWalDirectory : localWalDirectories.split(,)) {
+  if (!localWalDirectory.startsWith(/)) {
+localWalDirectory = System.getenv(ACCUMULO_HOME) + / + 
localWalDirectory;
+  }
+  
+  FileStatus status = null;
+  try {
+status = localfs.getFileStatus(new Path(localWalDirectory));
+  } catch (FileNotFoundException fne) {}
+  
+  if (status == null || !status.isDir()) {
+log.debug(Local walog dir  + localWalDirectory +  not found );
+continue;
+  }
+
   for (FileStatus file : localfs.listStatus(new Path(localWalDirectory))) {
 String name = file.getPath().getName();
 try {




svn commit: r1350779 - in /accumulo/trunk: server/src/main/java/org/apache/accumulo/server/test/continuous/ test/system/continuous/

2012-06-15 Thread kturner
Author: kturner
Date: Fri Jun 15 20:19:31 2012
New Revision: 1350779

URL: http://svn.apache.org/viewvc?rev=1350779view=rev
Log:
ACCUMULO-637 a few continuous ingest changes: made # entries written 
configurable, made table creation automatic, made log dir creation automatic

Modified:

accumulo/trunk/server/src/main/java/org/apache/accumulo/server/test/continuous/ContinuousIngest.java
accumulo/trunk/test/system/continuous/continuous-env.sh.example
accumulo/trunk/test/system/continuous/start-batchwalkers.sh
accumulo/trunk/test/system/continuous/start-ingest.sh
accumulo/trunk/test/system/continuous/start-scanners.sh
accumulo/trunk/test/system/continuous/start-stats.sh
accumulo/trunk/test/system/continuous/start-walkers.sh

Modified: 
accumulo/trunk/server/src/main/java/org/apache/accumulo/server/test/continuous/ContinuousIngest.java
URL: 
http://svn.apache.org/viewvc/accumulo/trunk/server/src/main/java/org/apache/accumulo/server/test/continuous/ContinuousIngest.java?rev=1350779r1=1350778r2=1350779view=diff
==
--- 
accumulo/trunk/server/src/main/java/org/apache/accumulo/server/test/continuous/ContinuousIngest.java
 (original)
+++ 
accumulo/trunk/server/src/main/java/org/apache/accumulo/server/test/continuous/ContinuousIngest.java
 Fri Jun 15 20:19:31 2012
@@ -32,6 +32,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.MutationsRejectedException;
+import org.apache.accumulo.core.client.TableExistsException;
 import org.apache.accumulo.core.client.ZooKeeperInstance;
 import org.apache.accumulo.core.data.Mutation;
 import org.apache.accumulo.core.data.Value;
@@ -67,11 +68,11 @@ public class ContinuousIngest {
 
 args = processOptions(args);
 
-if (args.length != 13) {
+if (args.length != 14) {
   throw new IllegalArgumentException(
   usage : 
   + ContinuousIngest.class.getName()
-  +  [--debug debug log] instance name zookeepers user 
pass table min max max colf max colq max mem max latency max 
threads enable checksum);
+  +  [--debug debug log] instance name zookeepers user 
pass table num min max max colf max colq max mem max latency 
max threads enable checksum);
 }
 
 if (debugLog != null) {
@@ -89,16 +90,17 @@ public class ContinuousIngest {
 
 String table = args[4];
 
-long min = Long.parseLong(args[5]);
-long max = Long.parseLong(args[6]);
-short maxColF = Short.parseShort(args[7]);
-short maxColQ = Short.parseShort(args[8]);
-
-long maxMemory = Long.parseLong(args[9]);
-long maxLatency = Integer.parseInt(args[10]);
-int maxWriteThreads = Integer.parseInt(args[11]);
+long num = Long.parseLong(args[5]);
+long min = Long.parseLong(args[6]);
+long max = Long.parseLong(args[7]);
+short maxColF = Short.parseShort(args[8]);
+short maxColQ = Short.parseShort(args[9]);
+
+long maxMemory = Long.parseLong(args[10]);
+long maxLatency = Integer.parseInt(args[11]);
+int maxWriteThreads = Integer.parseInt(args[12]);
 
-boolean checksum = Boolean.parseBoolean(args[12]);
+boolean checksum = Boolean.parseBoolean(args[13]);
 
 if (min  0 || max  0 || max = min) {
   throw new IllegalArgumentException(bad min and max);
@@ -109,6 +111,11 @@ public class ContinuousIngest {
 String path = ZooUtil.getRoot(instance) + Constants.ZTRACERS;
 Tracer.getInstance().addReceiver(new ZooSpanClient(zooKeepers, path, 
localhost, cingest, 1000));
 
+if (!conn.tableOperations().exists(table))
+  try {
+conn.tableOperations().create(table);
+  } catch (TableExistsException tee) {}
+
 BatchWriter bw = conn.createBatchWriter(table, maxMemory, maxLatency, 
maxWriteThreads);
 bw = Trace.wrapAll(bw, new CountSampler(1024));
 
@@ -133,7 +140,7 @@ public class ContinuousIngest {
 
 long lastFlushTime = System.currentTimeMillis();
 
-while (true) {
+out: while (true) {
   // generate first set of nodes
   for (int index = 0; index  flushInterval; index++) {
 long rowLong = genLong(min, max, r);
@@ -152,6 +159,8 @@ public class ContinuousIngest {
   }
   
   lastFlushTime = flush(bw, count, flushInterval, lastFlushTime);
+  if (count = num)
+break out;
   
   // generate subsequent sets of nodes that link to previous set of nodes
   for (int depth = 1; depth  maxDepth; depth++) {
@@ -165,6 +174,8 @@ public class ContinuousIngest {
 }
 
 lastFlushTime = flush(bw, count, flushInterval, lastFlushTime);
+if (count = num)
+  break out;
   }
   
   // create one big linked list, this makes all of the first inserts
@@ -175,6 +186,8 @@ public class ContinuousIngest

svn commit: r1351425 - in /accumulo/branches/1.4: ./ src/ src/core/ src/server/ src/server/src/main/java/org/apache/accumulo/server/test/continuous/ test/system/continuous/

2012-06-18 Thread kturner
Author: kturner
Date: Mon Jun 18 17:52:06 2012
New Revision: 1351425

URL: http://svn.apache.org/viewvc?rev=1351425view=rev
Log:
ACCUMULO-637 a few continuous ingest changes: made # entries written 
configurable, made table creation automatic, made log dir creation automatic 
(merged from trunk)

Modified:
accumulo/branches/1.4/   (props changed)
accumulo/branches/1.4/src/   (props changed)
accumulo/branches/1.4/src/core/   (props changed)
accumulo/branches/1.4/src/server/   (props changed)

accumulo/branches/1.4/src/server/src/main/java/org/apache/accumulo/server/test/continuous/ContinuousIngest.java
accumulo/branches/1.4/test/system/continuous/continuous-env.sh.example
accumulo/branches/1.4/test/system/continuous/start-batchwalkers.sh
accumulo/branches/1.4/test/system/continuous/start-ingest.sh
accumulo/branches/1.4/test/system/continuous/start-scanners.sh
accumulo/branches/1.4/test/system/continuous/start-stats.sh
accumulo/branches/1.4/test/system/continuous/start-walkers.sh

Propchange: accumulo/branches/1.4/
--
  Merged /accumulo/trunk:r1350779

Propchange: accumulo/branches/1.4/src/
--
  Merged /accumulo/trunk/src:r1350779
  Merged /accumulo/trunk:r1350779

Propchange: accumulo/branches/1.4/src/core/
--
  Merged /accumulo/trunk/src/core:r1350779
  Merged /accumulo/trunk/core:r1350779

Propchange: accumulo/branches/1.4/src/server/
--
  Merged /accumulo/trunk/src/server:r1350779
  Merged /accumulo/trunk/server:r1350779

Modified: 
accumulo/branches/1.4/src/server/src/main/java/org/apache/accumulo/server/test/continuous/ContinuousIngest.java
URL: 
http://svn.apache.org/viewvc/accumulo/branches/1.4/src/server/src/main/java/org/apache/accumulo/server/test/continuous/ContinuousIngest.java?rev=1351425r1=1351424r2=1351425view=diff
==
--- 
accumulo/branches/1.4/src/server/src/main/java/org/apache/accumulo/server/test/continuous/ContinuousIngest.java
 (original)
+++ 
accumulo/branches/1.4/src/server/src/main/java/org/apache/accumulo/server/test/continuous/ContinuousIngest.java
 Mon Jun 18 17:52:06 2012
@@ -32,6 +32,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.MutationsRejectedException;
+import org.apache.accumulo.core.client.TableExistsException;
 import org.apache.accumulo.core.client.ZooKeeperInstance;
 import org.apache.accumulo.core.data.Mutation;
 import org.apache.accumulo.core.data.Value;
@@ -67,11 +68,11 @@ public class ContinuousIngest {
 
 args = processOptions(args);
 
-if (args.length != 13) {
+if (args.length != 14) {
   throw new IllegalArgumentException(
   usage : 
   + ContinuousIngest.class.getName()
-  +  [--debug debug log] instance name zookeepers user 
pass table min max max colf max colq max mem max latency max 
threads enable checksum);
+  +  [--debug debug log] instance name zookeepers user 
pass table num min max max colf max colq max mem max latency 
max threads enable checksum);
 }
 
 if (debugLog != null) {
@@ -89,16 +90,17 @@ public class ContinuousIngest {
 
 String table = args[4];
 
-long min = Long.parseLong(args[5]);
-long max = Long.parseLong(args[6]);
-short maxColF = Short.parseShort(args[7]);
-short maxColQ = Short.parseShort(args[8]);
-
-long maxMemory = Long.parseLong(args[9]);
-long maxLatency = Integer.parseInt(args[10]);
-int maxWriteThreads = Integer.parseInt(args[11]);
+long num = Long.parseLong(args[5]);
+long min = Long.parseLong(args[6]);
+long max = Long.parseLong(args[7]);
+short maxColF = Short.parseShort(args[8]);
+short maxColQ = Short.parseShort(args[9]);
+
+long maxMemory = Long.parseLong(args[10]);
+long maxLatency = Integer.parseInt(args[11]);
+int maxWriteThreads = Integer.parseInt(args[12]);
 
-boolean checksum = Boolean.parseBoolean(args[12]);
+boolean checksum = Boolean.parseBoolean(args[13]);
 
 if (min  0 || max  0 || max = min) {
   throw new IllegalArgumentException(bad min and max);
@@ -109,6 +111,11 @@ public class ContinuousIngest {
 String path = ZooUtil.getRoot(instance) + Constants.ZTRACERS;
 Tracer.getInstance().addReceiver(new ZooSpanClient(zooKeepers, path, 
localhost, cingest, 1000));
 
+if (!conn.tableOperations().exists(table))
+  try {
+conn.tableOperations().create(table);
+  } catch (TableExistsException tee) {}
+
 BatchWriter bw = conn.createBatchWriter

svn commit: r1351452 - in /accumulo/branches/1.4.1: ./ src/ src/core/ src/server/ src/server/src/main/java/org/apache/accumulo/server/test/continuous/ test/system/continuous/

2012-06-18 Thread kturner
Author: kturner
Date: Mon Jun 18 18:29:00 2012
New Revision: 1351452

URL: http://svn.apache.org/viewvc?rev=1351452view=rev
Log:
ACCUMULO-637 ACCUMULO-614 merge changes from 1.4 branch

Modified:
accumulo/branches/1.4.1/   (props changed)
accumulo/branches/1.4.1/CHANGES
accumulo/branches/1.4.1/src/   (props changed)
accumulo/branches/1.4.1/src/core/   (props changed)
accumulo/branches/1.4.1/src/server/   (props changed)

accumulo/branches/1.4.1/src/server/src/main/java/org/apache/accumulo/server/test/continuous/ContinuousIngest.java
accumulo/branches/1.4.1/test/system/continuous/continuous-env.sh.example
accumulo/branches/1.4.1/test/system/continuous/start-batchwalkers.sh
accumulo/branches/1.4.1/test/system/continuous/start-ingest.sh
accumulo/branches/1.4.1/test/system/continuous/start-scanners.sh
accumulo/branches/1.4.1/test/system/continuous/start-stats.sh
accumulo/branches/1.4.1/test/system/continuous/start-walkers.sh

Propchange: accumulo/branches/1.4.1/
--
  Merged /accumulo/trunk:r1350779
  Merged 
/accumulo/branches/1.4:r1346082-1346088,1346090-1346833,1346835-1349971,1349973-1351449

Modified: accumulo/branches/1.4.1/CHANGES
URL: 
http://svn.apache.org/viewvc/accumulo/branches/1.4.1/CHANGES?rev=1351452r1=1351451r2=1351452view=diff
==
--- accumulo/branches/1.4.1/CHANGES (original)
+++ accumulo/branches/1.4.1/CHANGES Mon Jun 18 18:29:00 2012
@@ -1,3 +1,62 @@
+Release Notes - Apache Accumulo - Version 1.4.1
+
+** Bug
+* [ACCUMULO-355] - functional tests should run under a non-hadoop user
+* [ACCUMULO-398] - Table tablets not evenly spread.
+* [ACCUMULO-428] - loggers are not closed when high hold times are detected
+* [ACCUMULO-449] - Failed log copy is not restarted
+* [ACCUMULO-468] - low-memory warning message is incorrect
+* [ACCUMULO-487] - Batch Scanner can get stuck when external thread closes 
scanner
+* [ACCUMULO-488] - InputFormats' RecordReaders should call Context.progress
+* [ACCUMULO-496] - Cloudtrace.thrift needs to have it's namespace updated 
to the new package
+* [ACCUMULO-499] - Garbage collector should call Tracer.offNoFlush instead 
of Tracer.off
+* [ACCUMULO-505] - % of Used DFS is overflowing on a large cluster
+* [ACCUMULO-509] - default walog copy/sort uses replication of 1
+* [ACCUMULO-512] - DEFAULT_MAX_LATENCY in AccumuloOutputFormat wrong units
+* [ACCUMULO-516] - Column family search with sparse files is painfully long
+* [ACCUMULO-520] - assigned tablets are not considered offline
+* [ACCUMULO-521] - examples functional test is using the wrong class name
+* [ACCUMULO-533] - make system iterators thread-safer
+* [ACCUMULO-542] - with a large root tablet, tablet servers will get stuck 
loading other metadata tablets
+* [ACCUMULO-561] - Monitor scan mb/s does not show batch scan activity
+* [ACCUMULO-562] - Multi term grep in shell fails
+* [ACCUMULO-566] - monitor should display zero tablet servers as red, even 
if there's only one tablet server configured
+* [ACCUMULO-570] - dirlist example README is a little inconsistent
+* [ACCUMULO-585] - Complain loudly when env file is missing
+* [ACCUMULO-591] - Need to clear tablet location cache before computing 
input splits in input format
+* [ACCUMULO-592] - We lost the security policy example
+* [ACCUMULO-601] - client fails to resolve master hostname when not using 
fully qualified domain name
+* [ACCUMULO-615] - accumulo runs fine on Hadoop 1.0
+* [ACCUMULO-633] - FirstEntryInRowIterator is broken and has no test
+
+** Improvement
+* [ACCUMULO-337] - Make logging an example file
+* [ACCUMULO-364] - Security Policy file should be an example
+* [ACCUMULO-399] - need a randomwalk node that checks tablet balance
+* [ACCUMULO-459] - Accumulo init should fail fast
+* [ACCUMULO-471] - allow wikisearch ingest to run on uncompressed input
+* [ACCUMULO-480] - config.html should be more clear with regards to needs 
restart
+* [ACCUMULO-489] - Input Format puts Base64 encoded passwords in 
Configuration, which is world readable
+* [ACCUMULO-494] - Document relationship between max walogs and max 
tserver memory
+* [ACCUMULO-502] - Document what replaces the deprecated 
PerColumnIteratorConfig class.
+* [ACCUMULO-503] - start-here does unecessary SSHs
+* [ACCUMULO-510] - Rename scanner threads to identify table being scanned
+* [ACCUMULO-550] - Colocate rfile index entries within file
+* [ACCUMULO-554] - monitor should display red when time-since last report 
is higher than a few minutes
+* [ACCUMULO-573] - Fix grammar in shell commands
+* [ACCUMULO-574] - Document reseek of iterators
+* [ACCUMULO-637] - Make entries written configurable for continuous ingest
+
+** New

svn commit: r1351844 - in /accumulo/trunk/server/src/main/java/org/apache/accumulo/server: master/Master.java tabletserver/log/LogSorter.java

2012-06-19 Thread kturner
Author: kturner
Date: Tue Jun 19 20:41:03 2012
New Revision: 1351844

URL: http://svn.apache.org/viewvc?rev=1351844view=rev
Log:
ACCUMULO-649 fixed a few log recovery issues

Modified:

accumulo/trunk/server/src/main/java/org/apache/accumulo/server/master/Master.java

accumulo/trunk/server/src/main/java/org/apache/accumulo/server/tabletserver/log/LogSorter.java

Modified: 
accumulo/trunk/server/src/main/java/org/apache/accumulo/server/master/Master.java
URL: 
http://svn.apache.org/viewvc/accumulo/trunk/server/src/main/java/org/apache/accumulo/server/master/Master.java?rev=1351844r1=1351843r2=1351844view=diff
==
--- 
accumulo/trunk/server/src/main/java/org/apache/accumulo/server/master/Master.java
 (original)
+++ 
accumulo/trunk/server/src/main/java/org/apache/accumulo/server/master/Master.java
 Tue Jun 19 20:41:03 2012
@@ -2072,6 +2072,12 @@ public class Master implements LiveTServ
   @Override
   public void process(WatchedEvent event) {
 nextEvent.event(Noticed recovery changes, event.getType());
+try {
+  // watcher only fires once, add it back
+  ZooReaderWriter.getInstance().getChildren(zroot + 
Constants.ZRECOVERY, this);
+} catch (Exception e) {
+  log.error(Failed to add log recovery watcher back, e);
+}
   }
 });
 

Modified: 
accumulo/trunk/server/src/main/java/org/apache/accumulo/server/tabletserver/log/LogSorter.java
URL: 
http://svn.apache.org/viewvc/accumulo/trunk/server/src/main/java/org/apache/accumulo/server/tabletserver/log/LogSorter.java?rev=1351844r1=1351843r2=1351844view=diff
==
--- 
accumulo/trunk/server/src/main/java/org/apache/accumulo/server/tabletserver/log/LogSorter.java
 (original)
+++ 
accumulo/trunk/server/src/main/java/org/apache/accumulo/server/tabletserver/log/LogSorter.java
 Tue Jun 19 20:41:03 2012
@@ -113,7 +113,7 @@ public class LogSorter {
   }
 }
 fs.create(new Path(destPath, finished)).close();
-log.info(Log copy/sort of  + name +  complete);
+log.debug(Log copy/sort of  + name +  complete);
   } catch (Throwable t) {
 try {
   fs.create(new Path(destPath, failed)).close();
@@ -201,7 +201,7 @@ public class LogSorter {
   case NodeChildrenChanged:
 if (event.getPath().equals(path))
   try {
-attemptRecoveries(zoo, serverName, path, 
zoo.getChildren(path));
+attemptRecoveries(zoo, serverName, path, zoo.getChildren(path, 
this));
   } catch (KeeperException e) {
 log.error(Unable to get recovery information, e);
   } catch (InterruptedException e) {
@@ -237,10 +237,14 @@ public class LogSorter {
 }, r.nextInt(1000), 60 * 1000);
   }
   
-  private void attemptRecoveries(final ZooReaderWriter zoo, final String 
serverName, String path, ListString children) {
+  private void attemptRecoveries(final ZooReaderWriter zoo, final String 
serverName, final String path, ListString children) {
 if (children.size() == 0)
   return;
-log.info(Zookeeper references  + children.size() +  recoveries, 
attempting locks);
+
+if (threadPool.getQueue().size()  1)
+  return;
+
+log.debug(Zookeeper references  + children.size() +  recoveries, 
attempting locks);
 Random random = new Random();
 Collections.shuffle(children, random);
 try {
@@ -258,9 +262,9 @@ public class LogSorter {
   if (threadPool.getQueue().size()  1) {
 lock.unlock();
 log.debug(got the lock, but thread pool is busy; released the 
lock on  + child);
-continue;
+break;
   }
-  log.info(got lock for  + child);
+  log.debug(got lock for  + child);
   byte[] contents = zoo.getData(childPath, null);
   String destination = Constants.getRecoveryDir(conf) + / + child;
   startSort(new String(contents), destination, new LogSortNotifier() {
@@ -272,10 +276,17 @@ public class LogSorter {
   } catch (Exception e) {
 log.error(Error received when trying to delete recovery entry 
in zookeeper  + childPath);
   }
+  try {
+attemptRecoveries(zoo, serverName, path, 
zoo.getChildren(path));
+  } catch (KeeperException e) {
+log.error(Unable to get recovery information, e);
+  } catch (InterruptedException e) {
+log.info(Interrupted getting recovery information, e);
+  }
 }
   });
 } else {
-  log.info(failed to get the lock  + child);
+  log.debug(failed to get the lock  + child);
 }
   }
 } catch (Throwable t) {




svn commit: r1351885 - /accumulo/trunk/server/src/main/java/org/apache/accumulo/server/util/MetadataTable.java

2012-06-19 Thread kturner
Author: kturner
Date: Tue Jun 19 22:19:21 2012
New Revision: 1351885

URL: http://svn.apache.org/viewvc?rev=1351885view=rev
Log:
ACCUMULO-628 fixed unintended deletion of tablets last location

Modified:

accumulo/trunk/server/src/main/java/org/apache/accumulo/server/util/MetadataTable.java

Modified: 
accumulo/trunk/server/src/main/java/org/apache/accumulo/server/util/MetadataTable.java
URL: 
http://svn.apache.org/viewvc/accumulo/trunk/server/src/main/java/org/apache/accumulo/server/util/MetadataTable.java?rev=1351885r1=1351884r2=1351885view=diff
==
--- 
accumulo/trunk/server/src/main/java/org/apache/accumulo/server/util/MetadataTable.java
 (original)
+++ 
accumulo/trunk/server/src/main/java/org/apache/accumulo/server/util/MetadataTable.java
 Tue Jun 19 22:19:21 2012
@@ -191,12 +191,12 @@ public class MetadataTable extends org.a
 if (dfv.getNumEntries()  0) {
   m.put(Constants.METADATA_DATAFILE_COLUMN_FAMILY, new Text(path), new 
Value(dfv.encode()));
   ColumnFQ.put(m, Constants.METADATA_TIME_COLUMN, new 
Value(time.getBytes()));
-  // erase the old location
-  if (lastLocation != null)
-lastLocation.clearLastLocation(m);
   // stuff in this location
   TServerInstance self = getTServerInstance(address, zooLock);
   self.putLastLocation(m);
+  // erase the old location
+  if (lastLocation != null  !lastLocation.equals(self))
+lastLocation.clearLastLocation(m);
 }
 if (unusedWalLogs != null) {
   for (String entry : unusedWalLogs) {
@@ -465,11 +465,12 @@ public class MetadataTable extends org.a
 if (compactionId != null)
   ColumnFQ.put(m, Constants.METADATA_COMPACT_COLUMN, new Value(( + 
compactionId).getBytes()));
 
-// remove the old location
-if (lastLocation != null)
-  lastLocation.clearLastLocation(m);
 TServerInstance self = getTServerInstance(address, zooLock);
 self.putLastLocation(m);
+
+// remove the old location
+if (lastLocation != null  !lastLocation.equals(self))
+  lastLocation.clearLastLocation(m);
 
 update(credentials, zooLock, m);
   }




svn commit: r1356891 - in /accumulo/branches/1.4: src/core/src/main/java/org/apache/accumulo/core/ src/core/src/main/java/org/apache/accumulo/core/conf/ src/core/src/main/java/org/apache/accumulo/core

2012-07-03 Thread kturner
Author: kturner
Date: Tue Jul  3 19:46:50 2012
New Revision: 1356891

URL: http://svn.apache.org/viewvc?rev=1356891view=rev
Log:
ACCUMULO-409 Make tservers copy failed bulk import files instead of master. 

Added:

accumulo/branches/1.4/src/server/src/main/java/org/apache/accumulo/server/tabletserver/BulkFailedCopyProcessor.java

accumulo/branches/1.4/src/server/src/main/java/org/apache/accumulo/server/zookeeper/DistributedWorkQueue.java
Modified:

accumulo/branches/1.4/src/core/src/main/java/org/apache/accumulo/core/Constants.java

accumulo/branches/1.4/src/core/src/main/java/org/apache/accumulo/core/conf/Property.java

accumulo/branches/1.4/src/core/src/main/java/org/apache/accumulo/core/zookeeper/ZooUtil.java

accumulo/branches/1.4/src/server/src/main/java/org/apache/accumulo/server/client/BulkImporter.java

accumulo/branches/1.4/src/server/src/main/java/org/apache/accumulo/server/master/tableOps/BulkImport.java

accumulo/branches/1.4/src/server/src/main/java/org/apache/accumulo/server/tabletserver/TabletServer.java

accumulo/branches/1.4/src/server/src/main/java/org/apache/accumulo/server/zookeeper/IZooReaderWriter.java

accumulo/branches/1.4/src/server/src/main/java/org/apache/accumulo/server/zookeeper/ZooReaderWriter.java
accumulo/branches/1.4/test/system/test4/bulk_import_test.sh

Modified: 
accumulo/branches/1.4/src/core/src/main/java/org/apache/accumulo/core/Constants.java
URL: 
http://svn.apache.org/viewvc/accumulo/branches/1.4/src/core/src/main/java/org/apache/accumulo/core/Constants.java?rev=1356891r1=1356890r2=1356891view=diff
==
--- 
accumulo/branches/1.4/src/core/src/main/java/org/apache/accumulo/core/Constants.java
 (original)
+++ 
accumulo/branches/1.4/src/core/src/main/java/org/apache/accumulo/core/Constants.java
 Tue Jul  3 19:46:50 2012
@@ -77,6 +77,8 @@ public class Constants {
   
   public static final String ZNEXT_FILE = /next_file;
   
+  public static final String ZBULK_FAILED_COPYQ = /bulk_failed_copyq;
+
   public static final String ZHDFS_RESERVATIONS = /hdfs_reservations;
   
   public static final String METADATA_TABLE_ID = !0;

Modified: 
accumulo/branches/1.4/src/core/src/main/java/org/apache/accumulo/core/conf/Property.java
URL: 
http://svn.apache.org/viewvc/accumulo/branches/1.4/src/core/src/main/java/org/apache/accumulo/core/conf/Property.java?rev=1356891r1=1356890r2=1356891view=diff
==
--- 
accumulo/branches/1.4/src/core/src/main/java/org/apache/accumulo/core/conf/Property.java
 (original)
+++ 
accumulo/branches/1.4/src/core/src/main/java/org/apache/accumulo/core/conf/Property.java
 Tue Jul  3 19:46:50 2012
@@ -153,7 +153,9 @@ public enum Property {
   TSERV_HOLD_TIME_SUICIDE(tserver.hold.time.max, 5m, 
PropertyType.TIMEDURATION,
   The maximum time for a tablet server to be in the \memory full\ 
state.  If the tablet server cannot write out memory
   +  in this much time, it will assume there is some failure local to 
its node, and quit.  A value of zero is equivalent to forever.),
-  
+  TSERV_WORKQ_THREADS(tserver.workq.threads, 2, PropertyType.COUNT,
+  The number of threads for the distributed workq.  These threads are 
used for copying failed bulk files.),
+
   // properties that are specific to logger server behavior
   LOGGER_PREFIX(logger., null, PropertyType.PREFIX, Properties in this 
category affect the behavior of the write-ahead logger servers),
   LOGGER_PORT(logger.port.client, 11224, PropertyType.PORT, The port used 
for write-ahead logger services),

Modified: 
accumulo/branches/1.4/src/core/src/main/java/org/apache/accumulo/core/zookeeper/ZooUtil.java
URL: 
http://svn.apache.org/viewvc/accumulo/branches/1.4/src/core/src/main/java/org/apache/accumulo/core/zookeeper/ZooUtil.java?rev=1356891r1=1356890r2=1356891view=diff
==
--- 
accumulo/branches/1.4/src/core/src/main/java/org/apache/accumulo/core/zookeeper/ZooUtil.java
 (original)
+++ 
accumulo/branches/1.4/src/core/src/main/java/org/apache/accumulo/core/zookeeper/ZooUtil.java
 Tue Jul  3 19:46:50 2012
@@ -221,6 +221,10 @@ public class ZooUtil {
 return zk.create(zPath, data, ZooUtil.PUBLIC, 
CreateMode.PERSISTENT_SEQUENTIAL);
   }
   
+  public static String putEphemeralData(ZooKeeper zk, String zPath, byte[] 
data) throws KeeperException, InterruptedException {
+return zk.create(zPath, data, ZooUtil.PUBLIC, CreateMode.EPHEMERAL);
+  }
+
   public static String putEphemeralSequential(ZooKeeper zk, String zPath, 
byte[] data) throws KeeperException, InterruptedException {
 return zk.create(zPath, data, ZooUtil.PUBLIC, 
CreateMode.EPHEMERAL_SEQUENTIAL);
   }
@@ -258,5 +262,4 @@ public class ZooUtil {
 Stat stat = zk.exists(lid.path + / + lid.node, false);
 return stat != null  stat.getEphemeralOwner

svn commit: r1356949 - in /accumulo/trunk: ./ core/ core/src/main/java/org/apache/accumulo/core/ core/src/main/java/org/apache/accumulo/core/conf/ core/src/test/java/org/apache/accumulo/core/iterators

2012-07-03 Thread kturner
Author: kturner
Date: Tue Jul  3 21:13:15 2012
New Revision: 1356949

URL: http://svn.apache.org/viewvc?rev=1356949view=rev
Log:
ACCUMULO-409 Make tservers copy failed bulk import files instead of master. 
(merged from 1.4)

Added:

accumulo/trunk/server/src/main/java/org/apache/accumulo/server/tabletserver/BulkFailedCopyProcessor.java
  - copied unchanged from r1356900, 
accumulo/branches/1.4/src/server/src/main/java/org/apache/accumulo/server/tabletserver/BulkFailedCopyProcessor.java

accumulo/trunk/server/src/main/java/org/apache/accumulo/server/zookeeper/DistributedWorkQueue.java
  - copied, changed from r1356900, 
accumulo/branches/1.4/src/server/src/main/java/org/apache/accumulo/server/zookeeper/DistributedWorkQueue.java
Modified:
accumulo/trunk/   (props changed)
accumulo/trunk/core/   (props changed)
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/Constants.java

accumulo/trunk/core/src/main/java/org/apache/accumulo/core/conf/Property.java

accumulo/trunk/core/src/test/java/org/apache/accumulo/core/iterators/FirstEntryInRowTest.java

accumulo/trunk/fate/src/main/java/org/apache/accumulo/fate/zookeeper/IZooReaderWriter.java

accumulo/trunk/fate/src/main/java/org/apache/accumulo/fate/zookeeper/ZooReaderWriter.java

accumulo/trunk/fate/src/main/java/org/apache/accumulo/fate/zookeeper/ZooUtil.java
accumulo/trunk/server/   (props changed)

accumulo/trunk/server/src/main/java/org/apache/accumulo/server/client/BulkImporter.java

accumulo/trunk/server/src/main/java/org/apache/accumulo/server/master/tableOps/BulkImport.java

accumulo/trunk/server/src/main/java/org/apache/accumulo/server/tabletserver/TabletServer.java
accumulo/trunk/src/   (props changed)
accumulo/trunk/test/system/test4/bulk_import_test.sh

Propchange: accumulo/trunk/
--
  Merged /accumulo/trunk/src:r1341000,1342373,1351691,1356400
  Merged 
/accumulo/branches/1.4/src:r1339309-1342420,1343897-1343898,1343943-1349971,1349973-1351424,1351426-1354669,1354673-1356900
  Merged /accumulo/branches/1.3:r1354669
  Merged /accumulo/branches/1.3/src:r1354669
  Merged 
/accumulo/branches/1.4:r1343943-1349971,1349973-1351424,1351426-1354668,1354673-1356923

Propchange: accumulo/trunk/core/
--
  Merged /accumulo/trunk/src/core:r1341000,1342373,1351691,1356400
  Merged /accumulo/branches/1.3/src/core:r1354669
  Merged 
/accumulo/branches/1.4/core:r1343943-1349971,1349973-1351424,1351426-1354668,1354673-1356923
  Merged 
/accumulo/branches/1.4/src/core:r1339309-1342420,1343897-1343898,1343943-1349971,1349973-1351424,1351426-1354669,1354673-1356900

Modified: 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/Constants.java
URL: 
http://svn.apache.org/viewvc/accumulo/trunk/core/src/main/java/org/apache/accumulo/core/Constants.java?rev=1356949r1=1356948r2=1356949view=diff
==
--- accumulo/trunk/core/src/main/java/org/apache/accumulo/core/Constants.java 
(original)
+++ accumulo/trunk/core/src/main/java/org/apache/accumulo/core/Constants.java 
Tue Jul  3 21:13:15 2012
@@ -74,6 +74,8 @@ public class Constants {
   
   public static final String ZNEXT_FILE = /next_file;
   
+  public static final String ZBULK_FAILED_COPYQ = /bulk_failed_copyq;
+
   public static final String ZHDFS_RESERVATIONS = /hdfs_reservations;
   public static final String ZRECOVERY = /recovery;
   

Modified: 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/conf/Property.java
URL: 
http://svn.apache.org/viewvc/accumulo/trunk/core/src/main/java/org/apache/accumulo/core/conf/Property.java?rev=1356949r1=1356948r2=1356949view=diff
==
--- 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/conf/Property.java 
(original)
+++ 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/conf/Property.java 
Tue Jul  3 21:13:15 2012
@@ -151,7 +151,9 @@ public enum Property {
   TSERV_RECOVERY_MAX_CONCURRENT(tserver.recovery.concurrent.max, 2, 
PropertyType.COUNT, The maximum number of threads to use to sort logs during 
recovery),
   TSERV_SORT_BUFFER_SIZE(tserver.sort.buffer.size, 200M, 
PropertyType.MEMORY, The amount of memory to use when sorting logs during 
recovery.),
   TSERV_ARCHIVE_WALOGS(tserver.archive.walogs, false, 
PropertyType.BOOLEAN, Keep copies of the WALOGs for debugging purposes),
-  
+  TSERV_WORKQ_THREADS(tserver.workq.threads, 2, PropertyType.COUNT,
+  The number of threads for the distributed workq.  These threads are 
used for copying failed bulk files.),
+
   // properties that are specific to logger server behavior
   LOGGER_PREFIX(logger., null, PropertyType.PREFIX, Properties in this 
category affect the behavior of the write-ahead logger servers

svn commit: r1357721 - in /accumulo/trunk/server/src/main/java/org/apache/accumulo/server: master/recovery/SubmitFileForRecovery.java tabletserver/TabletServer.java tabletserver/log/LogSorter.java

2012-07-05 Thread kturner
Author: kturner
Date: Thu Jul  5 16:19:05 2012
New Revision: 1357721

URL: http://svn.apache.org/viewvc?rev=1357721view=rev
Log:
ACCUMULO-409 Modified log recovery to use new DistributedWorkQueue

Modified:

accumulo/trunk/server/src/main/java/org/apache/accumulo/server/master/recovery/SubmitFileForRecovery.java

accumulo/trunk/server/src/main/java/org/apache/accumulo/server/tabletserver/TabletServer.java

accumulo/trunk/server/src/main/java/org/apache/accumulo/server/tabletserver/log/LogSorter.java

Modified: 
accumulo/trunk/server/src/main/java/org/apache/accumulo/server/master/recovery/SubmitFileForRecovery.java
URL: 
http://svn.apache.org/viewvc/accumulo/trunk/server/src/main/java/org/apache/accumulo/server/master/recovery/SubmitFileForRecovery.java?rev=1357721r1=1357720r2=1357721view=diff
==
--- 
accumulo/trunk/server/src/main/java/org/apache/accumulo/server/master/recovery/SubmitFileForRecovery.java
 (original)
+++ 
accumulo/trunk/server/src/main/java/org/apache/accumulo/server/master/recovery/SubmitFileForRecovery.java
 Thu Jul  5 16:19:05 2012
@@ -21,9 +21,9 @@ import java.io.IOException;
 import org.apache.accumulo.core.Constants;
 import org.apache.accumulo.core.zookeeper.ZooUtil;
 import org.apache.accumulo.fate.Repo;
-import org.apache.accumulo.fate.zookeeper.ZooUtil.NodeExistsPolicy;
 import org.apache.accumulo.server.master.Master;
 import org.apache.accumulo.server.master.tableOps.MasterRepo;
+import org.apache.accumulo.server.zookeeper.DistributedWorkQueue;
 import org.apache.accumulo.server.zookeeper.ZooReaderWriter;
 import org.apache.hadoop.fs.FileSystem;
 import org.apache.hadoop.fs.Path;
@@ -48,18 +48,19 @@ public class SubmitFileForRecovery exten
   public RepoMaster call(long tid, final Master master) throws Exception {
 master.updateRecoveryInProgress(file);
 String source = RecoverLease.getSource(master, server, file).toString();
+new DistributedWorkQueue(ZooUtil.getRoot(master.getInstance()) + 
Constants.ZRECOVERY).addWork(file, source.getBytes());
+
 ZooReaderWriter zoo = ZooReaderWriter.getInstance();
 final String path = ZooUtil.getRoot(master.getInstance()) + 
Constants.ZRECOVERY + / + file;
-zoo.putPersistentData(path, source.getBytes(), NodeExistsPolicy.SKIP);
 log.info(Created zookeeper entry  + path +  with data  + source);
 zoo.exists(path, new Watcher() {
   @Override
   public void process(WatchedEvent event) {
 switch (event.getType()) {
-  case NodeDataChanged:
+  case NodeDeleted:
 log.info(noticed recovery entry for  + file +  was removed);
 FileSystem fs = master.getFileSystem();
-Path finished = new 
Path(Constants.getRecoveryDir(master.getSystemConfiguration()), finished);
+Path finished = new 
Path(Constants.getRecoveryDir(master.getSystemConfiguration()) + / + file, 
finished);
 try {
   if (fs.exists(finished))
 log.info(log recovery for  + file +  successful);

Modified: 
accumulo/trunk/server/src/main/java/org/apache/accumulo/server/tabletserver/TabletServer.java
URL: 
http://svn.apache.org/viewvc/accumulo/trunk/server/src/main/java/org/apache/accumulo/server/tabletserver/TabletServer.java?rev=1357721r1=1357720r2=1357721view=diff
==
--- 
accumulo/trunk/server/src/main/java/org/apache/accumulo/server/tabletserver/TabletServer.java
 (original)
+++ 
accumulo/trunk/server/src/main/java/org/apache/accumulo/server/tabletserver/TabletServer.java
 Thu Jul  5 16:19:05 2012
@@ -51,7 +51,6 @@ import java.util.concurrent.ArrayBlockin
 import java.util.concurrent.BlockingDeque;
 import java.util.concurrent.CancellationException;
 import java.util.concurrent.ExecutionException;
-import java.util.concurrent.Executors;
 import java.util.concurrent.LinkedBlockingDeque;
 import java.util.concurrent.RunnableFuture;
 import java.util.concurrent.ThreadPoolExecutor;
@@ -126,9 +125,9 @@ import org.apache.accumulo.core.util.Cac
 import org.apache.accumulo.core.util.ColumnFQ;
 import org.apache.accumulo.core.util.Daemon;
 import org.apache.accumulo.core.util.LoggingRunnable;
-import org.apache.accumulo.core.util.NamingThreadFactory;
 import org.apache.accumulo.core.util.ServerServices;
 import org.apache.accumulo.core.util.ServerServices.Service;
+import org.apache.accumulo.core.util.SimpleThreadPool;
 import org.apache.accumulo.core.util.Stat;
 import org.apache.accumulo.core.util.ThriftUtil;
 import org.apache.accumulo.core.util.UtilWaitThread;
@@ -2714,22 +2713,22 @@ public class TabletServer extends Abstra
 }
 clientAddress = new InetSocketAddress(clientAddress.getAddress(), 
clientPort);
 announceExistence();
-try {
-  logSorter.startWatchingForRecoveryLogs(getClientAddressString());
-} catch (Exception ex) {
-  log.error(Error setting

svn commit: r1370914 - in /accumulo/trunk: core/src/main/java/org/apache/accumulo/core/client/ core/src/main/java/org/apache/accumulo/core/client/impl/ core/src/main/java/org/apache/accumulo/core/clie

2012-08-08 Thread kturner
Author: kturner
Date: Wed Aug  8 19:47:57 2012
New Revision: 1370914

URL: http://svn.apache.org/viewvc?rev=1370914view=rev
Log:
ACCUMULO-705 added timeout to batch scanner

Added:

accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/TimedOutException.java

accumulo/trunk/server/src/main/java/org/apache/accumulo/server/test/functional/TimeoutTest.java
accumulo/trunk/test/system/auto/simple/timeout.py
Modified:

accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/BatchScanner.java

accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/Scanner.java

accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/ScannerBase.java

accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/impl/ScannerImpl.java

accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/impl/ScannerOptions.java

accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/impl/TabletServerBatchReader.java

accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/impl/TabletServerBatchReaderIterator.java

accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/mock/MockBatchScanner.java

accumulo/trunk/core/src/main/java/org/apache/accumulo/core/util/ThriftUtil.java

Modified: 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/BatchScanner.java
URL: 
http://svn.apache.org/viewvc/accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/BatchScanner.java?rev=1370914r1=1370913r2=1370914view=diff
==
--- 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/BatchScanner.java
 (original)
+++ 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/BatchScanner.java
 Wed Aug  8 19:47:57 2012
@@ -44,4 +44,17 @@ public interface BatchScanner extends Sc
* Cleans up and finalizes the scanner
*/
   void close();
+  
+  /**
+   * Sets a timeout threshold for a server to respond. The batch scanner will 
accomplish as much work as possible before throwing an exception. BatchScanner
+   * iterators will throw a {@link TimedOutException} when all needed servers 
timeout.
+   * 
+   * p
+   * If not set, the timeout defaults to MAX_INT
+   * 
+   * @param timeout
+   *  in seconds
+   */
+  @Override
+  void setTimeOut(int timeout);
 }

Modified: 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/Scanner.java
URL: 
http://svn.apache.org/viewvc/accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/Scanner.java?rev=1370914r1=1370913r2=1370914view=diff
==
--- 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/Scanner.java 
(original)
+++ 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/Scanner.java 
Wed Aug  8 19:47:57 2012
@@ -28,21 +28,6 @@ import org.apache.accumulo.core.data.Ran
 public interface Scanner extends ScannerBase {
   
   /**
-   * This setting determines how long a scanner will automatically retry when 
a failure occurs. By default a scanner will retry forever.
-   * 
-   * @param timeOut
-   *  in seconds
-   */
-  public void setTimeOut(int timeOut);
-  
-  /**
-   * Returns the setting for how long a scanner will automatically retry when 
a failure occurs.
-   * 
-   * @return the timeout configured for this scanner
-   */
-  public int getTimeOut();
-  
-  /**
* Sets the range of keys to scan over.
* 
* @param range

Modified: 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/ScannerBase.java
URL: 
http://svn.apache.org/viewvc/accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/ScannerBase.java?rev=1370914r1=1370913r2=1370914view=diff
==
--- 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/ScannerBase.java
 (original)
+++ 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/ScannerBase.java
 Wed Aug  8 19:47:57 2012
@@ -100,4 +100,19 @@ public interface ScannerBase extends Ite
* @return an iterator over Key,Value pairs which meet the restrictions set 
on the scanner
*/
   public IteratorEntryKey,Value iterator();
+  
+  /**
+   * This setting determines how long a scanner will automatically retry when 
a failure occurs. By default a scanner will retry forever.
+   * 
+   * @param timeOut
+   *  in seconds
+   */
+  public void setTimeOut(int timeOut);
+  
+  /**
+   * Returns the setting for how long a scanner will automatically retry when 
a failure occurs.
+   * 
+   * @return the timeout configured for this scanner
+   */
+  public int getTimeOut();
 }

Added: 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/TimedOutException.java
URL: 
http://svn.apache.org/viewvc/accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client

svn commit: r1370925 [2/2] - in /accumulo/trunk: core/src/main/java/org/apache/accumulo/core/ core/src/main/java/org/apache/accumulo/core/client/admin/ core/src/main/java/org/apache/accumulo/core/clie

2012-08-08 Thread kturner
Added: 
accumulo/trunk/server/src/main/java/org/apache/accumulo/server/master/tableOps/ImportTable.java
URL: 
http://svn.apache.org/viewvc/accumulo/trunk/server/src/main/java/org/apache/accumulo/server/master/tableOps/ImportTable.java?rev=1370925view=auto
==
--- 
accumulo/trunk/server/src/main/java/org/apache/accumulo/server/master/tableOps/ImportTable.java
 (added)
+++ 
accumulo/trunk/server/src/main/java/org/apache/accumulo/server/master/tableOps/ImportTable.java
 Wed Aug  8 20:02:58 2012
@@ -0,0 +1,595 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the License); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an AS IS BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.accumulo.server.master.tableOps;
+
+import java.io.BufferedInputStream;
+import java.io.BufferedReader;
+import java.io.BufferedWriter;
+import java.io.DataInputStream;
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.io.OutputStreamWriter;
+import java.io.Serializable;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Map.Entry;
+import java.util.zip.ZipEntry;
+import java.util.zip.ZipInputStream;
+
+import org.apache.accumulo.core.Constants;
+import org.apache.accumulo.core.client.AccumuloSecurityException;
+import org.apache.accumulo.core.client.BatchWriter;
+import org.apache.accumulo.core.client.Instance;
+import org.apache.accumulo.core.client.admin.TableOperationsImpl;
+import org.apache.accumulo.core.client.impl.Tables;
+import org.apache.accumulo.core.client.impl.thrift.TableOperation;
+import org.apache.accumulo.core.client.impl.thrift.TableOperationExceptionType;
+import 
org.apache.accumulo.core.client.impl.thrift.ThriftTableOperationException;
+import org.apache.accumulo.core.data.Key;
+import org.apache.accumulo.core.data.KeyExtent;
+import org.apache.accumulo.core.data.Mutation;
+import org.apache.accumulo.core.data.Value;
+import org.apache.accumulo.core.file.FileOperations;
+import org.apache.accumulo.core.master.state.tables.TableState;
+import org.apache.accumulo.core.security.TablePermission;
+import org.apache.accumulo.fate.Repo;
+import org.apache.accumulo.fate.zookeeper.ZooUtil.NodeExistsPolicy;
+import org.apache.accumulo.server.ServerConstants;
+import org.apache.accumulo.server.client.HdfsZooInstance;
+import org.apache.accumulo.server.master.Master;
+import org.apache.accumulo.server.master.state.tables.TableManager;
+import org.apache.accumulo.server.security.Authenticator;
+import org.apache.accumulo.server.security.SecurityConstants;
+import org.apache.accumulo.server.security.ZKAuthenticator;
+import org.apache.accumulo.server.tabletserver.UniqueNameAllocator;
+import org.apache.accumulo.server.test.FastFormat;
+import org.apache.accumulo.server.util.MetadataTable;
+import org.apache.accumulo.server.util.TablePropUtil;
+import org.apache.hadoop.fs.FileStatus;
+import org.apache.hadoop.fs.FileSystem;
+import org.apache.hadoop.fs.Path;
+import org.apache.hadoop.io.Text;
+import org.apache.log4j.Logger;
+
+/**
+ * 
+ */
+class ImportedTableInfo implements Serializable {
+  
+  private static final long serialVersionUID = 1L;
+
+  public String exportDir;
+  public String user;
+  public String tableName;
+  public String tableId;
+  public String importDir;
+}
+
+class FinishImportTable extends MasterRepo {
+  
+  private static final long serialVersionUID = 1L;
+  
+  private ImportedTableInfo tableInfo;
+  
+  public FinishImportTable(ImportedTableInfo ti) {
+this.tableInfo = ti;
+  }
+  
+  @Override
+  public long isReady(long tid, Master environment) throws Exception {
+return 0;
+  }
+  
+  @Override
+  public RepoMaster call(long tid, Master env) throws Exception {
+
+env.getFileSystem().delete(new Path(tableInfo.importDir, mappings.txt), 
true);
+
+TableManager.getInstance().transitionTableState(tableInfo.tableId, 
TableState.ONLINE);
+
+Utils.unreserveTable(tableInfo.tableId, tid, true);
+
+Utils.unreserveHdfsDirectory(new Path(tableInfo.exportDir).toString(), 
tid);
+
+env.getEventCoordinator().event(Imported table %s , tableInfo.tableName);
+
+Logger.getLogger(FinishImportTable.class).debug(Imported table  + 
tableInfo.tableId +   + tableInfo.tableName);
+
+return null;

svn commit: r1376048 - /accumulo/site/trunk/content/get_involved.mdtext

2012-08-22 Thread kturner
Author: kturner
Date: Wed Aug 22 13:53:20 2012
New Revision: 1376048

URL: http://svn.apache.org/viewvc?rev=1376048view=rev
Log:
CMS commit to accumulo by kturner

Modified:
accumulo/site/trunk/content/get_involved.mdtext

Modified: accumulo/site/trunk/content/get_involved.mdtext
URL: 
http://svn.apache.org/viewvc/accumulo/site/trunk/content/get_involved.mdtext?rev=1376048r1=1376047r2=1376048view=diff
==
--- accumulo/site/trunk/content/get_involved.mdtext (original)
+++ accumulo/site/trunk/content/get_involved.mdtext Wed Aug 22 13:53:20 2012
@@ -44,7 +44,9 @@ as easy as possible for people to get in
 ## Mailing lists and Meetups
 
 Your first engagement with the project should be to subscribe to our
-[mailing lists][1].  You can also [look for Accumulo Meetups][7] in your area.
+[mailing lists][1].  You can also [look for Accumulo Meetups][7] in your area. 
+Apache Accumulo developers and community members hang out in the #accumulo 
+channel on irc.freenode.net.
 
 ## Developer's Guide
 




svn commit: r1381426 [2/2] - in /accumulo/trunk: core/src/main/java/org/apache/accumulo/core/client/impl/thrift/ core/src/main/java/org/apache/accumulo/core/data/thrift/ core/src/main/java/org/apache/

2012-09-05 Thread kturner
Modified: 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/tabletserver/thrift/TIteratorSetting.java
URL: 
http://svn.apache.org/viewvc/accumulo/trunk/core/src/main/java/org/apache/accumulo/core/tabletserver/thrift/TIteratorSetting.java?rev=1381426r1=1381425r2=1381426view=diff
==
--- 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/tabletserver/thrift/TIteratorSetting.java
 (original)
+++ 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/tabletserver/thrift/TIteratorSetting.java
 Wed Sep  5 22:34:40 2012
@@ -47,7 +47,7 @@ import org.slf4j.LoggerFactory;
   public MapString,String properties; // required
 
   /** The set of fields this struct contains, along with convenience methods 
for finding and manipulating them. */
-  public enum _Fields implements org.apache.thrift.TFieldIdEnum {
+  @SuppressWarnings(all) public enum _Fields implements 
org.apache.thrift.TFieldIdEnum {
 PRIORITY((short)1, priority),
 NAME((short)2, name),
 ITERATOR_CLASS((short)3, iteratorClass),

Modified: 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/tabletserver/thrift/TabletClientService.java
URL: 
http://svn.apache.org/viewvc/accumulo/trunk/core/src/main/java/org/apache/accumulo/core/tabletserver/thrift/TabletClientService.java?rev=1381426r1=1381425r2=1381426view=diff
==
--- 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/tabletserver/thrift/TabletClientService.java
 (original)
+++ 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/tabletserver/thrift/TabletClientService.java
 Wed Sep  5 22:34:40 2012
@@ -2306,7 +2306,7 @@ import org.slf4j.LoggerFactory;
 public boolean isolated; // required
 
 /** The set of fields this struct contains, along with convenience methods 
for finding and manipulating them. */
-public enum _Fields implements org.apache.thrift.TFieldIdEnum {
+@SuppressWarnings(all) public enum _Fields implements 
org.apache.thrift.TFieldIdEnum {
   TINFO((short)11, tinfo),
   CREDENTIALS((short)1, credentials),
   EXTENT((short)2, extent),
@@ -3916,7 +3916,7 @@ import org.slf4j.LoggerFactory;
 public TooManyFilesException tmfe; // required
 
 /** The set of fields this struct contains, along with convenience methods 
for finding and manipulating them. */
-public enum _Fields implements org.apache.thrift.TFieldIdEnum {
+@SuppressWarnings(all) public enum _Fields implements 
org.apache.thrift.TFieldIdEnum {
   SUCCESS((short)0, success),
   SEC((short)1, sec),
   NSTE((short)2, nste),
@@ -4573,7 +4573,7 @@ import org.slf4j.LoggerFactory;
 public long scanID; // required
 
 /** The set of fields this struct contains, along with convenience methods 
for finding and manipulating them. */
-public enum _Fields implements org.apache.thrift.TFieldIdEnum {
+@SuppressWarnings(all) public enum _Fields implements 
org.apache.thrift.TFieldIdEnum {
   TINFO((short)2, tinfo),
   SCAN_ID((short)1, scanID);
 
@@ -5031,7 +5031,7 @@ import org.slf4j.LoggerFactory;
 public TooManyFilesException tmfe; // required
 
 /** The set of fields this struct contains, along with convenience methods 
for finding and manipulating them. */
-public enum _Fields implements org.apache.thrift.TFieldIdEnum {
+@SuppressWarnings(all) public enum _Fields implements 
org.apache.thrift.TFieldIdEnum {
   SUCCESS((short)0, success),
   NSSI((short)1, nssi),
   NSTE((short)2, nste),
@@ -5688,7 +5688,7 @@ import org.slf4j.LoggerFactory;
 public long scanID; // required
 
 /** The set of fields this struct contains, along with convenience methods 
for finding and manipulating them. */
-public enum _Fields implements org.apache.thrift.TFieldIdEnum {
+@SuppressWarnings(all) public enum _Fields implements 
org.apache.thrift.TFieldIdEnum {
   TINFO((short)2, tinfo),
   SCAN_ID((short)1, scanID);
 
@@ -6154,7 +6154,7 @@ import org.slf4j.LoggerFactory;
 public boolean waitForWrites; // required
 
 /** The set of fields this struct contains, along with convenience methods 
for finding and manipulating them. */
-public enum _Fields implements org.apache.thrift.TFieldIdEnum {
+@SuppressWarnings(all) public enum _Fields implements 
org.apache.thrift.TFieldIdEnum {
   TINFO((short)8, tinfo),
   CREDENTIALS((short)1, credentials),
   BATCH((short)2, batch),
@@ -7559,7 +7559,7 @@ import org.slf4j.LoggerFactory;
 public org.apache.accumulo.core.security.thrift.ThriftSecurityException 
sec; // required
 
 /** The set of fields this struct contains, along with convenience methods 
for finding and manipulating them. */
-public enum _Fields implements org.apache.thrift.TFieldIdEnum {
+@SuppressWarnings(all) public enum _Fields implements 
org.apache.thrift.TFieldIdEnum {
   

svn commit: r1387182 [3/3] - in /accumulo/trunk: core/src/main/java/org/apache/accumulo/core/client/ core/src/main/java/org/apache/accumulo/core/client/impl/ core/src/main/java/org/apache/accumulo/cor

2012-09-18 Thread kturner
Modified: 
accumulo/trunk/server/src/test/java/org/apache/accumulo/server/util/CloneTest.java
URL: 
http://svn.apache.org/viewvc/accumulo/trunk/server/src/test/java/org/apache/accumulo/server/util/CloneTest.java?rev=1387182r1=1387181r2=1387182view=diff
==
--- 
accumulo/trunk/server/src/test/java/org/apache/accumulo/server/util/CloneTest.java
 (original)
+++ 
accumulo/trunk/server/src/test/java/org/apache/accumulo/server/util/CloneTest.java
 Tue Sep 18 14:25:37 2012
@@ -23,6 +23,7 @@ import junit.framework.TestCase;
 
 import org.apache.accumulo.core.Constants;
 import org.apache.accumulo.core.client.BatchWriter;
+import org.apache.accumulo.core.client.BatchWriterConfig;
 import org.apache.accumulo.core.client.Connector;
 import org.apache.accumulo.core.client.Scanner;
 import org.apache.accumulo.core.client.mock.MockInstance;
@@ -44,13 +45,13 @@ public class CloneTest extends TestCase 
 Constants.METADATA_TIME_COLUMN.put(mut, new Value(M0.getBytes()));
 Constants.METADATA_DIRECTORY_COLUMN.put(mut, new 
Value(/default_tablet.getBytes()));
 
-BatchWriter bw1 = conn.createBatchWriter(Constants.METADATA_TABLE_NAME, 
1000, 6l, 1);
+BatchWriter bw1 = conn.createBatchWriter(Constants.METADATA_TABLE_NAME, 
new BatchWriterConfig());
 
 bw1.addMutation(mut);
 
 bw1.close();
 
-BatchWriter bw2 = conn.createBatchWriter(Constants.METADATA_TABLE_NAME, 
1000, 6l, 1);
+BatchWriter bw2 = conn.createBatchWriter(Constants.METADATA_TABLE_NAME, 
new BatchWriterConfig());
 
 MetadataTable.initializeClone(0, 1, conn, bw2);
 
@@ -73,13 +74,13 @@ public class CloneTest extends TestCase 
 Constants.METADATA_DIRECTORY_COLUMN.put(mut, new 
Value(/default_tablet.getBytes()));
 mut.put(Constants.METADATA_DATAFILE_COLUMN_FAMILY.toString(), 
/default_tablet/0_0.rf, 1,200);
 
-BatchWriter bw1 = conn.createBatchWriter(Constants.METADATA_TABLE_NAME, 
1000, 6l, 1);
+BatchWriter bw1 = conn.createBatchWriter(Constants.METADATA_TABLE_NAME, 
new BatchWriterConfig());
 
 bw1.addMutation(mut);
 
 bw1.flush();
 
-BatchWriter bw2 = conn.createBatchWriter(Constants.METADATA_TABLE_NAME, 
1000, 6l, 1);
+BatchWriter bw2 = conn.createBatchWriter(Constants.METADATA_TABLE_NAME, 
new BatchWriterConfig());
 
 MetadataTable.initializeClone(0, 1, conn, bw2);
 
@@ -118,13 +119,13 @@ public class CloneTest extends TestCase 
 MockInstance mi = new MockInstance();
 Connector conn = mi.getConnector(, );
 
-BatchWriter bw1 = conn.createBatchWriter(Constants.METADATA_TABLE_NAME, 
1000, 6l, 1);
+BatchWriter bw1 = conn.createBatchWriter(Constants.METADATA_TABLE_NAME, 
new BatchWriterConfig());
 
 bw1.addMutation(createTablet(0, null, null, /default_tablet, 
/default_tablet/0_0.rf));
 
 bw1.flush();
 
-BatchWriter bw2 = conn.createBatchWriter(Constants.METADATA_TABLE_NAME, 
1000, 6l, 1);
+BatchWriter bw2 = conn.createBatchWriter(Constants.METADATA_TABLE_NAME, 
new BatchWriterConfig());
 
 MetadataTable.initializeClone(0, 1, conn, bw2);
 
@@ -160,13 +161,13 @@ public class CloneTest extends TestCase 
 MockInstance mi = new MockInstance();
 Connector conn = mi.getConnector(, );
 
-BatchWriter bw1 = conn.createBatchWriter(Constants.METADATA_TABLE_NAME, 
1000, 6l, 1);
+BatchWriter bw1 = conn.createBatchWriter(Constants.METADATA_TABLE_NAME, 
new BatchWriterConfig());
 
 bw1.addMutation(createTablet(0, null, null, /default_tablet, 
/default_tablet/0_0.rf));
 
 bw1.flush();
 
-BatchWriter bw2 = conn.createBatchWriter(Constants.METADATA_TABLE_NAME, 
1000, 6l, 1);
+BatchWriter bw2 = conn.createBatchWriter(Constants.METADATA_TABLE_NAME, 
new BatchWriterConfig());
 
 MetadataTable.initializeClone(0, 1, conn, bw2);
 
@@ -231,14 +232,14 @@ public class CloneTest extends TestCase 
 MockInstance mi = new MockInstance();
 Connector conn = mi.getConnector(, );
 
-BatchWriter bw1 = conn.createBatchWriter(Constants.METADATA_TABLE_NAME, 
1000, 6l, 1);
+BatchWriter bw1 = conn.createBatchWriter(Constants.METADATA_TABLE_NAME, 
new BatchWriterConfig());
 
 bw1.addMutation(createTablet(0, m, null, /d1, /d1/file1));
 bw1.addMutation(createTablet(0, null, m, /d2, /d2/file2));
 
 bw1.flush();
 
-BatchWriter bw2 = conn.createBatchWriter(Constants.METADATA_TABLE_NAME, 
1000, 6l, 1);
+BatchWriter bw2 = conn.createBatchWriter(Constants.METADATA_TABLE_NAME, 
new BatchWriterConfig());
 
 MetadataTable.initializeClone(0, 1, conn, bw2);
 
@@ -278,14 +279,14 @@ public class CloneTest extends TestCase 
 MockInstance mi = new MockInstance();
 Connector conn = mi.getConnector(, );
 
-BatchWriter bw1 = 

svn commit: r1387249 - in /accumulo/trunk: core/src/main/java/org/apache/accumulo/core/client/ core/src/main/java/org/apache/accumulo/core/client/impl/ core/src/main/java/org/apache/accumulo/core/clie

2012-09-18 Thread kturner
Author: kturner
Date: Tue Sep 18 16:48:00 2012
New Revision: 1387249

URL: http://svn.apache.org/viewvc?rev=1387249view=rev
Log:
ACCUMULO-705 Modfied API so that setTimeout() method is consistent across 
Scanner, BatchScanner, and BatchWriter

Modified:

accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/BatchScanner.java

accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/ClientSideIteratorScanner.java

accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/IsolatedScanner.java

accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/Scanner.java

accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/ScannerBase.java

accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/impl/ScannerImpl.java

accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/impl/ScannerOptions.java

accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/impl/TabletServerBatchReader.java

accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/impl/TabletServerBatchReaderIterator.java

accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/mock/MockBatchScanner.java

accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/mock/MockScanner.java

accumulo/trunk/server/src/main/java/org/apache/accumulo/server/monitor/servlets/trace/NullScanner.java

accumulo/trunk/server/src/main/java/org/apache/accumulo/server/test/functional/TimeoutTest.java

Modified: 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/BatchScanner.java
URL: 
http://svn.apache.org/viewvc/accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/BatchScanner.java?rev=1387249r1=1387248r2=1387249view=diff
==
--- 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/BatchScanner.java
 (original)
+++ 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/BatchScanner.java
 Tue Sep 18 16:48:00 2012
@@ -17,6 +17,7 @@
 package org.apache.accumulo.core.client;
 
 import java.util.Collection;
+import java.util.concurrent.TimeUnit;
 
 import org.apache.accumulo.core.data.Range;
 
@@ -47,14 +48,16 @@ public interface BatchScanner extends Sc
   
   /**
* Sets a timeout threshold for a server to respond. The batch scanner will 
accomplish as much work as possible before throwing an exception. BatchScanner
-   * iterators will throw a {@link TimedOutException} when all needed servers 
timeout.
+   * iterators will throw a {@link TimedOutException} when all needed servers 
timeout. Setting the timeout to zero or Long.MAX_VALUE and TimeUnit.MILLISECONDS
+   * means no timeout.
* 
* p
-   * If not set, the timeout defaults to MAX_INT
+   * If not set, there is not timeout. The BatchScanner will retry forever.
* 
* @param timeout
-   *  in seconds
+   * @param timeUnit
+   *  determines how timeout is interpreted
*/
   @Override
-  void setTimeOut(int timeout);
+  void setTimeout(long timeout, TimeUnit timeUnit);
 }

Modified: 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/ClientSideIteratorScanner.java
URL: 
http://svn.apache.org/viewvc/accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/ClientSideIteratorScanner.java?rev=1387249r1=1387248r2=1387249view=diff
==
--- 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/ClientSideIteratorScanner.java
 (original)
+++ 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/ClientSideIteratorScanner.java
 Tue Sep 18 16:48:00 2012
@@ -24,6 +24,7 @@ import java.util.Map.Entry;
 import java.util.Set;
 import java.util.TreeMap;
 import java.util.TreeSet;
+import java.util.concurrent.TimeUnit;
 
 import org.apache.accumulo.core.client.impl.ScannerOptions;
 import org.apache.accumulo.core.client.mock.IteratorAdapter;
@@ -53,7 +54,6 @@ import org.apache.hadoop.io.Text;
  */
 public class ClientSideIteratorScanner extends ScannerOptions implements 
Scanner {
   private int size;
-  private int timeOut;
   
   private Range range;
   private boolean isolated = false;
@@ -136,7 +136,7 @@ public class ClientSideIteratorScanner e
 smi = new ScannerTranslator(scanner);
 this.range = scanner.getRange();
 this.size = scanner.getBatchSize();
-this.timeOut = scanner.getTimeOut();
+this.timeOut = scanner.getTimeout(TimeUnit.MILLISECONDS);
   }
   
   /**
@@ -151,7 +151,7 @@ public class ClientSideIteratorScanner e
   @Override
   public IteratorEntryKey,Value iterator() {
 smi.scanner.setBatchSize(size);
-smi.scanner.setTimeOut(timeOut);
+smi.scanner.setTimeout(timeOut, TimeUnit.MILLISECONDS);
 if (isolated)
   smi.scanner.enableIsolation();
 else
@@ -208,13 +208,19 @@ public class ClientSideIteratorScanner e
   }
   
   @Override
-  public

svn commit: r1388194 - /accumulo/trunk/test/compat/diffAPI.pl

2012-09-20 Thread kturner
Author: kturner
Date: Thu Sep 20 20:16:07 2012
New Revision: 1388194

URL: http://svn.apache.org/viewvc?rev=1388194view=rev
Log:
ACCUMULO-765 updated diffAPI.pl to show which methods are deprecated

Modified:
accumulo/trunk/test/compat/diffAPI.pl

Modified: accumulo/trunk/test/compat/diffAPI.pl
URL: 
http://svn.apache.org/viewvc/accumulo/trunk/test/compat/diffAPI.pl?rev=1388194r1=1388193r2=1388194view=diff
==
--- accumulo/trunk/test/compat/diffAPI.pl (original)
+++ accumulo/trunk/test/compat/diffAPI.pl Thu Sep 20 20:16:07 2012
@@ -15,6 +15,60 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
+sub trim($)
+{
+   my $string = shift;
+   $string =~ s/^\s+//;
+   $string =~ s/\s+$//;
+   return $string;
+}
+
+sub getDeprecated {
+my($jar, $class) = @_;
+
+   open(JAVAP, javap -verbose -public -classpath '$jar' '$class'|);
+
+my $lastMethod = ;
+my %deprecated;
+
+while(JAVAP){
+   chomp();
+if(/^public\s/){
+$lastMethod = $_;
+}
+if(/Deprecated\:\strue/){
+   $lastMethod =~ s/\s+/ /g;
+$deprecated{$lastMethod}=true;
+}
+}
+
+close(JAVAP);
+
+return %deprecated;
+}
+
+sub annotateDeprecated {
+my($jar, $class, $deprecated, $outFile) = @_;
+   open(JAVAP, javap -public -classpath '$jar' '$class'|);
+   open(OUT, $outFile);
+   my @javapOut =  JAVAP;
+   @javapOut = sort(@javapOut);
+
+   for my $line (@javapOut){
+   my $trimLine = trim($line);
+   chomp($line);
+   $trimLine =~ s/\s+/ /g;
+   if($deprecated-{$trimLine}){
+   print OUT $line DEPRECATED\n;
+   }else{
+   print OUT $line\n;
+   }
+   }
+
+   close(JAVAP);
+   close(OUT);
+   
+}
 
 if(scalar(@ARGV) != 2){
print Usage : diffAPI.pl core jar 1 core jar 2\n;
@@ -24,7 +78,7 @@ if(scalar(@ARGV) != 2){
 $jar1 = $ARGV[0];
 $jar2 = $ARGV[1];
 
-$gtCmd = 'egrep accumulo/core/client/.*class|accumulo/core/data/.*class | 
grep -v accumulo/core/client/impl | grep -v  accumulo/core/data/thrift | tr / 
.';
+$gtCmd = 'egrep accumulo/core/client/.*class|accumulo/core/data/.*class | 
grep -v accumulo/core/client/impl | grep -v  accumulo/core/data/thrift | egrep 
-v Impl.*class$ | tr / .';
 
 @classes1 = `jar tf $jar1 | $gtCmd`;
 @classes2 = `jar tf $jar2 | $gtCmd`;
@@ -35,12 +89,14 @@ mkdir(diffWorkDir/jar2);
 
 for $class (@classes1){
$class = substr($class, 0, length($class) - 7);
-   system(javap -classpath $jar1 $class | sort  
diffWorkDir/jar1/$class);
+   %deprecated = getDeprecated($jar1, $class);
+   annotateDeprecated($jar1, $class, \%deprecated, 
diffWorkDir/jar1/$class);
 }
 
 for $class (@classes2){
$class = substr($class, 0, length($class) - 7);
-   system(javap -classpath $jar2 $class | sort  
diffWorkDir/jar2/$class);
+   %deprecated = getDeprecated($jar2, $class);
+   annotateDeprecated($jar2, $class, \%deprecated, 
diffWorkDir/jar2/$class);
 }
 
 system(diff -u diffWorkDir/jar1 diffWorkDir/jar2);




svn commit: r1388669 - in /accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client: ./ impl/

2012-09-21 Thread kturner
Author: kturner
Date: Fri Sep 21 20:34:54 2012
New Revision: 1388669

URL: http://svn.apache.org/viewvc?rev=1388669view=rev
Log:
ACCUMULO-705 ACCUMULO-706 Made failed attempts to locate a tablet timeout

Added:

accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/impl/TimeoutTabletLocator.java
Modified:

accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/TimedOutException.java

accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/impl/ScannerOptions.java

accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/impl/TabletServerBatchReaderIterator.java

accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/impl/TabletServerBatchWriter.java

accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/impl/ThriftScanner.java

Modified: 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/TimedOutException.java
URL: 
http://svn.apache.org/viewvc/accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/TimedOutException.java?rev=1388669r1=1388668r2=1388669view=diff
==
--- 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/TimedOutException.java
 (original)
+++ 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/TimedOutException.java
 Fri Sep 21 20:34:54 2012
@@ -43,6 +43,11 @@ public class TimedOutException extends R
 
   }
 
+  public TimedOutException(String msg) {
+super(msg);
+this.timedoutServers = Collections.emptySet();
+  }
+
   public SetString getTimedOutSevers() {
 return Collections.unmodifiableSet(timedoutServers);
   }

Modified: 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/impl/ScannerOptions.java
URL: 
http://svn.apache.org/viewvc/accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/impl/ScannerOptions.java?rev=1388669r1=1388668r2=1388669view=diff
==
--- 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/impl/ScannerOptions.java
 (original)
+++ 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/impl/ScannerOptions.java
 Fri Sep 21 20:34:54 2012
@@ -199,6 +199,6 @@ public class ScannerOptions implements S
   
   @Override
   public long getTimeout(TimeUnit timeunit) {
-return timeOut;
+return timeunit.convert(timeOut, TimeUnit.MILLISECONDS);
   }
 }

Modified: 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/impl/TabletServerBatchReaderIterator.java
URL: 
http://svn.apache.org/viewvc/accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/impl/TabletServerBatchReaderIterator.java?rev=1388669r1=1388668r2=1388669view=diff
==
--- 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/impl/TabletServerBatchReaderIterator.java
 (original)
+++ 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/impl/TabletServerBatchReaderIterator.java
 Fri Sep 21 20:34:54 2012
@@ -101,6 +101,8 @@ public class TabletServerBatchReaderIter
   private SetString timedoutServers;
   private long timeout;
 
+  private TabletLocator locator;
+
   public interface ResultReceiver {
 void receive(ListEntryKey,Value entries);
   }
@@ -144,6 +146,8 @@ public class TabletServerBatchReaderIter
 this.options = new ScannerOptions(scannerOptions);
 resultsQueue = new ArrayBlockingQueueListEntryKey,Value(numThreads);
 
+this.locator = new 
TimeoutTabletLocator(TabletLocator.getInstance(instance, credentials, new 
Text(table)), timeout);
+
 timeoutTrackers = Collections.synchronizedMap(new 
HashMapString,TabletServerBatchReaderIterator.TimeoutTracker());
 timedoutServers = Collections.synchronizedSet(new HashSetString());
 this.timeout = timeout;
@@ -240,7 +244,7 @@ public class TabletServerBatchReaderIter
 
 MapString,MapKeyExtent,ListRange binnedRanges = new 
HashMapString,MapKeyExtent,ListRange();
 
-binRanges(TabletLocator.getInstance(instance, credentials, new 
Text(table)), ranges, binnedRanges);
+binRanges(locator, ranges, binnedRanges);
 
 doLookups(binnedRanges, receiver, columns);
   }
@@ -314,11 +318,9 @@ public class TabletServerBatchReaderIter
 for (ListRange ranges : failures.values())
   allRanges.addAll(ranges);
 
-TabletLocator tabletLocator = TabletLocator.getInstance(instance, 
credentials, new Text(table));
-
 // since the first call to binRanges clipped the ranges to within a 
tablet, we should not get only
 // bin to the set of failed tablets
-binRanges(tabletLocator, allRanges, binnedRanges);
+binRanges(locator, allRanges, binnedRanges);
 
 doLookups(binnedRanges, receiver, columns);
   }
@@ -360,8 +362,7 @@ public class TabletServerBatchReaderIter
 doLookup(tsLocation, tabletsRanges

svn commit: r1388672 - /accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/impl/ThriftScanner.java

2012-09-21 Thread kturner
Author: kturner
Date: Fri Sep 21 20:38:49 2012
New Revision: 1388672

URL: http://svn.apache.org/viewvc?rev=1388672view=rev
Log:
ACCUMULO-705 ACCUMULO-706 removed accidental checkin

Modified:

accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/impl/ThriftScanner.java

Modified: 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/impl/ThriftScanner.java
URL: 
http://svn.apache.org/viewvc/accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/impl/ThriftScanner.java?rev=1388672r1=1388671r2=1388672view=diff
==
--- 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/impl/ThriftScanner.java
 (original)
+++ 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/impl/ThriftScanner.java
 Fri Sep 21 20:38:49 2012
@@ -243,8 +243,6 @@ public class ThriftScanner {
   if ((currentTime - startTime) / 1000.0  timeOut)
 throw new ScanTimedOutException();
   
-  log.trace(((currentTime - startTime) / 1000.0) +   + timeOut);
-
   Span locateSpan = Trace.start(scan:locateTablet);
   try {
 loc = TabletLocator.getInstance(instance, credentials, 
scanState.tableName).locateTablet(scanState.startRow, scanState.skipStartRow, 
false);




svn commit: r1388707 - in /accumulo/trunk/core/src/main/java/org/apache/accumulo/core/util/shell/commands: DeleteCommand.java DeleteManyCommand.java GrepCommand.java InsertCommand.java ScanCommand.jav

2012-09-21 Thread kturner
Author: kturner
Date: Fri Sep 21 22:16:28 2012
New Revision: 1388707

URL: http://svn.apache.org/viewvc?rev=1388707view=rev
Log:
ACCUMULO-705 ACCUMULO-706 Added timeout option to shell commands that read and 
write data

Modified:

accumulo/trunk/core/src/main/java/org/apache/accumulo/core/util/shell/commands/DeleteCommand.java

accumulo/trunk/core/src/main/java/org/apache/accumulo/core/util/shell/commands/DeleteManyCommand.java

accumulo/trunk/core/src/main/java/org/apache/accumulo/core/util/shell/commands/GrepCommand.java

accumulo/trunk/core/src/main/java/org/apache/accumulo/core/util/shell/commands/InsertCommand.java

accumulo/trunk/core/src/main/java/org/apache/accumulo/core/util/shell/commands/ScanCommand.java

Modified: 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/util/shell/commands/DeleteCommand.java
URL: 
http://svn.apache.org/viewvc/accumulo/trunk/core/src/main/java/org/apache/accumulo/core/util/shell/commands/DeleteCommand.java?rev=1388707r1=1388706r2=1388707view=diff
==
--- 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/util/shell/commands/DeleteCommand.java
 (original)
+++ 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/util/shell/commands/DeleteCommand.java
 Fri Sep 21 22:16:28 2012
@@ -17,12 +17,14 @@
 package org.apache.accumulo.core.util.shell.commands;
 
 import java.io.IOException;
+import java.util.concurrent.TimeUnit;
 
 import org.apache.accumulo.core.client.AccumuloException;
 import org.apache.accumulo.core.client.AccumuloSecurityException;
 import org.apache.accumulo.core.client.BatchWriter;
 import org.apache.accumulo.core.client.BatchWriterConfig;
 import org.apache.accumulo.core.client.TableNotFoundException;
+import org.apache.accumulo.core.conf.AccumuloConfiguration;
 import org.apache.accumulo.core.data.Mutation;
 import org.apache.accumulo.core.security.ColumnVisibility;
 import 
org.apache.accumulo.core.tabletserver.thrift.ConstraintViolationException;
@@ -35,6 +37,15 @@ import org.apache.hadoop.io.Text;
 
 public class DeleteCommand extends Command {
   private Option deleteOptAuths, timestampOpt;
+  private Option timeoutOption;
+  
+  protected long getTimeout(final CommandLine cl) {
+if (cl.hasOption(timeoutOption.getLongOpt())) {
+  return 
AccumuloConfiguration.getTimeInMillis(cl.getOptionValue(timeoutOption.getLongOpt()));
+}
+
+return Long.MAX_VALUE;
+  }
   
   public int execute(final String fullCommand, final CommandLine cl, final 
Shell shellState) throws AccumuloException, AccumuloSecurityException, 
TableNotFoundException,
   IOException, ConstraintViolationException {
@@ -57,7 +68,7 @@ public class DeleteCommand extends Comma
   m.putDelete(colf, colq);
 }
 final BatchWriter bw = 
shellState.getConnector().createBatchWriter(shellState.getTableName(),
-new 
BatchWriterConfig().setMaxMemory(m.estimatedMemoryUsed()).setMaxWriteThreads(1));
+new 
BatchWriterConfig().setMaxMemory(m.estimatedMemoryUsed()).setMaxWriteThreads(1).setTimeout(getTimeout(cl),
 TimeUnit.MILLISECONDS));
 bw.addMutation(m);
 bw.close();
 return 0;
@@ -85,6 +96,11 @@ public class DeleteCommand extends Comma
 timestampOpt.setArgName(timestamp);
 o.addOption(timestampOpt);
 
+timeoutOption = new Option(null, timeout, true,
+time before insert should fail if no data is written. If no unit is 
given assumes seconds.  Units d,h,m,s,and ms are supported.  e.g. 30s or 
100ms);
+timeoutOption.setArgName(timeout);
+o.addOption(timeoutOption);
+
 return o;
   }
   

Modified: 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/util/shell/commands/DeleteManyCommand.java
URL: 
http://svn.apache.org/viewvc/accumulo/trunk/core/src/main/java/org/apache/accumulo/core/util/shell/commands/DeleteManyCommand.java?rev=1388707r1=1388706r2=1388707view=diff
==
--- 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/util/shell/commands/DeleteManyCommand.java
 (original)
+++ 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/util/shell/commands/DeleteManyCommand.java
 Fri Sep 21 22:16:28 2012
@@ -16,6 +16,8 @@
  */
 package org.apache.accumulo.core.util.shell.commands;
 
+import java.util.concurrent.TimeUnit;
+
 import org.apache.accumulo.core.client.BatchWriter;
 import org.apache.accumulo.core.client.BatchWriterConfig;
 import org.apache.accumulo.core.client.IteratorSetting;
@@ -47,11 +49,14 @@ public class DeleteManyCommand extends S
 // handle remaining optional arguments
 scanner.setRange(getRange(cl, interpeter));
 
+scanner.setTimeout(getTimeout(cl), TimeUnit.MILLISECONDS);
+
 // handle columns
 fetchColumns(cl, scanner, interpeter);
 
 // output / delete the records
-final BatchWriter writer = 
shellState.getConnector().createBatchWriter

svn commit: r1388710 - /accumulo/trunk/core/src/main/java/org/apache/accumulo/core/util/shell/commands/InsertCommand.java

2012-09-21 Thread kturner
Author: kturner
Date: Fri Sep 21 22:31:35 2012
New Revision: 1388710

URL: http://svn.apache.org/viewvc?rev=1388710view=rev
Log:
ACCUMULO-722 made shell insert always print errors

Modified:

accumulo/trunk/core/src/main/java/org/apache/accumulo/core/util/shell/commands/InsertCommand.java

Modified: 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/util/shell/commands/InsertCommand.java
URL: 
http://svn.apache.org/viewvc/accumulo/trunk/core/src/main/java/org/apache/accumulo/core/util/shell/commands/InsertCommand.java?rev=1388710r1=1388709r2=1388710view=diff
==
--- 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/util/shell/commands/InsertCommand.java
 (original)
+++ 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/util/shell/commands/InsertCommand.java
 Fri Sep 21 22:31:35 2012
@@ -93,6 +93,14 @@ public class InsertCommand extends Comma
   for (ConstraintViolationSummary cvs : 
e.getConstraintViolationSummaries()) {
 lines.add( + cvs.toString());
   }
+  
+  if (lines.size() == 0 || e.getUnknownExceptions()  0) {
+// must always print something
+lines.add(  + e.getClass().getName() +  :  + e.getMessage());
+if (e.getCause() != null)
+  lines.add(   Caused by :  + e.getCause().getClass().getName() +  
:  + e.getCause().getMessage());
+  }
+
   shellState.printLines(lines.iterator(), false);
 }
 return 0;




svn commit: r1388715 - /accumulo/branches/1.4/bin/start-server.sh

2012-09-21 Thread kturner
Author: kturner
Date: Fri Sep 21 22:53:06 2012
New Revision: 1388715

URL: http://svn.apache.org/viewvc?rev=1388715view=rev
Log:
ACCUMULO-312 fixed start-server.sh

Modified:
accumulo/branches/1.4/bin/start-server.sh

Modified: accumulo/branches/1.4/bin/start-server.sh
URL: 
http://svn.apache.org/viewvc/accumulo/branches/1.4/bin/start-server.sh?rev=1388715r1=1388714r2=1388715view=diff
==
--- accumulo/branches/1.4/bin/start-server.sh (original)
+++ accumulo/branches/1.4/bin/start-server.sh Fri Sep 21 22:53:06 2012
@@ -39,7 +39,7 @@ SLAVES=`wc -l  ${ACCUMULO_HOME}/conf/sl
 
 ip=`ifconfig | grep inet[^6] | awk '{print $2}' | sed 's/addr://' | grep -v 
0.0.0.0 | grep -v 127.0.0.1 | head -n 1`
 
-if [ $HOST == localhost -o $HOST == `hostname` -o $HOST == $ip] 
+if [ $HOST == localhost -o $HOST == `hostname` -o $HOST == $ip ] 
 then
   PID=`ps -ef | egrep ${ACCUMULO_HOME}/.*/accumulo.*.jar | grep Main 
$SERVICE | grep -v grep | awk {'print $2'} | head -1`
 else
@@ -48,7 +48,7 @@ fi
 
 if [ -z $PID ]; then
   echo Starting $LONGNAME on $HOST
-  if [ $HOST == localhost -o $HOST == `hostname` -o $HOST == $ip] 
+  if [ $HOST == localhost -o $HOST == `hostname` -o $HOST == $ip ] 
   then
 ${bin}/accumulo ${SERVICE} --address $1 
${ACCUMULO_LOG_DIR}/${SERVICE}_${LOGHOST}.out 
2${ACCUMULO_LOG_DIR}/${SERVICE}_${LOGHOST}.err  
 MAX_FILES_OPEN=`bash -c 'ulimit -n'`




svn commit: r1389463 - in /accumulo/trunk/test/compat/japi-compliance: ./ README japi-accumulo-1.4.xml japi-accumulo-1.5.xml

2012-09-24 Thread kturner
Author: kturner
Date: Mon Sep 24 16:10:41 2012
New Revision: 1389463

URL: http://svn.apache.org/viewvc?rev=1389463view=rev
Log:
ACCUMULO-765 added documentation on how to run japi-compliance

Added:
accumulo/trunk/test/compat/japi-compliance/
accumulo/trunk/test/compat/japi-compliance/README
accumulo/trunk/test/compat/japi-compliance/japi-accumulo-1.4.xml
accumulo/trunk/test/compat/japi-compliance/japi-accumulo-1.5.xml

Added: accumulo/trunk/test/compat/japi-compliance/README
URL: 
http://svn.apache.org/viewvc/accumulo/trunk/test/compat/japi-compliance/README?rev=1389463view=auto
==
--- accumulo/trunk/test/compat/japi-compliance/README (added)
+++ accumulo/trunk/test/compat/japi-compliance/README Mon Sep 24 16:10:41 2012
@@ -0,0 +1,14 @@
+There is a tool that can analyze the difference between APIs called
+japi-compliance[1]. This tool is useful for checking API compatability of
+different Accumulo versions.   To run this tool edit the xml files to specify
+the location of accumulo core jars and set the library version.  Then run the
+following command.
+
+  japi-compliance-checker.pl -skip-deprecated -old japi-accumulo-1.4.xml -new 
japi-accumulo-1.5.xml -l accumulo 
+
+
+[1]: http://ispras.linuxbase.org/index.php/Java_API_Compliance_Checker
+
+
+
+

Added: accumulo/trunk/test/compat/japi-compliance/japi-accumulo-1.4.xml
URL: 
http://svn.apache.org/viewvc/accumulo/trunk/test/compat/japi-compliance/japi-accumulo-1.4.xml?rev=1389463view=auto
==
--- accumulo/trunk/test/compat/japi-compliance/japi-accumulo-1.4.xml (added)
+++ accumulo/trunk/test/compat/japi-compliance/japi-accumulo-1.4.xml Mon Sep 24 
16:10:41 2012
@@ -0,0 +1,18 @@
+version
+  1.4.2-SNAPSHOT
+/version
+
+archives
+  CHANGEME/accumulo-core-1.4.2-SNAPSHOT.jar
+/archives
+
+skip_packages
+  org.apache.accumulo.core.client.impl
+  org.apache.accumulo.core.client.mock
+  org.apache.accumulo.core.data.thrift
+/skip_packages
+
+packages
+  org.apache.accumulo.core.client
+  org.apache.accumulo.core.data
+/packages

Added: accumulo/trunk/test/compat/japi-compliance/japi-accumulo-1.5.xml
URL: 
http://svn.apache.org/viewvc/accumulo/trunk/test/compat/japi-compliance/japi-accumulo-1.5.xml?rev=1389463view=auto
==
--- accumulo/trunk/test/compat/japi-compliance/japi-accumulo-1.5.xml (added)
+++ accumulo/trunk/test/compat/japi-compliance/japi-accumulo-1.5.xml Mon Sep 24 
16:10:41 2012
@@ -0,0 +1,19 @@
+version
+  1.5.0-SNAPSHOT
+/version
+
+archives
+  ../../../lib/accumulo-core-1.5.0-SNAPSHOT.jar
+/archives
+
+skip_packages
+  org.apache.accumulo.core.client.impl
+  org.apache.accumulo.core.client.mock
+  org.apache.accumulo.core.data.thrift
+/skip_packages
+
+packages
+  org.apache.accumulo.core.client
+  org.apache.accumulo.core.data
+/packages
+




svn commit: r1393868 - in /accumulo/branches/1.4: src/server/src/main/java/org/apache/accumulo/server/fate/ZooStore.java src/server/src/main/java/org/apache/accumulo/server/test/functional/FateStarvat

2012-10-03 Thread kturner
Author: kturner
Date: Thu Oct  4 01:27:15 2012
New Revision: 1393868

URL: http://svn.apache.org/viewvc?rev=1393868view=rev
Log:
ACCUMULO-779 fixed Fate starvation bug

Added:

accumulo/branches/1.4/src/server/src/main/java/org/apache/accumulo/server/test/functional/FateStarvationTest.java
accumulo/branches/1.4/test/system/auto/simple/fateStartvation.py   (with 
props)
Modified:

accumulo/branches/1.4/src/server/src/main/java/org/apache/accumulo/server/fate/ZooStore.java

Modified: 
accumulo/branches/1.4/src/server/src/main/java/org/apache/accumulo/server/fate/ZooStore.java
URL: 
http://svn.apache.org/viewvc/accumulo/branches/1.4/src/server/src/main/java/org/apache/accumulo/server/fate/ZooStore.java?rev=1393868r1=1393867r2=1393868view=diff
==
--- 
accumulo/branches/1.4/src/server/src/main/java/org/apache/accumulo/server/fate/ZooStore.java
 (original)
+++ 
accumulo/branches/1.4/src/server/src/main/java/org/apache/accumulo/server/fate/ZooStore.java
 Thu Oct  4 01:27:15 2012
@@ -47,6 +47,7 @@ public class ZooStoreT implements TSto
   
   private String path;
   private IZooReaderWriter zk;
+  private String lastReserved = ;
   private SetLong reserved;
   private MapLong,Long defered;
   private SecureRandom idgenerator;
@@ -123,20 +124,33 @@ public class ZooStoreT implements TSto
   events = statusChangeEvents;
 }
 
-ListString txdirs = zk.getChildren(path);
+ListString txdirs = new ArrayListString(zk.getChildren(path));
+Collections.sort(txdirs);
+
+synchronized (this) {
+  if (txdirs.size()  0  txdirs.get(txdirs.size() - 
1).compareTo(lastReserved) = 0)
+lastReserved = ;
+}
 
 for (String txdir : txdirs) {
   long tid = parseTid(txdir);
   
   synchronized (this) {
+// this check makes reserve pick up where it left off, so that it 
cycles through all as it is repeatedly called failing to do so can lead to
+// starvation where fate ops that sort higher and hold a lock are 
never reserved.
+if (txdir.compareTo(lastReserved) = 0)
+  continue;
+
 if (defered.containsKey(tid)) {
   if (defered.get(tid)  System.currentTimeMillis())
 defered.remove(tid);
   else
 continue;
 }
-if (!reserved.contains(tid))
+if (!reserved.contains(tid)) {
   reserved.add(tid);
+  lastReserved = txdir;
+}
 else
   continue;
   }

Added: 
accumulo/branches/1.4/src/server/src/main/java/org/apache/accumulo/server/test/functional/FateStarvationTest.java
URL: 
http://svn.apache.org/viewvc/accumulo/branches/1.4/src/server/src/main/java/org/apache/accumulo/server/test/functional/FateStarvationTest.java?rev=1393868view=auto
==
--- 
accumulo/branches/1.4/src/server/src/main/java/org/apache/accumulo/server/test/functional/FateStarvationTest.java
 (added)
+++ 
accumulo/branches/1.4/src/server/src/main/java/org/apache/accumulo/server/test/functional/FateStarvationTest.java
 Thu Oct  4 01:27:15 2012
@@ -0,0 +1,77 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the License); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an AS IS BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.accumulo.server.test.functional;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+import java.util.Random;
+
+import org.apache.accumulo.server.test.TestIngest;
+import org.apache.hadoop.io.Text;
+
+/**
+ * See ACCUMULO-779
+ */
+public class FateStarvationTest extends FunctionalTest {
+  
+  @Override
+  public void cleanup() throws Exception {}
+  
+  @Override
+  public MapString,String getInitialConfig() {
+return Collections.emptyMap();
+  }
+  
+  @Override
+  public ListTableSetup getTablesToCreate() {
+return Collections.emptyList();
+  }
+  
+  @Override
+  public void run() throws Exception {
+getConnector().tableOperations().create(test_ingest);
+
+getConnector().tableOperations

svn commit: r1393876 - in /accumulo/trunk: ./ core/ fate/src/main/java/org/apache/accumulo/fate/ZooStore.java server/ server/src/main/java/org/apache/accumulo/server/test/functional/FateStarvationTest

2012-10-03 Thread kturner
Author: kturner
Date: Thu Oct  4 02:00:27 2012
New Revision: 1393876

URL: http://svn.apache.org/viewvc?rev=1393876view=rev
Log:
ACCUMULO-779 fixed Fate starvation bug (merged from 1.4)

Added:

accumulo/trunk/server/src/main/java/org/apache/accumulo/server/test/functional/FateStarvationTest.java
  - copied unchanged from r1393868, 
accumulo/branches/1.4/src/server/src/main/java/org/apache/accumulo/server/test/functional/FateStarvationTest.java
accumulo/trunk/test/system/auto/simple/fateStartvation.py
  - copied unchanged from r1393868, 
accumulo/branches/1.4/test/system/auto/simple/fateStartvation.py
Modified:
accumulo/trunk/   (props changed)
accumulo/trunk/core/   (props changed)
accumulo/trunk/fate/src/main/java/org/apache/accumulo/fate/ZooStore.java   
(contents, props changed)
accumulo/trunk/server/   (props changed)
accumulo/trunk/src/   (props changed)

Propchange: accumulo/trunk/
--
  Merged /accumulo/branches/1.4:r1393868

Propchange: accumulo/trunk/core/
--
  Merged /accumulo/branches/1.4/core:r1393868

Modified: 
accumulo/trunk/fate/src/main/java/org/apache/accumulo/fate/ZooStore.java
URL: 
http://svn.apache.org/viewvc/accumulo/trunk/fate/src/main/java/org/apache/accumulo/fate/ZooStore.java?rev=1393876r1=1393875r2=1393876view=diff
==
--- accumulo/trunk/fate/src/main/java/org/apache/accumulo/fate/ZooStore.java 
(original)
+++ accumulo/trunk/fate/src/main/java/org/apache/accumulo/fate/ZooStore.java 
Thu Oct  4 02:00:27 2012
@@ -47,6 +47,7 @@ public class ZooStoreT implements TSto
   
   private String path;
   private IZooReaderWriter zk;
+  private String lastReserved = ;
   private SetLong reserved;
   private MapLong,Long defered;
   private SecureRandom idgenerator;
@@ -123,20 +124,33 @@ public class ZooStoreT implements TSto
   events = statusChangeEvents;
 }
 
-ListString txdirs = zk.getChildren(path);
+ListString txdirs = new ArrayListString(zk.getChildren(path));
+Collections.sort(txdirs);
+
+synchronized (this) {
+  if (txdirs.size()  0  txdirs.get(txdirs.size() - 
1).compareTo(lastReserved) = 0)
+lastReserved = ;
+}
 
 for (String txdir : txdirs) {
   long tid = parseTid(txdir);
   
   synchronized (this) {
+// this check makes reserve pick up where it left off, so that it 
cycles through all as it is repeatedly called failing to do so can lead to
+// starvation where fate ops that sort higher and hold a lock are 
never reserved.
+if (txdir.compareTo(lastReserved) = 0)
+  continue;
+
 if (defered.containsKey(tid)) {
   if (defered.get(tid)  System.currentTimeMillis())
 defered.remove(tid);
   else
 continue;
 }
-if (!reserved.contains(tid))
+if (!reserved.contains(tid)) {
   reserved.add(tid);
+  lastReserved = txdir;
+}
 else
   continue;
   }

Propchange: 
accumulo/trunk/fate/src/main/java/org/apache/accumulo/fate/ZooStore.java
--
--- svn:mergeinfo (added)
+++ svn:mergeinfo Thu Oct  4 02:00:27 2012
@@ -0,0 +1,16 @@
+/accumulo/branches/1.3/fate/src/main/java/org/apache/accumulo/fate/ZooStore.java:1309369,1328076,1330246,1330264,1330944,1349971,1354669
+/accumulo/branches/1.3/src/fate/src/main/java/org/apache/accumulo/fate/ZooStore.java:1309369,1328076,1330246,1349971,1354669
+/accumulo/branches/1.4/fate/src/main/java/org/apache/accumulo/fate/ZooStore.java:1305403-1382577,1382613,1388120,1388629,1393868
+/accumulo/branches/1.4/src/fate/src/main/java/org/apache/accumulo/fate/ZooStore.java:1305403-1356900,1358206,1363430,1364778,1365213,1382566,1382923,1388120
+/accumulo/branches/1.4/src/server/src/main/java/org/apache/accumulo/server/fate/ZooStore.java:1393868
+/accumulo/branches/ACCUMULO-672/fate/src/main/java/org/apache/accumulo/fate/ZooStore.java:1357826,1357829,1357842,1357858,1358236,1359163
+/accumulo/trunk/src/fate/src/main/java/org/apache/accumulo/fate/ZooStore.java:1329425,1332224,1332278,1332347,1333047,1333070,1341000,1342373,1350779,1351691,1356400,1359721
+/incubator/accumulo/branches/1.3/fate/src/main/java/org/apache/accumulo/fate/ZooStore.java:1190280,1190413,1190420,1190427,1190500,1195622,1195625,1195629,1195635,1196044,1196054,1196057,1196071

svn commit: r1397391 - in /accumulo/trunk: ./ core/ core/src/main/java/org/apache/accumulo/core/client/impl/ core/src/main/java/org/apache/accumulo/core/util/ core/src/test/java/org/apache/accumulo/co

2012-10-11 Thread kturner
Author: kturner
Date: Fri Oct 12 00:22:14 2012
New Revision: 1397391

URL: http://svn.apache.org/viewvc?rev=1397391view=rev
Log:
ACCUMULO-806 fixed bug where a tablet location could not be found when the 
metadata table had empty tablets (merged from 1.4)

Modified:
accumulo/trunk/   (props changed)
accumulo/trunk/core/   (props changed)

accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/impl/MetadataLocationObtainer.java

accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/impl/TabletLocator.java

accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/impl/TabletLocatorImpl.java

accumulo/trunk/core/src/main/java/org/apache/accumulo/core/util/MetadataTable.java

accumulo/trunk/core/src/test/java/org/apache/accumulo/core/client/impl/TabletLocatorImplTest.java
accumulo/trunk/fate/src/main/java/org/apache/accumulo/fate/ZooStore.java   
(props changed)
accumulo/trunk/server/   (props changed)
accumulo/trunk/src/   (props changed)

Propchange: accumulo/trunk/
--
  Merged /accumulo/branches/1.4/src:r1397383
  Merged /accumulo/branches/1.4:r1397383

Propchange: accumulo/trunk/core/
--
  Merged /accumulo/branches/1.4/core:r1397383
  Merged /accumulo/branches/1.4/src/core:r1397383

Modified: 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/impl/MetadataLocationObtainer.java
URL: 
http://svn.apache.org/viewvc/accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/impl/MetadataLocationObtainer.java?rev=1397391r1=1397390r2=1397391view=diff
==
--- 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/impl/MetadataLocationObtainer.java
 (original)
+++ 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/impl/MetadataLocationObtainer.java
 Fri Oct 12 00:22:14 2012
@@ -32,6 +32,7 @@ import org.apache.accumulo.core.client.A
 import org.apache.accumulo.core.client.AccumuloSecurityException;
 import org.apache.accumulo.core.client.Instance;
 import org.apache.accumulo.core.client.impl.TabletLocator.TabletLocation;
+import org.apache.accumulo.core.client.impl.TabletLocator.TabletLocations;
 import 
org.apache.accumulo.core.client.impl.TabletLocatorImpl.TabletLocationObtainer;
 import 
org.apache.accumulo.core.client.impl.TabletServerBatchReaderIterator.ResultReceiver;
 import org.apache.accumulo.core.data.Column;
@@ -44,6 +45,7 @@ import org.apache.accumulo.core.security
 import org.apache.accumulo.core.tabletserver.thrift.NotServingTabletException;
 import org.apache.accumulo.core.util.MetadataTable;
 import org.apache.accumulo.core.util.OpTimer;
+import org.apache.accumulo.core.util.Pair;
 import org.apache.accumulo.core.util.TextUtil;
 import org.apache.hadoop.io.Text;
 import org.apache.log4j.Level;
@@ -68,12 +70,12 @@ public class MetadataLocationObtainer im
   }
   
   @Override
-  public ListTabletLocation lookupTablet(TabletLocation src, Text row, Text 
stopRow, TabletLocator parent) throws AccumuloSecurityException,
+  public TabletLocations lookupTablet(TabletLocation src, Text row, Text 
stopRow, TabletLocator parent) throws AccumuloSecurityException,
   AccumuloException {
-
-ArrayListTabletLocation list = new ArrayListTabletLocation();
-
+
 try {
+  ArrayListTabletLocation list = new ArrayListTabletLocation();
+
   OpTimer opTimer = null;
   if (log.isTraceEnabled())
 opTimer = new OpTimer(log, Level.TRACE).start(Looking up in  + 
src.tablet_extent.getTableId() +  row= + TextUtil.truncate(row) +   extent=
@@ -98,12 +100,14 @@ public class MetadataLocationObtainer im
   
   // System.out.println(results +results.keySet());
   
-  SortedMapKeyExtent,Text metadata = 
MetadataTable.getMetadataLocationEntries(results);
+  PairSortedMapKeyExtent,Text,ListKeyExtent metadata = 
MetadataTable.getMetadataLocationEntries(results);
   
-  for (EntryKeyExtent,Text entry : metadata.entrySet()) {
+  for (EntryKeyExtent,Text entry : metadata.getFirst().entrySet()) {
 list.add(new TabletLocation(entry.getKey(), 
entry.getValue().toString()));
   }
   
+  return new TabletLocations(list, metadata.getSecond());
+
 } catch (AccumuloServerException ase) {
   if (log.isTraceEnabled())
 log.trace(src.tablet_extent.getTableId() +  lookup failed,  + 
src.tablet_location +  server side exception);
@@ -118,7 +122,7 @@ public class MetadataLocationObtainer im
   parent.invalidateCache(src.tablet_location);
 }
 
-return list;
+return null;
   }
   
   @Override
@@ -161,7 +165,7 @@ public class MetadataLocationObtainer im
   throw e;
 }
 
-SortedMapKeyExtent,Text metadata = 
MetadataTable.getMetadataLocationEntries(results

svn commit: r1397921 - in /accumulo/branches/1.4/src/core/src: main/java/org/apache/accumulo/core/client/admin/ main/java/org/apache/accumulo/core/client/mock/ main/java/org/apache/accumulo/core/itera

2012-10-13 Thread kturner
Author: kturner
Date: Sat Oct 13 18:52:18 2012
New Revision: 1397921

URL: http://svn.apache.org/viewvc?rev=1397921view=rev
Log:
ACCUMULO-795 Applied patch from Drew Farris that allows mock to create tables 
w/o versioning

Modified:

accumulo/branches/1.4/src/core/src/main/java/org/apache/accumulo/core/client/admin/TableOperationsImpl.java

accumulo/branches/1.4/src/core/src/main/java/org/apache/accumulo/core/client/mock/MockTable.java

accumulo/branches/1.4/src/core/src/main/java/org/apache/accumulo/core/iterators/IteratorUtil.java

accumulo/branches/1.4/src/core/src/main/java/org/apache/accumulo/core/util/shell/commands/CreateTableCommand.java

accumulo/branches/1.4/src/core/src/test/java/org/apache/accumulo/core/client/mock/MockTableOperationsTest.java

Modified: 
accumulo/branches/1.4/src/core/src/main/java/org/apache/accumulo/core/client/admin/TableOperationsImpl.java
URL: 
http://svn.apache.org/viewvc/accumulo/branches/1.4/src/core/src/main/java/org/apache/accumulo/core/client/admin/TableOperationsImpl.java?rev=1397921r1=1397920r2=1397921view=diff
==
--- 
accumulo/branches/1.4/src/core/src/main/java/org/apache/accumulo/core/client/admin/TableOperationsImpl.java
 (original)
+++ 
accumulo/branches/1.4/src/core/src/main/java/org/apache/accumulo/core/client/admin/TableOperationsImpl.java
 Sat Oct 13 18:52:18 2012
@@ -180,11 +180,7 @@ public class TableOperationsImpl extends
 
 ListByteBuffer args = 
Arrays.asList(ByteBuffer.wrap(tableName.getBytes()), 
ByteBuffer.wrap(timeType.name().getBytes()));
 
-MapString,String opts;
-if (limitVersion) {
-  opts = IteratorUtil.generateInitialTableProperties();
-} else
-  opts = Collections.emptyMap();
+MapString,String opts = 
IteratorUtil.generateInitialTableProperties(limitVersion);
 
 try {
   doTableOperation(TableOperation.CREATE, args, opts);

Modified: 
accumulo/branches/1.4/src/core/src/main/java/org/apache/accumulo/core/client/mock/MockTable.java
URL: 
http://svn.apache.org/viewvc/accumulo/branches/1.4/src/core/src/main/java/org/apache/accumulo/core/client/mock/MockTable.java?rev=1397921r1=1397920r2=1397921view=diff
==
--- 
accumulo/branches/1.4/src/core/src/main/java/org/apache/accumulo/core/client/mock/MockTable.java
 (original)
+++ 
accumulo/branches/1.4/src/core/src/main/java/org/apache/accumulo/core/client/mock/MockTable.java
 Sat Oct 13 18:52:18 2012
@@ -86,9 +86,9 @@ public class MockTable {
   MapString,EnumSetTablePermission userPermissions = new 
HashMapString,EnumSetTablePermission();
   private TimeType timeType;
   
-  MockTable(boolean useVersions, TimeType timeType) {
+  MockTable(boolean limitVersion, TimeType timeType) {
 this.timeType = timeType;
-settings = IteratorUtil.generateInitialTableProperties();
+settings = IteratorUtil.generateInitialTableProperties(limitVersion);
 for (EntryString,String entry : 
AccumuloConfiguration.getDefaultConfiguration()) {
   String key = entry.getKey();
   if (key.startsWith(Property.TABLE_PREFIX.getKey()))

Modified: 
accumulo/branches/1.4/src/core/src/main/java/org/apache/accumulo/core/iterators/IteratorUtil.java
URL: 
http://svn.apache.org/viewvc/accumulo/branches/1.4/src/core/src/main/java/org/apache/accumulo/core/iterators/IteratorUtil.java?rev=1397921r1=1397920r2=1397921view=diff
==
--- 
accumulo/branches/1.4/src/core/src/main/java/org/apache/accumulo/core/iterators/IteratorUtil.java
 (original)
+++ 
accumulo/branches/1.4/src/core/src/main/java/org/apache/accumulo/core/iterators/IteratorUtil.java
 Sat Oct 13 18:52:18 2012
@@ -87,13 +87,22 @@ public class IteratorUtil {
 return props;
   }
   
-  public static MapString,String generateInitialTableProperties() {
+  /**
+   * Generate the initial (default) properties for a table
+   * @param limitVersion
+   *   include a VersioningIterator at priority 20 that retains a single 
version of a given K/V pair.
+   * @return A map of Table properties
+   */
+  public static MapString,String generateInitialTableProperties(boolean 
limitVersion) {
 TreeMapString,String props = new TreeMapString,String();
 
-for (IteratorScope iterScope : IteratorScope.values()) {
-  props.put(Property.TABLE_ITERATOR_PREFIX + iterScope.name() + .vers, 
20, + VersioningIterator.class.getName());
-  props.put(Property.TABLE_ITERATOR_PREFIX + iterScope.name() + 
.vers.opt.maxVersions, 1);
+if (limitVersion) {
+for (IteratorScope iterScope : IteratorScope.values()) {
+  props.put(Property.TABLE_ITERATOR_PREFIX + iterScope.name() + 
.vers, 20, + VersioningIterator.class.getName());
+  props.put(Property.TABLE_ITERATOR_PREFIX + iterScope.name() + 
.vers.opt.maxVersions, 1);
+}
 }
+
 return

svn commit: r1397936 - in /accumulo/trunk: ./ core/ core/src/main/java/org/apache/accumulo/core/client/admin/ core/src/main/java/org/apache/accumulo/core/client/mock/ core/src/main/java/org/apache/acc

2012-10-13 Thread kturner
Author: kturner
Date: Sat Oct 13 19:43:30 2012
New Revision: 1397936

URL: http://svn.apache.org/viewvc?rev=1397936view=rev
Log:
ACCUMULO-795 Applied patch from Drew Farris that allows mock to create tables 
w/o versioning (merged from 1.4)

Modified:
accumulo/trunk/   (props changed)
accumulo/trunk/core/   (props changed)

accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/admin/TableOperationsImpl.java

accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/mock/MockTable.java

accumulo/trunk/core/src/main/java/org/apache/accumulo/core/iterators/IteratorUtil.java

accumulo/trunk/core/src/main/java/org/apache/accumulo/core/util/shell/commands/CreateTableCommand.java

accumulo/trunk/core/src/test/java/org/apache/accumulo/core/client/mock/MockTableOperationsTest.java
accumulo/trunk/fate/src/main/java/org/apache/accumulo/fate/ZooStore.java   
(props changed)
accumulo/trunk/server/   (props changed)
accumulo/trunk/src/   (props changed)

Propchange: accumulo/trunk/
--
  Merged /accumulo/branches/1.4/src:r1397921
  Merged /accumulo/branches/1.4:r1397921

Propchange: accumulo/trunk/core/
--
  Merged /accumulo/branches/1.4/core:r1397921
  Merged /accumulo/branches/1.4/src/core:r1397921

Modified: 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/admin/TableOperationsImpl.java
URL: 
http://svn.apache.org/viewvc/accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/admin/TableOperationsImpl.java?rev=1397936r1=1397935r2=1397936view=diff
==
--- 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/admin/TableOperationsImpl.java
 (original)
+++ 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/admin/TableOperationsImpl.java
 Sat Oct 13 19:43:30 2012
@@ -190,11 +190,7 @@ public class TableOperationsImpl extends
 
 ListByteBuffer args = 
Arrays.asList(ByteBuffer.wrap(tableName.getBytes()), 
ByteBuffer.wrap(timeType.name().getBytes()));
 
-MapString,String opts;
-if (limitVersion) {
-  opts = IteratorUtil.generateInitialTableProperties();
-} else
-  opts = Collections.emptyMap();
+MapString,String opts = 
IteratorUtil.generateInitialTableProperties(limitVersion);
 
 try {
   doTableOperation(TableOperation.CREATE, args, opts);

Modified: 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/mock/MockTable.java
URL: 
http://svn.apache.org/viewvc/accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/mock/MockTable.java?rev=1397936r1=1397935r2=1397936view=diff
==
--- 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/mock/MockTable.java
 (original)
+++ 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/mock/MockTable.java
 Sat Oct 13 19:43:30 2012
@@ -88,9 +88,9 @@ public class MockTable {
   private TimeType timeType;
   SortedSetText splits = new TreeSetText();
   
-  MockTable(boolean useVersions, TimeType timeType) {
+  MockTable(boolean limitVersion, TimeType timeType) {
 this.timeType = timeType;
-settings = IteratorUtil.generateInitialTableProperties();
+settings = IteratorUtil.generateInitialTableProperties(limitVersion);
 for (EntryString,String entry : 
AccumuloConfiguration.getDefaultConfiguration()) {
   String key = entry.getKey();
   if (key.startsWith(Property.TABLE_PREFIX.getKey()))

Modified: 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/iterators/IteratorUtil.java
URL: 
http://svn.apache.org/viewvc/accumulo/trunk/core/src/main/java/org/apache/accumulo/core/iterators/IteratorUtil.java?rev=1397936r1=1397935r2=1397936view=diff
==
--- 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/iterators/IteratorUtil.java
 (original)
+++ 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/iterators/IteratorUtil.java
 Sat Oct 13 19:43:30 2012
@@ -63,13 +63,22 @@ public class IteratorUtil {
 
   }
   
-  public static MapString,String generateInitialTableProperties() {
+  /**
+   * Generate the initial (default) properties for a table
+   * @param limitVersion
+   *   include a VersioningIterator at priority 20 that retains a single 
version of a given K/V pair.
+   * @return A map of Table properties
+   */
+  public static MapString,String generateInitialTableProperties(boolean 
limitVersion) {
 TreeMapString,String props = new TreeMapString,String();
 
-for (IteratorScope iterScope : IteratorScope.values()) {
-  props.put(Property.TABLE_ITERATOR_PREFIX + iterScope.name() + .vers, 
20, + VersioningIterator.class.getName());
-  props.put

svn commit: r1398451 - in /accumulo/trunk/core/src: main/java/org/apache/accumulo/core/iterators/user/ main/java/org/apache/accumulo/core/util/shell/commands/ test/java/org/apache/accumulo/core/iterat

2012-10-15 Thread kturner
Author: kturner
Date: Mon Oct 15 18:56:00 2012
New Revision: 1398451

URL: http://svn.apache.org/viewvc?rev=1398451view=rev
Log:
ACCUMULO-720 Applied patch, from Chris Bennight, that adds subsequence matching 
to egrep shell command

Modified:

accumulo/trunk/core/src/main/java/org/apache/accumulo/core/iterators/user/RegExFilter.java

accumulo/trunk/core/src/main/java/org/apache/accumulo/core/util/shell/commands/EGrepCommand.java

accumulo/trunk/core/src/main/java/org/apache/accumulo/core/util/shell/commands/GrepCommand.java

accumulo/trunk/core/src/test/java/org/apache/accumulo/core/iterators/user/RegExFilterTest.java

Modified: 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/iterators/user/RegExFilter.java
URL: 
http://svn.apache.org/viewvc/accumulo/trunk/core/src/main/java/org/apache/accumulo/core/iterators/user/RegExFilter.java?rev=1398451r1=1398450r2=1398451view=diff
==
--- 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/iterators/user/RegExFilter.java
 (original)
+++ 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/iterators/user/RegExFilter.java
 Mon Oct 15 18:56:00 2012
@@ -46,12 +46,15 @@ public class RegExFilter extends Filter 
 return result;
   }
   
+  
+  
   public static final String ROW_REGEX = rowRegex;
   public static final String COLF_REGEX = colfRegex;
   public static final String COLQ_REGEX = colqRegex;
   public static final String VALUE_REGEX = valueRegex;
   public static final String OR_FIELDS = orFields;
   public static final String ENCODING = encoding;
+  public static final String MATCH_SUBSTRING = matchSubstring;
   
   public static final String ENCODING_DEFAULT = UTF-8;
   
@@ -60,6 +63,7 @@ public class RegExFilter extends Filter 
   private Matcher colqMatcher;
   private Matcher valueMatcher;
   private boolean orFields = false;
+  private boolean matchSubstring = false;
   
   private String encoding = ENCODING_DEFAULT;
   
@@ -74,7 +78,7 @@ public class RegExFilter extends Filter 
 if (matcher != null) {
   try {
 matcher.reset(new String(bs.getBackingArray(), bs.offset(), 
bs.length(), encoding));
-return matcher.matches();
+return matchSubstring ? matcher.find() : matcher.matches();
   } catch (UnsupportedEncodingException e) {
 e.printStackTrace();
   }
@@ -86,7 +90,7 @@ public class RegExFilter extends Filter 
 if (matcher != null) {
   try {
 matcher.reset(new String(data, offset, len, encoding));
-return matcher.matches();
+return matchSubstring ? matcher.find() : matcher.matches();
   } catch (UnsupportedEncodingException e) {
 e.printStackTrace();
   }
@@ -144,6 +148,12 @@ public class RegExFilter extends Filter 
   orFields = false;
 }
 
+if (options.containsKey(MATCH_SUBSTRING)) {
+   matchSubstring = Boolean.parseBoolean(options.get(MATCH_SUBSTRING));
+} else {
+   matchSubstring = false;
+}
+
 if (options.containsKey(ENCODING)) {
   encoding = options.get(ENCODING);
 }
@@ -159,6 +169,7 @@ public class RegExFilter extends Filter 
 io.addNamedOption(RegExFilter.COLQ_REGEX, regular expression on column 
qualifier);
 io.addNamedOption(RegExFilter.VALUE_REGEX, regular expression on value);
 io.addNamedOption(RegExFilter.OR_FIELDS, use OR instread of AND when 
multiple regexes given);
+io.addNamedOption(RegExFilter.MATCH_SUBSTRING, match on substrings);
 io.addNamedOption(RegExFilter.ENCODING, character encoding of byte array 
value (default is  + ENCODING_DEFAULT + ));
 return io;
   }
@@ -194,6 +205,8 @@ public class RegExFilter extends Filter 
   
   /**
* Encode the terms to match against in the iterator
+   * Same as calling setRegexs(IteratorSetting si, String rowTerm, String 
cfTerm, String cqTerm, String valueTerm, boolean orFields, boolean 
matchSubstring)
+   * with matchSubstring set to false
* 
* @param si
*  ScanIterator config to be updated
@@ -208,7 +221,28 @@ public class RegExFilter extends Filter 
* @param orFields
*  if true, any of the non-null terms can match to return the entry
*/
-  public static void setRegexs(IteratorSetting si, String rowTerm, String 
cfTerm, String cqTerm, String valueTerm, boolean orFields) {
+  public static void setRegexs(IteratorSetting si, String rowTerm, String 
cfTerm, String cqTerm, String valueTerm, boolean orFields) {  
+setRegexs(si, rowTerm, cfTerm, cqTerm, valueTerm, orFields, false);
+  }
+  
+  /**
+   * Encode the terms to match against in the iterator
+   * 
+   * @param si
+   *  ScanIterator config to be updated
+   * @param rowTerm
+   *  the pattern to match against the Key's row. Not used if null.
+   * @param cfTerm
+   *  the pattern to match against the Key's column family. Not used 
if null.
+   * @param cqTerm

svn commit: r1400976 - in /accumulo/branches/1.4/src/core/src: main/java/org/apache/accumulo/core/client/mapreduce/ test/java/org/apache/accumulo/core/client/mapreduce/

2012-10-22 Thread kturner
Author: kturner
Date: Mon Oct 22 18:08:17 2012
New Revision: 1400976

URL: http://svn.apache.org/viewvc?rev=1400976view=rev
Log:
ACCUMULO-826 ACCUMULO-507 reverted revisions 
1397700,1382923,1339308,1339223,1336322.  These changes caused map reduce jobs 
to fail if the process that started the job exited.

Modified:

accumulo/branches/1.4/src/core/src/main/java/org/apache/accumulo/core/client/mapreduce/AccumuloOutputFormat.java

accumulo/branches/1.4/src/core/src/main/java/org/apache/accumulo/core/client/mapreduce/InputFormatBase.java

accumulo/branches/1.4/src/core/src/test/java/org/apache/accumulo/core/client/mapreduce/AccumuloInputFormatTest.java

Modified: 
accumulo/branches/1.4/src/core/src/main/java/org/apache/accumulo/core/client/mapreduce/AccumuloOutputFormat.java
URL: 
http://svn.apache.org/viewvc/accumulo/branches/1.4/src/core/src/main/java/org/apache/accumulo/core/client/mapreduce/AccumuloOutputFormat.java?rev=1400976r1=1400975r2=1400976view=diff
==
--- 
accumulo/branches/1.4/src/core/src/main/java/org/apache/accumulo/core/client/mapreduce/AccumuloOutputFormat.java
 (original)
+++ 
accumulo/branches/1.4/src/core/src/main/java/org/apache/accumulo/core/client/mapreduce/AccumuloOutputFormat.java
 Mon Oct 22 18:08:17 2012
@@ -38,13 +38,6 @@ import org.apache.accumulo.core.security
 import org.apache.accumulo.core.util.ArgumentChecker;
 import org.apache.commons.codec.binary.Base64;
 import org.apache.hadoop.conf.Configuration;
-import org.apache.hadoop.filecache.DistributedCache;
-import org.apache.hadoop.fs.FSDataInputStream;
-import org.apache.hadoop.fs.FSDataOutputStream;
-import org.apache.hadoop.fs.FileSystem;
-import org.apache.hadoop.fs.Path;
-import org.apache.hadoop.fs.permission.FsAction;
-import org.apache.hadoop.fs.permission.FsPermission;
 import org.apache.hadoop.io.Text;
 import org.apache.hadoop.mapreduce.JobContext;
 import org.apache.hadoop.mapreduce.OutputCommitter;
@@ -75,7 +68,7 @@ public class AccumuloOutputFormat extend
   private static final String OUTPUT_INFO_HAS_BEEN_SET = PREFIX + 
.configured;
   private static final String INSTANCE_HAS_BEEN_SET = PREFIX + 
.instanceConfigured;
   private static final String USERNAME = PREFIX + .username;
-  private static final String PASSWORD_PATH = PREFIX + .password;
+  private static final String PASSWORD = PREFIX + .password;
   private static final String DEFAULT_TABLE_NAME = PREFIX + .defaulttable;
   
   private static final String INSTANCE_NAME = PREFIX + .instanceName;
@@ -135,28 +128,10 @@ public class AccumuloOutputFormat extend
 
 ArgumentChecker.notNull(user, passwd);
 conf.set(USERNAME, user);
+conf.set(PASSWORD, new String(Base64.encodeBase64(passwd)));
 conf.setBoolean(CREATETABLES, createTables);
 if (defaultTable != null)
   conf.set(DEFAULT_TABLE_NAME, defaultTable);
-
-try {
-  FileSystem fs = FileSystem.get(conf);
-  Path file = new Path(fs.getWorkingDirectory(), 
conf.get(mapred.job.name) + System.currentTimeMillis() + .pw);
-  conf.set(PASSWORD_PATH, file.toString());
-  FSDataOutputStream fos = fs.create(file, false);
-  fs.setPermission(file, new FsPermission(FsAction.ALL, FsAction.NONE, 
FsAction.NONE));
-  fs.deleteOnExit(file);
-  
-  byte[] encodedPw = Base64.encodeBase64(passwd);
-  fos.writeInt(encodedPw.length);
-  fos.write(encodedPw);
-  fos.close();
-  
-  DistributedCache.addCacheFile(file.toUri(), conf);
-} catch (IOException ioe) {
-  throw new RuntimeException(ioe);
-}
-
   }
   
   /**
@@ -257,28 +232,21 @@ public class AccumuloOutputFormat extend
   }
   
   /**
-   * @throws IOException
+   * WARNING: The password is stored in the Configuration and shared with all 
MapReduce tasks; It is BASE64 encoded to provide a charset safe conversion to a
+   * string, and is not intended to be secure.
* 
* @deprecated Use {@link #getPassword(Configuration)} instead
*/
-  protected static byte[] getPassword(JobContext job) throws IOException {
+  protected static byte[] getPassword(JobContext job) {
 return getPassword(job.getConfiguration());
   }
   
   /**
-   * @throws IOException
+   * WARNING: The password is stored in the Configuration and shared with all 
MapReduce tasks; It is BASE64 encoded to provide a charset safe conversion to a
+   * string, and is not intended to be secure.
*/
-  protected static byte[] getPassword(Configuration conf) throws IOException {
-FileSystem fs = FileSystem.get(conf);
-Path file = new Path(conf.get(PASSWORD_PATH));
-
-FSDataInputStream fdis = fs.open(file);
-int length = fdis.readInt();
-byte[] encodedPassword = new byte[length];
-fdis.read(encodedPassword);
-fdis.close();
-
-return Base64.decodeBase64(encodedPassword);
+  protected static byte[] getPassword(Configuration conf) {
+return Base64.decodeBase64(conf.get

svn commit: r1401013 - /accumulo/branches/1.4/CHANGES

2012-10-22 Thread kturner
Author: kturner
Date: Mon Oct 22 19:09:38 2012
New Revision: 1401013

URL: http://svn.apache.org/viewvc?rev=1401013view=rev
Log:
ACCUMULO-819 updated changes for 1.4.2 release

Modified:
accumulo/branches/1.4/CHANGES

Modified: accumulo/branches/1.4/CHANGES
URL: 
http://svn.apache.org/viewvc/accumulo/branches/1.4/CHANGES?rev=1401013r1=1401012r2=1401013view=diff
==
--- accumulo/branches/1.4/CHANGES (original)
+++ accumulo/branches/1.4/CHANGES Mon Oct 22 19:09:38 2012
@@ -17,6 +17,7 @@ Release Notes - Apache Accumulo - Versio
 * [ACCUMULO-683] - Accumulo ignores HDFS max replication configuration
 * [ACCUMULO-719] - Failure compiling native libraries on Mac OSX 10.7.4
 * [ACCUMULO-753] - root tablet reference is not consulted during file gc
+* [ACCUMULO-764] - stack overflow when starting tablet server after recent 
java update to 1.6.0_35
 * [ACCUMULO-766] - master is leaking ZooLock objects
 * [ACCUMULO-768] - Typo in User Manual on MapReduce Analytics
 * [ACCUMULO-770] - TableLoadBalancer / DefaultLoadBalancer assigns tables 
unevenly
@@ -33,10 +34,11 @@ Release Notes - Apache Accumulo - Versio
 * [ACCUMULO-805] - stack trace in MockTableOperationsTest
 * [ACCUMULO-806] - tablet locator fails when the metadata table has empty 
sections
 * [ACCUMULO-815] - timing too tight on LargeRowTest functional test
+* [ACCUMULO-823] - /bin/start-server.sh: line 40: ifconfig: command not 
found 
+* [ACCUMULO-826] - MapReduce over accumlo fails if process that started 
job is killed
 
 ** Improvement
 * [ACCUMULO-364] - Security Policy file should be an example
-* [ACCUMULO-507] - Large amount of ranges can prevent job from kicking off
 * [ACCUMULO-663] - RegexFilter make unecessary object creations
 * [ACCUMULO-674] - Convert default log4j to use log4j date formatters
 * [ACCUMULO-752] - Add support for importDirectory to the mock instance




svn commit: r1409017 - /accumulo/trunk/core/src/main/java/org/apache/accumulo/core/data/Mutation.java

2012-11-13 Thread kturner
Author: kturner
Date: Tue Nov 13 23:05:14 2012
New Revision: 1409017

URL: http://svn.apache.org/viewvc?rev=1409017view=rev
Log:
ACCUMULO-851 modified mutation to implement documented behavior

Modified:

accumulo/trunk/core/src/main/java/org/apache/accumulo/core/data/Mutation.java

Modified: 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/data/Mutation.java
URL: 
http://svn.apache.org/viewvc/accumulo/trunk/core/src/main/java/org/apache/accumulo/core/data/Mutation.java?rev=1409017r1=1409016r2=1409017view=diff
==
--- 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/data/Mutation.java 
(original)
+++ 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/data/Mutation.java 
Tue Nov 13 23:05:14 2012
@@ -27,6 +27,7 @@ import java.util.List;
 import org.apache.accumulo.core.data.thrift.TMutation;
 import org.apache.accumulo.core.security.ColumnVisibility;
 import org.apache.accumulo.core.util.ByteBufferUtil;
+import org.apache.accumulo.core.util.TextUtil;
 import org.apache.hadoop.io.Text;
 import org.apache.hadoop.io.Writable;
 import org.apache.hadoop.io.WritableUtils;
@@ -298,6 +299,14 @@ public class Mutation implements Writabl
 entries++;
   }
   
+  private void put(CharSequence cf, CharSequence cq, byte[] cv, boolean hasts, 
long ts, boolean deleted, byte[] val) {
+put(new Text(cf.toString()), new Text(cq.toString()), cv, hasts, ts, 
deleted, val);
+  }
+  
+  private void put(CharSequence cf, CharSequence cq, byte[] cv, boolean hasts, 
long ts, boolean deleted, CharSequence val) {
+put(cf, cq, cv, hasts, ts, deleted, TextUtil.getBytes(new 
Text(val.toString(;
+  }
+
   public void put(Text columnFamily, Text columnQualifier, Value value) {
 put(columnFamily, columnQualifier, EMPTY_BYTES, false, 0l, false, 
value.get());
   }
@@ -331,51 +340,51 @@ public class Mutation implements Writabl
   }
   
   public void put(CharSequence columnFamily, CharSequence columnQualifier, 
Value value) {
-put(columnFamily.toString().getBytes(), 
columnQualifier.toString().getBytes(), EMPTY_BYTES, false, 0l, false, 
value.get());
+put(columnFamily.toString(), columnQualifier.toString(), EMPTY_BYTES, 
false, 0l, false, value.get());
   }
   
   public void put(CharSequence columnFamily, CharSequence columnQualifier, 
ColumnVisibility columnVisibility, Value value) {
-put(columnFamily.toString().getBytes(), 
columnQualifier.toString().getBytes(), columnVisibility.getExpression(), false, 
0l, false, value.get());
+put(columnFamily.toString(), columnQualifier.toString(), 
columnVisibility.getExpression(), false, 0l, false, value.get());
   }
   
   public void put(CharSequence columnFamily, CharSequence columnQualifier, 
long timestamp, Value value) {
-put(columnFamily.toString().getBytes(), 
columnQualifier.toString().getBytes(), EMPTY_BYTES, true, timestamp, false, 
value.get());
+put(columnFamily.toString(), columnQualifier.toString(), EMPTY_BYTES, 
true, timestamp, false, value.get());
   }
   
   public void put(CharSequence columnFamily, CharSequence columnQualifier, 
ColumnVisibility columnVisibility, long timestamp, Value value) {
-put(columnFamily.toString().getBytes(), 
columnQualifier.toString().getBytes(), columnVisibility.getExpression(), true, 
timestamp, false, value.get());
+put(columnFamily.toString(), columnQualifier.toString(), 
columnVisibility.getExpression(), true, timestamp, false, value.get());
   }
   
   public void putDelete(CharSequence columnFamily, CharSequence 
columnQualifier) {
-put(columnFamily.toString().getBytes(), 
columnQualifier.toString().getBytes(), EMPTY_BYTES, false, 0l, true, 
EMPTY_BYTES);
+put(columnFamily.toString(), columnQualifier.toString(), EMPTY_BYTES, 
false, 0l, true, EMPTY_BYTES);
   }
   
   public void putDelete(CharSequence columnFamily, CharSequence 
columnQualifier, ColumnVisibility columnVisibility) {
-put(columnFamily.toString().getBytes(), 
columnQualifier.toString().getBytes(), columnVisibility.getExpression(), false, 
0l, true, EMPTY_BYTES);
+put(columnFamily.toString(), columnQualifier.toString(), 
columnVisibility.getExpression(), false, 0l, true, EMPTY_BYTES);
   }
   
   public void putDelete(CharSequence columnFamily, CharSequence 
columnQualifier, long timestamp) {
-put(columnFamily.toString().getBytes(), 
columnQualifier.toString().getBytes(), EMPTY_BYTES, true, timestamp, true, 
EMPTY_BYTES);
+put(columnFamily.toString(), columnQualifier.toString(), EMPTY_BYTES, 
true, timestamp, true, EMPTY_BYTES);
   }
   
   public void putDelete(CharSequence columnFamily, CharSequence 
columnQualifier, ColumnVisibility columnVisibility, long timestamp) {
-put(columnFamily.toString().getBytes(), 
columnQualifier.toString().getBytes(), columnVisibility.getExpression(), true, 
timestamp, true, EMPTY_BYTES);
+put(columnFamily.toString(), columnQualifier.toString

svn commit: r1412374 - in /accumulo/trunk/examples/instamo: ./ src/ src/main/ src/main/java/ src/main/java/org/ src/main/java/org/apache/ src/main/java/org/apache/accumulo/ src/main/java/org/apache/ac

2012-11-21 Thread kturner
Author: kturner
Date: Thu Nov 22 00:03:42 2012
New Revision: 1412374

URL: http://svn.apache.org/viewvc?rev=1412374view=rev
Log:
ACCUMULO-14 added mini cluster example

Added:
accumulo/trunk/examples/instamo/
accumulo/trunk/examples/instamo/README.md
accumulo/trunk/examples/instamo/pom.xml
accumulo/trunk/examples/instamo/src/
accumulo/trunk/examples/instamo/src/main/
accumulo/trunk/examples/instamo/src/main/java/
accumulo/trunk/examples/instamo/src/main/java/org/
accumulo/trunk/examples/instamo/src/main/java/org/apache/
accumulo/trunk/examples/instamo/src/main/java/org/apache/accumulo/
accumulo/trunk/examples/instamo/src/main/java/org/apache/accumulo/instamo/

accumulo/trunk/examples/instamo/src/main/java/org/apache/accumulo/instamo/AccumuloApp.java
   (with props)

accumulo/trunk/examples/instamo/src/main/java/org/apache/accumulo/instamo/MapReduceExample.java
   (with props)
accumulo/trunk/examples/instamo/src/main/resources/
accumulo/trunk/examples/instamo/src/main/resources/log4j.properties
accumulo/trunk/examples/instamo/src/test/
accumulo/trunk/examples/instamo/src/test/java/
accumulo/trunk/examples/instamo/src/test/java/ExampleAccumuloUnitTest.java  
 (with props)

Added: accumulo/trunk/examples/instamo/README.md
URL: 
http://svn.apache.org/viewvc/accumulo/trunk/examples/instamo/README.md?rev=1412374view=auto
==
--- accumulo/trunk/examples/instamo/README.md (added)
+++ accumulo/trunk/examples/instamo/README.md Thu Nov 22 00:03:42 2012
@@ -0,0 +1,27 @@
+Instamo
+===
+
+Introduction
+---
+
+Instamo makes it easy to write some code and run it against a local, transient
+[Accumulo](http://accumulo.apache.org) instance in minutes.  No setup or
+installation is required.  This is possible if Java and Maven are already
+installed by following the steps below.
+
+```
+vim src/main/java/org/apache/accumulo/instamo/AccumuloApp.java
+mvn package
+```
+
+Map Reduce
+--
+
+Its possible to run local map reduce jobs against the MiniAccumuloCluster
+instance.   There is an example of this in the src directory  The following
+command will run the map reduce example.
+
+```
+mvn exec:exec
+```
+

Added: accumulo/trunk/examples/instamo/pom.xml
URL: 
http://svn.apache.org/viewvc/accumulo/trunk/examples/instamo/pom.xml?rev=1412374view=auto
==
--- accumulo/trunk/examples/instamo/pom.xml (added)
+++ accumulo/trunk/examples/instamo/pom.xml Thu Nov 22 00:03:42 2012
@@ -0,0 +1,77 @@
+?xml version=1.0?
+project xmlns=http://maven.apache.org/POM/4.0.0; 
xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance; 
xsi:schemaLocation=http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/maven-v4_0_0.xsd;
+  modelVersion4.0.0/modelVersion
+  groupIdorg.apache.accumulo/groupId
+  artifactIdinstamo/artifactId
+  packagingjar/packaging
+  version1.5.0-SNAPSHOT/version
+  nameinstamo/name
+  urlhttp://maven.apache.org/url
+  properties
+accumulo.version1.5.0-SNAPSHOT/accumulo.version
+maclassorg.apache.accumulo.instamo.MapReduceExample/maclass
+  /properties
+  dependencies
+dependency
+  groupIdjunit/groupId
+  artifactIdjunit/artifactId
+  version4.11/version
+  scopetest/scope
+/dependency
+dependency
+  groupIdorg.apache.accumulo/groupId
+  artifactIdaccumulo-core/artifactId
+  version${accumulo.version}/version
+/dependency
+dependency
+  groupIdorg.apache.accumulo/groupId
+  artifactIdaccumulo-server/artifactId
+  version${accumulo.version}/version
+/dependency
+dependency
+  groupIdorg.apache.zookeeper/groupId
+  artifactIdzookeeper/artifactId
+  version3.3.4/version
+/dependency
+dependency
+  groupIdorg.apache.hadoop/groupId
+  artifactIdhadoop-core/artifactId
+  version1.0.1/version
+/dependency
+dependency
+  groupIdcommons-io/groupId
+  artifactIdcommons-io/artifactId
+  version2.4/version
+/dependency
+dependency
+   groupIdorg.apache.accumulo/groupId
+   artifactIdaccumulo-test/artifactId
+   version${accumulo.version}/version
+/dependency
+  /dependencies
+  build
+plugins
+  plugin
+artifactIdmaven-compiler-plugin/artifactId
+version2.0.2/version
+configuration
+  source1.6/source
+  target1.6/target
+/configuration
+  /plugin
+  plugin
+groupIdorg.codehaus.mojo/groupId
+artifactIdexec-maven-plugin/artifactId
+version1.2.1/version
+configuration
+  executablejava/executable
+  arguments
+argument-classpath/argument
+classpath/
+argument${maclass}/argument
+  /arguments
+/configuration
+  /plugin
+/plugins
+  /build
+/project

Added: 
accumulo/trunk/examples/instamo

svn commit: r1413720 - /accumulo/trunk/examples/instamo/

2012-11-26 Thread kturner
Author: kturner
Date: Mon Nov 26 16:58:00 2012
New Revision: 1413720

URL: http://svn.apache.org/viewvc?rev=1413720view=rev
Log:
ACCUMULO-14 update svn ignore

Modified:
accumulo/trunk/examples/instamo/   (props changed)

Propchange: accumulo/trunk/examples/instamo/
--
--- svn:ignore (added)
+++ svn:ignore Mon Nov 26 16:58:00 2012
@@ -0,0 +1 @@
+target




svn commit: r1426414 - in /accumulo/trunk/core/src: main/java/org/apache/accumulo/core/file/rfile/BlockIndex.java main/java/org/apache/accumulo/core/file/rfile/RFile.java test/java/org/apache/accumulo

2012-12-27 Thread kturner
Author: kturner
Date: Fri Dec 28 06:31:08 2012
New Revision: 1426414

URL: http://svn.apache.org/viewvc?rev=1426414view=rev
Log:
ACCUMULO-863 reduced block index entry to just one key

Added:

accumulo/trunk/core/src/test/java/org/apache/accumulo/core/file/rfile/BlockIndexTest.java
Modified:

accumulo/trunk/core/src/main/java/org/apache/accumulo/core/file/rfile/BlockIndex.java

accumulo/trunk/core/src/main/java/org/apache/accumulo/core/file/rfile/RFile.java

Modified: 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/file/rfile/BlockIndex.java
URL: 
http://svn.apache.org/viewvc/accumulo/trunk/core/src/main/java/org/apache/accumulo/core/file/rfile/BlockIndex.java?rev=1426414r1=1426413r2=1426414view=diff
==
--- 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/file/rfile/BlockIndex.java
 (original)
+++ 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/file/rfile/BlockIndex.java
 Fri Dec 28 06:31:08 2012
@@ -57,15 +57,13 @@ public class BlockIndex {
 
   public static class BlockIndexEntry implements ComparableBlockIndexEntry {
 
-private Key key;
 private Key prevKey;
 private int entriesLeft;
 private int pos;
 
-public BlockIndexEntry(int pos, int entriesLeft, Key key, Key prevKey) {
+public BlockIndexEntry(int pos, int entriesLeft, Key prevKey) {
   this.pos = pos;
   this.entriesLeft = entriesLeft;
-  this.key = key;
   this.prevKey = prevKey;
 }
 
@@ -73,12 +71,10 @@ public class BlockIndex {
  * @param key
  */
 public BlockIndexEntry(Key key) {
-  this.key = key;
+  this.prevKey = key;
 }
 
-public Key getKey() {
-  return key;
-}
+
 
 public int getEntriesLeft() {
   return entriesLeft;
@@ -86,12 +82,12 @@ public class BlockIndex {
 
 @Override
 public int compareTo(BlockIndexEntry o) {
-  return key.compareTo(o.key);
+  return prevKey.compareTo(o.prevKey);
 }
 
 @Override
 public String toString() {
-  return key +   + entriesLeft +   + pos;
+  return prevKey +   + entriesLeft +   + pos;
 }
 
 public Key getPrevKey() {
@@ -116,18 +112,24 @@ public class BlockIndex {
 } else {
   // found exact key in index
   index = pos;
+  while (index  0) {
+if (blockIndex[index].getPrevKey().equals(startKey))
+  index--;
+else
+  break;
+  }
 }
 
 // handle case where multiple keys in block are exactly the same, want to 
find the earliest key in the index
 while (index - 1  0) {
-  if (blockIndex[index].getKey().equals(blockIndex[index - 1].getKey()))
+  if (blockIndex[index].getPrevKey().equals(blockIndex[index - 
1].getPrevKey()))
 index--;
   else
 break;
 
 }
 
-if (index == 0  blockIndex[index].getKey().equals(startKey))
+if (index == 0  blockIndex[index].getPrevKey().equals(startKey))
   return null;
 
 BlockIndexEntry bie = blockIndex[index];
@@ -162,7 +164,7 @@ public class BlockIndex {
   val.readFields(cacheBlock);
 
   if (count  0  count % interval == 0) {
-index.add(new BlockIndexEntry(pos, indexEntry.getNumEntries() - count, 
rk.getKey(), myPrevKey));
+index.add(new BlockIndexEntry(pos, indexEntry.getNumEntries() - count, 
myPrevKey));
   }
   
   count++;
@@ -172,4 +174,8 @@ public class BlockIndex {
 
 cacheBlock.seek(0);
   }
+  
+  BlockIndexEntry[] getIndexEntries() {
+return blockIndex;
+  }
 }

Modified: 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/file/rfile/RFile.java
URL: 
http://svn.apache.org/viewvc/accumulo/trunk/core/src/main/java/org/apache/accumulo/core/file/rfile/RFile.java?rev=1426414r1=1426413r2=1426414view=diff
==
--- 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/file/rfile/RFile.java
 (original)
+++ 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/file/rfile/RFile.java
 Fri Dec 28 06:31:08 2012
@@ -751,7 +751,7 @@ public class RFile {
 // just consumed one key from the input stream, so subtract 
one from entries left
 entriesLeft = bie.getEntriesLeft() - 1;
 prevKey = new Key(bie.getPrevKey());
-currKey = bie.getKey();
+currKey = tmpRk.getKey();
   }
 }
   }

Added: 
accumulo/trunk/core/src/test/java/org/apache/accumulo/core/file/rfile/BlockIndexTest.java
URL: 
http://svn.apache.org/viewvc/accumulo/trunk/core/src/test/java/org/apache/accumulo/core/file/rfile/BlockIndexTest.java?rev=1426414view=auto
==
--- 
accumulo/trunk/core/src/test/java/org/apache/accumulo/core/file/rfile/BlockIndexTest.java
 (added)
+++ 
accumulo/trunk/core/src/test/java/org/apache

svn commit: r1428571 - /accumulo/trunk/bin/bootstrap_hdfs.sh

2013-01-03 Thread kturner
Author: kturner
Date: Thu Jan  3 20:14:18 2013
New Revision: 1428571

URL: http://svn.apache.org/viewvc?rev=1428571view=rev
Log:
ACCUMULO-865 applied patch from dave marion with sligh modifications

Added:
accumulo/trunk/bin/bootstrap_hdfs.sh   (with props)

Added: accumulo/trunk/bin/bootstrap_hdfs.sh
URL: 
http://svn.apache.org/viewvc/accumulo/trunk/bin/bootstrap_hdfs.sh?rev=1428571view=auto
==
--- accumulo/trunk/bin/bootstrap_hdfs.sh (added)
+++ accumulo/trunk/bin/bootstrap_hdfs.sh Thu Jan  3 20:14:18 2013
@@ -0,0 +1,68 @@
+#! /usr/bin/env bash
+
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the License); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an AS IS BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
+bin=`dirname $0`
+bin=`cd $bin; pwd`
+
+. $bin/config.sh
+
+#
+# Find the system context directory in HDFS
+#
+SYSTEM_CONTEXT_HDFS_DIR=`grep -A1 general.vfs.classpaths 
$ACCUMULO_HOME/conf/accumulo-site.xml | tail -1 | perl -pe 's/\s+value//; 
s/\/value//; print $ARGV[1]'`
+
+if [ -z $SYSTEM_CONTEXT_HDFS_DIR ]; then
+
+  echo Your accumulo-site.xml file is not set up for the HDFS Classloader. 
Please add the following to your accumulo-site.xml file:
+  echo 
+  echo property
+  echonamegeneral.vfs.classpaths/name
+  echovaluehdfs://host:port/dir/value
+  echodescriptionlocation of the jars for the default (system) 
context/description
+  echo /property
+  exit
+fi
+
+#
+# Create the system context directy in HDFS if it does not exist
+#
+$HADOOP_HOME/bin/hadoop fs -ls $SYSTEM_CONTEXT_HDFS_DIR   /dev/null
+if [ $? -ne 0 ]; then
+  $HADOOP_HOME/bin/hadoop fs -mkdir $SYSTEM_CONTEXT_HDFS_DIR   /dev/null
+fi
+
+#
+# Replicate to all slaves to avoid network contention on startup
+#
+NUM_SLAVES=`wc -l $ACCUMULO_HOME/conf/slaves | grep -P '^\d+(?= )' -o`
+$HADOOP_HOME/bin/hadoop fs -setrep -R $NUM_SLAVES $SYSTEM_CONTEXT_HDFS_DIR   
/dev/null
+
+#
+# Copy all jars in lib to the system context directory
+#
+hadoop fs -moveFromLocal $ACCUMULO_HOME/lib/*.jar $SYSTEM_CONTEXT_HDFS_DIR   
/dev/null
+
+#
+# We need two of the jars in lib, copy them back out and remove them from the 
system context dir
+#
+hadoop fs -copyToLocal $SYSTEM_CONTEXT_HDFS_DIR/log4j-1.2.16.jar 
$ACCUMULO_HOME/lib/.   /dev/null
+hadoop fs -rmr $SYSTEM_CONTEXT_HDFS_DIR/log4j-1.2.16.jar   /dev/null
+hadoop fs -copyToLocal $SYSTEM_CONTEXT_HDFS_DIR/commons-vfs2-2.0.jar 
$ACCUMULO_HOME/lib/.   /dev/null
+hadoop fs -rmr $SYSTEM_CONTEXT_HDFS_DIR/commons-vfs2-2.0.jar   /dev/null
+hadoop fs -copyToLocal 
$SYSTEM_CONTEXT_HDFS_DIR/accumulo-start-${ACCUMULO_VERSION}.jar 
$ACCUMULO_HOME/lib/.   /dev/null
+hadoop fs -rmr $SYSTEM_CONTEXT_HDFS_DIR/accumulo-start-${ACCUMULO_VERSION}.jar 
  /dev/null

Propchange: accumulo/trunk/bin/bootstrap_hdfs.sh
--
svn:executable = *




svn commit: r1428577 - /accumulo/trunk/bin/bootstrap_hdfs.sh

2013-01-03 Thread kturner
Author: kturner
Date: Thu Jan  3 20:34:03 2013
New Revision: 1428577

URL: http://svn.apache.org/viewvc?rev=1428577view=rev
Log:
ACCUMULO-865 adjusted replication in bootstrap script

Modified:
accumulo/trunk/bin/bootstrap_hdfs.sh

Modified: accumulo/trunk/bin/bootstrap_hdfs.sh
URL: 
http://svn.apache.org/viewvc/accumulo/trunk/bin/bootstrap_hdfs.sh?rev=1428577r1=1428576r2=1428577view=diff
==
--- accumulo/trunk/bin/bootstrap_hdfs.sh (original)
+++ accumulo/trunk/bin/bootstrap_hdfs.sh Thu Jan  3 20:34:03 2013
@@ -50,13 +50,21 @@ fi
 # Replicate to all slaves to avoid network contention on startup
 #
 NUM_SLAVES=`wc -l $ACCUMULO_HOME/conf/slaves | grep -P '^\d+(?= )' -o`
-$HADOOP_HOME/bin/hadoop fs -setrep -R $NUM_SLAVES $SYSTEM_CONTEXT_HDFS_DIR   
/dev/null
+
+#let each datanode service around 50 clients
+let REP=$NUM_SLAVES/50
+
+if [ $REP -lt 3 ]; then
+  REP=3
+fi
 
 #
 # Copy all jars in lib to the system context directory
 #
 hadoop fs -moveFromLocal $ACCUMULO_HOME/lib/*.jar $SYSTEM_CONTEXT_HDFS_DIR   
/dev/null
 
+$HADOOP_HOME/bin/hadoop fs -setrep -R $REP $SYSTEM_CONTEXT_HDFS_DIR   
/dev/null
+
 #
 # We need two of the jars in lib, copy them back out and remove them from the 
system context dir
 #




svn commit: r1428622 - /accumulo/trunk/start/src/main/java/org/apache/accumulo/start/classloader/AccumuloClassLoader.java

2013-01-03 Thread kturner
Author: kturner
Date: Thu Jan  3 21:53:06 2013
New Revision: 1428622

URL: http://svn.apache.org/viewvc?rev=1428622view=rev
Log:
ACCUMULO-708 added warning if nothing is added for a classpath entry and 
removed some screwy code I recently added

Modified:

accumulo/trunk/start/src/main/java/org/apache/accumulo/start/classloader/AccumuloClassLoader.java

Modified: 
accumulo/trunk/start/src/main/java/org/apache/accumulo/start/classloader/AccumuloClassLoader.java
URL: 
http://svn.apache.org/viewvc/accumulo/trunk/start/src/main/java/org/apache/accumulo/start/classloader/AccumuloClassLoader.java?rev=1428622r1=1428621r2=1428622view=diff
==
--- 
accumulo/trunk/start/src/main/java/org/apache/accumulo/start/classloader/AccumuloClassLoader.java
 (original)
+++ 
accumulo/trunk/start/src/main/java/org/apache/accumulo/start/classloader/AccumuloClassLoader.java
 Thu Jan  3 21:53:06 2013
@@ -61,15 +61,7 @@ public class AccumuloClassLoader {
   // accumulo home should be set
   SITE_CONF = System.getenv(ACCUMULO_HOME) + /conf/ + configFile;
 } else {
-  try {
-URL siteUrl = 
AccumuloClassLoader.getClassLoader().getResource(configFile);
-if (siteUrl != null)
-  SITE_CONF = siteUrl.toString();
-else
-  SITE_CONF = null;
-  } catch (IOException e) {
-throw new RuntimeException(e);
-  }
+  SITE_CONF = null;
 }
 
 //Register the shutdown hook
@@ -192,7 +184,11 @@ public class AccumuloClassLoader {
   if (extJars != null  extJars.length  0) {
 for (File jar : extJars)
   urls.add(jar.toURI().toURL());
+  } else {
+log.warn(ignoring classpath entry  + classpath);
   }
+} else {
+  log.warn(ignoring classpath entry  + classpath);
 }
   }
 } else {




svn commit: r1429150 - in /accumulo/trunk/start/src: main/java/org/apache/accumulo/start/classloader/vfs/ test/java/org/apache/accumulo/start/classloader/vfs/

2013-01-04 Thread kturner
Author: kturner
Date: Fri Jan  4 22:01:12 2013
New Revision: 1429150

URL: http://svn.apache.org/viewvc?rev=1429150view=rev
Log:
ACCUMULO-930 moved indirection for reloading of classloaders to a higher level

Added:

accumulo/trunk/start/src/main/java/org/apache/accumulo/start/classloader/vfs/ReloadingClassLoader.java
Modified:

accumulo/trunk/start/src/main/java/org/apache/accumulo/start/classloader/vfs/AccumuloReloadingVFSClassLoader.java

accumulo/trunk/start/src/main/java/org/apache/accumulo/start/classloader/vfs/AccumuloVFSClassLoader.java

accumulo/trunk/start/src/main/java/org/apache/accumulo/start/classloader/vfs/ContextManager.java

accumulo/trunk/start/src/test/java/org/apache/accumulo/start/classloader/vfs/AccumuloReloadingVFSClassLoaderTest.java

accumulo/trunk/start/src/test/java/org/apache/accumulo/start/classloader/vfs/AccumuloVFSClassLoaderTest.java

accumulo/trunk/start/src/test/java/org/apache/accumulo/start/classloader/vfs/ContextManagerTest.java

Modified: 
accumulo/trunk/start/src/main/java/org/apache/accumulo/start/classloader/vfs/AccumuloReloadingVFSClassLoader.java
URL: 
http://svn.apache.org/viewvc/accumulo/trunk/start/src/main/java/org/apache/accumulo/start/classloader/vfs/AccumuloReloadingVFSClassLoader.java?rev=1429150r1=1429149r2=1429150view=diff
==
--- 
accumulo/trunk/start/src/main/java/org/apache/accumulo/start/classloader/vfs/AccumuloReloadingVFSClassLoader.java
 (original)
+++ 
accumulo/trunk/start/src/main/java/org/apache/accumulo/start/classloader/vfs/AccumuloReloadingVFSClassLoader.java
 Fri Jan  4 22:01:12 2013
@@ -16,12 +16,7 @@
  */
 package org.apache.accumulo.start.classloader.vfs;
 
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.URL;
-import java.security.SecureClassLoader;
 import java.util.ArrayList;
-import java.util.Enumeration;
 
 import org.apache.commons.vfs2.FileChangeEvent;
 import org.apache.commons.vfs2.FileListener;
@@ -38,7 +33,7 @@ import org.apache.log4j.Logger;
  * the delegate object if there is any change in the classpath.
  *
  */
-public class AccumuloReloadingVFSClassLoader extends SecureClassLoader 
implements FileListener {
+public class AccumuloReloadingVFSClassLoader implements FileListener, 
ReloadingClassLoader {
   
   private static final Logger log = 
Logger.getLogger(AccumuloReloadingVFSClassLoader.class);
 
@@ -48,20 +43,16 @@ public class AccumuloReloadingVFSClassLo
   private String uris;
   private FileObject[] files;
   private FileSystemManager vfs = null;
-  private ClassLoader parent = null;
+  private ReloadingClassLoader parent = null;
   private DefaultFileMonitor monitor = null;
-  private volatile VFSClassLoader cl = null;
+  private VFSClassLoader cl = null;
 
-  private synchronized VFSClassLoader getClassloader() {
-if (cl == null) {
+  @Override
+  public synchronized ClassLoader getClassLoader() {
+if (cl == null || cl.getParent() != parent.getClassLoader()) {
   try {
 files = AccumuloVFSClassLoader.resolve(vfs, uris);
-
-if (null != parent)
-  setClassloader(new VFSClassLoader(files, vfs, parent));
-else
-  setClassloader(new VFSClassLoader(files, vfs));
-
+setClassloader(new VFSClassLoader(files, vfs, 
parent.getClassLoader()));
   } catch (FileSystemException fse) {
 throw new RuntimeException(fse);
   }
@@ -75,9 +66,8 @@ public class AccumuloReloadingVFSClassLo
 
   }
 
-  public AccumuloReloadingVFSClassLoader(String uris, FileSystemManager vfs, 
ClassLoader parent, long monitorDelay) throws FileSystemException {
-super(parent);
-
+  public AccumuloReloadingVFSClassLoader(String uris, FileSystemManager vfs, 
ReloadingClassLoader parent, long monitorDelay) throws FileSystemException {
+
 this.uris = uris;
 this.vfs = vfs;
 this.parent = parent;
@@ -85,10 +75,7 @@ public class AccumuloReloadingVFSClassLo
 ArrayListFileObject pathsToMonitor = new ArrayListFileObject();
 files = AccumuloVFSClassLoader.resolve(vfs, uris, pathsToMonitor);
 
-if (null != parent)
-  cl = new VFSClassLoader(files, vfs, parent);
-else
-  cl = new VFSClassLoader(files, vfs);
+cl = new VFSClassLoader(files, vfs, parent.getClassLoader());
 
 monitor = new DefaultFileMonitor(this);
 monitor.setDelay(monitorDelay);
@@ -100,7 +87,7 @@ public class AccumuloReloadingVFSClassLo
 monitor.start();
   }
   
-  public AccumuloReloadingVFSClassLoader(String uris, FileSystemManager vfs, 
ClassLoader parent) throws FileSystemException {
+  public AccumuloReloadingVFSClassLoader(String uris, FileSystemManager vfs, 
final ReloadingClassLoader parent) throws FileSystemException {
 this(uris, vfs, parent, DEFAULT_TIMEOUT);
   }
 
@@ -133,55 +120,7 @@ public class AccumuloReloadingVFSClassLo
 setClassloader(null);
   }
 
-  @Override
-  public Class? loadClass(String

svn commit: r1430482 - /accumulo/site/trunk/content/people.mdtext

2013-01-08 Thread kturner
Author: kturner
Date: Tue Jan  8 20:18:13 2013
New Revision: 1430482

URL: http://svn.apache.org/viewvc?rev=1430482view=rev
Log:
CMS commit to accumulo by kturner

Modified:
accumulo/site/trunk/content/people.mdtext

Modified: accumulo/site/trunk/content/people.mdtext
URL: 
http://svn.apache.org/viewvc/accumulo/site/trunk/content/people.mdtext?rev=1430482r1=1430481r2=1430482view=diff
==
--- accumulo/site/trunk/content/people.mdtext (original)
+++ accumulo/site/trunk/content/people.mdtext Tue Jan  8 20:18:13 2013
@@ -43,7 +43,7 @@ tr.contributor {
   tr class=pmctdacordova/tdtdAaron Cordova/tdtdpmc, 
committer/tdtd/td/tr
   tr class=pmctdafuchs/tdtdAdam Fuchs/tdtdpmc, 
committer/tdtd/td/tr
   tr class=pmctdbimargulies/tdtdBenson Margulies/tdtdpmc, 
committer/tdtd/td/tr
-  tr class=pmctdbillie/tdtdBillie Rinaldi/tdtdpmc, 
committer/tdtdHortonworks/td/tr
+  tr class=pmctdbillie/tdtdBillie Rinaldi/tdtdpmc, 
committer/tdtda href=http://hortonworks.com/Hortonworks/a/td/tr
   tr class=contributortd/tdtdChris 
Bennight/tdtdcontributor/tdtd/td/tr
   tr class=contributortd/tdtdChris 
McCubbin/tdtdcontributor/tdtd/td/tr
   tr class=pmctdcawaring/tdtdChris Waring/tdtdpmc, 
committer/tdtd/td/tr
@@ -53,9 +53,9 @@ tr.contributor {
   tr class=pmctdmedined/tdtdDavid Medinets/tdtdpmc, 
committer/tdtd/td/tr
   tr class=contributortd/tdtdDennis 
Patrone/tdtdcontributor/tdtd/td/tr
   tr class=pmctddrew/tdtdDrew Farris/tdtdpmc, 
committer/tdtd/td/tr
-  tr class=contributortd/tdtdEd 
Kohlwey/tdtdcontributor/tdtdBooz Allen Hamilton/td/tr
+  tr class=contributortd/tdtdEd 
Kohlwey/tdtdcontributor/tdtda href=http://www.boozallen.com/Booz 
Allen Hamilton/td/a/tr
   tr class=contributortdedwardyoon/tdtdEdward 
Yoon/tdtdcontributor/tdtd/td/tr
-  tr class=pmctdecn/tdtdEric Newton/tdtdpmc, 
committer/tdtdSW Complete, Inc./td/tr
+  tr class=pmctdecn/tdtdEric Newton/tdtdpmc, 
committer/tdtda href=http://swcomplete.com/SW Complete Inc./a/td/tr
   tr class=pmctdjtrost/tdtdJason Trost/tdtdpmc, 
committer/tdtdEndgame/td/tr
   tr class=contributortd/tdtdJay 
Shipper/tdtdcontributor/tdtd/td/tr
   tr class=contributortd/tdtdJesse 
Yates/tdtdcontributor/tdtd/td/tr
@@ -63,7 +63,7 @@ tr.contributor {
   tr class=contributortd/tdtdJoe 
Skora/tdtdcontributor/tdtd/td/tr
   tr class=pmctdvines/tdtdJohn Vines/tdtdpmc, 
committer/tdtd/td/tr
   tr class=pmctdelserj/tdtdJosh Elser/tdtdpmc, 
committer/tdtd/td/tr
-  tr class=pmctdkturner/tdtdKeith Turner/tdtdpmc, 
committer/tdtd/td/tr
+  tr class=pmctdkturner/tdtdKeith Turner/tdtdpmc, 
committer/tdtda href=http://www.ptech-llc.com/Peterson 
Technologies/a/td/tr
   tr class=contributortd/tdtdLaura 
Peaslee/tdtdcontributor/tdtd/td/tr
   tr class=contributortd/tdtdLuke 
Brassard/tdtdcontributor/tdtd/td/tr
   tr class=contributortd/tdtdMatthew 
Kirkley/tdtdcontributor/tdtd/td/tr
@@ -74,4 +74,4 @@ tr.contributor {
   tr class=contributortd/tdtdTim 
Halloran/tdtdcontributor/tdtd/td/tr
   tr class=contributortd/tdtdTravis 
Pinney/tdtdcontributor/tdtd/td/tr
   tr class=pmctdujustgotbilld/tdtdWilliam Slacum/tdtdpmc, 
committer/tdtd/td/tr
-/table
+/table
\ No newline at end of file




svn commit: r845573 - in /websites/production/accumulo/content: ./ 1.4/apidocs/

2013-01-08 Thread kturner
Author: kturner
Date: Tue Jan  8 20:20:37 2013
New Revision: 845573

Log:
Publishing svnmucc operation to accumulo site by kturner

Added:
websites/production/accumulo/content/
  - copied from r845572, websites/staging/accumulo/trunk/content/
websites/production/accumulo/content/1.4/apidocs/
  - copied from r845572, websites/production/accumulo/content/1.4/apidocs/



svn commit: r1430526 - /accumulo/site/trunk/content/people.mdtext

2013-01-08 Thread kturner
Author: kturner
Date: Tue Jan  8 20:55:26 2013
New Revision: 1430526

URL: http://svn.apache.org/viewvc?rev=1430526view=rev
Log:
CMS commit to accumulo by kturner

Modified:
accumulo/site/trunk/content/people.mdtext

Modified: accumulo/site/trunk/content/people.mdtext
URL: 
http://svn.apache.org/viewvc/accumulo/site/trunk/content/people.mdtext?rev=1430526r1=1430525r2=1430526view=diff
==
--- accumulo/site/trunk/content/people.mdtext (original)
+++ accumulo/site/trunk/content/people.mdtext Tue Jan  8 20:55:26 2013
@@ -31,10 +31,10 @@ tr.pmconly {
 tr.pmc {
   background: #FFF0FF;
 }
-tr.committer {
-  background: #F0F0FF;
+tr.odd {
+  background: #FF;
 }
-tr.contributor {
+tr.even {
   background: #F0FFF0;
 }
 /style
@@ -44,21 +44,21 @@ PMC and Committers
 
 table
   trthusername/ththname/ththorganization/ththtimezone/th/tr
-  tr class=pmctdacordova/tdtdAaron 
Cordova/tdtd/tdtd/td/tr
-  tr class=pmctdafuchs/tdtdAdam Fuchs/tdtda 
href=http://sqrrl.com/sqrrl/a/tdtd/td/tr
-  tr class=pmctdbimargulies/tdtdBenson 
Margulies/tdtd/tdtd/td/tr
-  tr class=pmctdbillie/tdtdBillie Rinaldi/tdtda 
href=http://hortonworks.com/Hortonworks/a/tdtd/td/tr
-  tr class=pmctdcawaring/tdtdChris Waring/tdtd/tdtd/td/tr
-  tr class=pmctdctubbsii/tdtdChristopher 
Tubbs/tdtd/tdtd/td/tr
-  tr class=pmctddlmarion/tdtdDave Marion/tdtd/tdtd/td/tr
-  tr class=pmctdmedined/tdtdDavid 
Medinets/tdtd/tdtd/td/tr
-  tr class=pmctddrew/tdtdDrew Farris/tdtd/tdtd/td/tr
-  tr class=pmctdecn/tdtdEric Newton/tdtda 
href=http://swcomplete.com/SW Complete Inc./a/tdtd-5/td/tr
-  tr class=pmctdjtrost/tdtdJason 
Trost/tdtdEndgame/tdtd/td/tr
-  tr class=pmctdvines/tdtdJohn Vines/tdtda 
href=http://sqrrl.com/sqrrl/a/tdtd/td/tr
-  tr class=pmctdelserj/tdtdJosh Elser/tdtd/tdtd/td/tr
-  tr class=pmctdkturner/tdtdKeith Turner/tdtda 
href=http://www.ptech-llc.com/Peterson Technologies/a/tdtd-5/td/tr
-  tr class=pmctdujustgotbilld/tdtdWilliam 
Slacum/tdtd/tdtd/td/tr
+  tr class=eventdacordova/tdtdAaron 
Cordova/tdtd/tdtd/td/tr
+  tr class=oddtdafuchs/tdtdAdam Fuchs/tdtda 
href=http://sqrrl.com/sqrrl/a/tdtd/td/tr
+  tr class=eventdbimargulies/tdtdBenson 
Margulies/tdtd/tdtd/td/tr
+  tr class=oddtdbillie/tdtdBillie Rinaldi/tdtda 
href=http://hortonworks.com/Hortonworks/a/tdtd/td/tr
+  tr class=eventdcawaring/tdtdChris 
Waring/tdtd/tdtd/td/tr
+  tr class=oddtdctubbsii/tdtdChristopher 
Tubbs/tdtd/tdtd/td/tr
+  tr class=eventddlmarion/tdtdDave Marion/tdtd/tdtd/td/tr
+  tr class=oddtdmedined/tdtdDavid 
Medinets/tdtd/tdtd/td/tr
+  tr class=eventddrew/tdtdDrew Farris/tdtd/tdtd/td/tr
+  tr class=oddtdecn/tdtdEric Newton/tdtda 
href=http://swcomplete.com/SW Complete Inc./a/tdtd-5/td/tr
+  tr class=eventdjtrost/tdtdJason 
Trost/tdtdEndgame/tdtd/td/tr
+  tr class=oddtdvines/tdtdJohn Vines/tdtda 
href=http://sqrrl.com/sqrrl/a/tdtd/td/tr
+  tr class=eventdelserj/tdtdJosh Elser/tdtd/tdtd/td/tr
+  tr class=oddtdkturner/tdtdKeith Turner/tdtda 
href=http://www.ptech-llc.com/Peterson Technologies/a/tdtd-5/td/tr
+  tr class=eventdujustgotbilld/tdtdWilliam 
Slacum/tdtd/tdtd/td/tr
 /table
 
 Contributors
@@ -66,23 +66,23 @@ Contributors
 
 table
   trthusername/ththname/ththorganization/ththtimezone/th/tr
-  tr class=contributortd/tdtdChris 
Bennight/tdtd/tdtd/td/tr
-  tr class=contributortd/tdtdChris McCubbin/tdtda 
href=http://sqrrl.com/sqrrl/a/tdtd/td/tr
-  tr class=contributortd/tdtdChristian 
Rohling/tdtd/tdtd/td/tr
-  tr class=contributortd/tdtdDennis 
Patrone/tdtd/tdtd/td/tr
-  tr class=contributortd/tdtdEd Kohlwey/tdtda 
href=http://www.boozallen.com/Booz Allen Hamilton/td/atd/td/tr
-  tr class=contributortdedwardyoon/tdtdEdward 
Yoon/tdtd/tdtd/td/tr
-  tr class=contributortd/tdtdJay Shipper/tdtd/tdtd/td/tr
-  tr class=contributortd/tdtdJesse Yates/tdtd/tdtd/td/tr
-  tr class=contributortd/tdtdJim Klucar/tdtd/tdtd/td/tr
-  tr class=contributortd/tdtdJoe Skora/tdtd/tdtd/td/tr
-  tr class=contributortd/tdtdLaura 
Peaslee/tdtd/tdtd/td/tr
-  tr class=contributortd/tdtdLuke Brassard/tdtda 
href=http://sqrrl.com/sqrrl/a/tdtd/td/tr
-  tr class=contributortd/tdtdMatthew 
Kirkley/tdtd/tdtd/td/tr
-  tr class=contributortd/tdtdMichael Wall/tdtd/tdtd/td/tr
-  tr class=contributortd/tdtdPhil Eberhardt/tdtda 
href=http://sqrrl.com/sqrrl/a/tdtd/td/tr
-  tr class=contributortd/tdtdSapah Shah/tdtd/tdtd/td/tr
-  tr class=contributortd/tdtdScott Kuehn/tdtd/tdtd/td/tr
-  tr class=contributortd/tdtdTim Halloran/tdtd/tdtd/td/tr
-  tr class=contributortd/tdtdTravis 
Pinney/tdtd/tdtd/td/tr
+  tr class=eventd/tdtdChris Bennight/tdtd/tdtd/td/tr
+  tr class=oddtd/tdtdChris McCubbin/tdtda 
href=http://sqrrl.com/sqrrl/a/tdtd/td/tr
+  tr class=eventd/tdtdChristian Rohling/tdtd/tdtd/td/tr
+  tr class=oddtd/tdtdDennis Patrone/tdtd/tdtd/td/tr
+  tr class=eventd/tdtdEd Kohlwey/tdtda 
href=http://www.boozallen.com/Booz Allen Hamilton/td/atd/td/tr
+  tr class=oddtdedwardyoon/tdtdEdward 
Yoon/tdtd/tdtd/td/tr
+  tr class=eventd

svn commit: r845590 - in /websites/production/accumulo/content: ./ 1.4/apidocs/

2013-01-08 Thread kturner
Author: kturner
Date: Tue Jan  8 20:57:16 2013
New Revision: 845590

Log:
Publishing svnmucc operation to accumulo site by kturner

Added:
websites/production/accumulo/content/
  - copied from r845589, websites/staging/accumulo/trunk/content/
websites/production/accumulo/content/1.4/apidocs/
  - copied from r845589, websites/production/accumulo/content/1.4/apidocs/



svn commit: r1431079 - in /accumulo/trunk/start/src: main/java/org/apache/accumulo/start/classloader/vfs/ main/java/org/apache/accumulo/start/classloader/vfs/providers/ main/java/org/apache/commons/vf

2013-01-09 Thread kturner
Author: kturner
Date: Wed Jan  9 21:11:26 2013
New Revision: 1431079

URL: http://svn.apache.org/viewvc?rev=1431079view=rev
Log:
ACCUMULO-927 applied patch from Dave Marion with modifications

Added:

accumulo/trunk/start/src/main/java/org/apache/accumulo/start/classloader/vfs/providers/HdfsFileAttributes.java

accumulo/trunk/start/src/main/java/org/apache/accumulo/start/classloader/vfs/providers/HdfsFileContentInfoFactory.java

accumulo/trunk/start/src/main/java/org/apache/accumulo/start/classloader/vfs/providers/HdfsFileProvider.java

accumulo/trunk/start/src/main/java/org/apache/accumulo/start/classloader/vfs/providers/HdfsFileSystem.java

accumulo/trunk/start/src/main/java/org/apache/accumulo/start/classloader/vfs/providers/HdfsRandomAccessContent.java

accumulo/trunk/start/src/main/java/org/apache/accumulo/start/classloader/vfs/providers/package.html
accumulo/trunk/start/src/main/java/org/apache/commons/vfs2/
accumulo/trunk/start/src/main/java/org/apache/commons/vfs2/provider/
accumulo/trunk/start/src/main/java/org/apache/commons/vfs2/provider/hdfs/
Removed:

accumulo/trunk/start/src/main/java/org/apache/accumulo/start/classloader/vfs/providers/HdfsReadOnlyFileContentInfoFactory.java

accumulo/trunk/start/src/main/java/org/apache/accumulo/start/classloader/vfs/providers/HdfsReadOnlyRandomAccessContent.java

accumulo/trunk/start/src/main/java/org/apache/accumulo/start/classloader/vfs/providers/ReadOnlyHdfsFileProvider.java

accumulo/trunk/start/src/main/java/org/apache/accumulo/start/classloader/vfs/providers/ReadOnlyHdfsFileSystem.java
Modified:

accumulo/trunk/start/src/main/java/org/apache/accumulo/start/classloader/vfs/AccumuloVFSClassLoader.java

accumulo/trunk/start/src/main/java/org/apache/accumulo/start/classloader/vfs/providers/HdfsFileObject.java

accumulo/trunk/start/src/main/java/org/apache/accumulo/start/classloader/vfs/providers/HdfsFileSystemConfigBuilder.java

accumulo/trunk/start/src/test/java/org/apache/accumulo/start/classloader/vfs/providers/ReadOnlyHdfsFileProviderTest.java

accumulo/trunk/start/src/test/java/org/apache/accumulo/test/AccumuloDFSBase.java

Modified: 
accumulo/trunk/start/src/main/java/org/apache/accumulo/start/classloader/vfs/AccumuloVFSClassLoader.java
URL: 
http://svn.apache.org/viewvc/accumulo/trunk/start/src/main/java/org/apache/accumulo/start/classloader/vfs/AccumuloVFSClassLoader.java?rev=1431079r1=1431078r2=1431079view=diff
==
--- 
accumulo/trunk/start/src/main/java/org/apache/accumulo/start/classloader/vfs/AccumuloVFSClassLoader.java
 (original)
+++ 
accumulo/trunk/start/src/main/java/org/apache/accumulo/start/classloader/vfs/AccumuloVFSClassLoader.java
 Wed Jan  9 21:11:26 2013
@@ -23,7 +23,7 @@ import java.util.ArrayList;
 import java.util.Collections;
 
 import org.apache.accumulo.start.classloader.AccumuloClassLoader;
-import 
org.apache.accumulo.start.classloader.vfs.providers.ReadOnlyHdfsFileProvider;
+import org.apache.accumulo.start.classloader.vfs.providers.HdfsFileProvider;
 import org.apache.commons.vfs2.CacheStrategy;
 import org.apache.commons.vfs2.FileObject;
 import org.apache.commons.vfs2.FileSystemException;
@@ -208,7 +208,7 @@ public class AccumuloVFSClassLoader {
 vfs.addProvider(tbz2, new 
org.apache.commons.vfs2.provider.tar.TarFileProvider());
 vfs.addProvider(tgz, new 
org.apache.commons.vfs2.provider.tar.TarFileProvider());
 vfs.addProvider(bz2, new 
org.apache.commons.vfs2.provider.bzip2.Bzip2FileProvider());
-vfs.addProvider(hdfs, new ReadOnlyHdfsFileProvider());
+vfs.addProvider(hdfs, new HdfsFileProvider());
 vfs.addExtensionMap(jar, jar);
 vfs.addExtensionMap(zip, zip);
 vfs.addExtensionMap(gz, gz);

Added: 
accumulo/trunk/start/src/main/java/org/apache/accumulo/start/classloader/vfs/providers/HdfsFileAttributes.java
URL: 
http://svn.apache.org/viewvc/accumulo/trunk/start/src/main/java/org/apache/accumulo/start/classloader/vfs/providers/HdfsFileAttributes.java?rev=1431079view=auto
==
--- 
accumulo/trunk/start/src/main/java/org/apache/accumulo/start/classloader/vfs/providers/HdfsFileAttributes.java
 (added)
+++ 
accumulo/trunk/start/src/main/java/org/apache/accumulo/start/classloader/vfs/providers/HdfsFileAttributes.java
 Wed Jan  9 21:11:26 2013
@@ -0,0 +1,60 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the License); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org

svn commit: r1431579 - in /accumulo/trunk/start/src/test: java/org/apache/accumulo/start/classloader/vfs/ resources/default/ resources/disabled/

2013-01-10 Thread kturner
Author: kturner
Date: Thu Jan 10 19:47:20 2013
New Revision: 1431579

URL: http://svn.apache.org/viewvc?rev=1431579view=rev
Log:
ACCUMULO-866 made some of the new VFS classloader test use local filesystem 
instead of HDFS.  This took about 20 to 30 seconds of the time it takes to 
package accumulo-start on my machine.

Removed:
accumulo/trunk/start/src/test/resources/default/
accumulo/trunk/start/src/test/resources/disabled/
Modified:

accumulo/trunk/start/src/test/java/org/apache/accumulo/start/classloader/vfs/AccumuloReloadingVFSClassLoaderTest.java

accumulo/trunk/start/src/test/java/org/apache/accumulo/start/classloader/vfs/AccumuloVFSClassLoaderTest.java

accumulo/trunk/start/src/test/java/org/apache/accumulo/start/classloader/vfs/ContextManagerTest.java

Modified: 
accumulo/trunk/start/src/test/java/org/apache/accumulo/start/classloader/vfs/AccumuloReloadingVFSClassLoaderTest.java
URL: 
http://svn.apache.org/viewvc/accumulo/trunk/start/src/test/java/org/apache/accumulo/start/classloader/vfs/AccumuloReloadingVFSClassLoaderTest.java?rev=1431579r1=1431578r2=1431579view=diff
==
--- 
accumulo/trunk/start/src/test/java/org/apache/accumulo/start/classloader/vfs/AccumuloReloadingVFSClassLoaderTest.java
 (original)
+++ 
accumulo/trunk/start/src/test/java/org/apache/accumulo/start/classloader/vfs/AccumuloReloadingVFSClassLoaderTest.java
 Thu Jan 10 19:47:20 2013
@@ -16,40 +16,34 @@
  */
 package org.apache.accumulo.start.classloader.vfs;
 
-import java.net.URL;
+import java.io.File;
 
-import org.apache.accumulo.test.AccumuloDFSBase;
+import org.apache.commons.io.FileUtils;
 import org.apache.commons.vfs2.FileObject;
 import org.apache.commons.vfs2.FileSystemException;
+import org.apache.commons.vfs2.impl.DefaultFileSystemManager;
 import org.apache.commons.vfs2.impl.VFSClassLoader;
-import org.apache.hadoop.fs.FileSystem;
-import org.apache.hadoop.fs.Path;
 import org.apache.log4j.Level;
 import org.apache.log4j.Logger;
 import org.junit.After;
 import org.junit.Assert;
 import org.junit.Before;
 import org.junit.Test;
+import org.junit.rules.TemporaryFolder;
 
-public class AccumuloReloadingVFSClassLoaderTest extends AccumuloDFSBase {
+public class AccumuloReloadingVFSClassLoaderTest {
 
-  private static final Path TEST_DIR = new Path(HDFS_URI + /test-dir);
-
-  private FileSystem hdfs = null;
+  private TemporaryFolder folder1 = new TemporaryFolder();
+  private DefaultFileSystemManager vfs;
 
   @Before
   public void setup() throws Exception {
 Logger.getRootLogger().setLevel(Level.ERROR);
 
-this.hdfs = cluster.getFileSystem();
-this.hdfs.mkdirs(TEST_DIR);
-
-//Copy jar file to TEST_DIR
-URL jarPath = this.getClass().getResource(/HelloWorld.jar);
-Path src = new Path(jarPath.toURI().toString());
-Path dst = new Path(TEST_DIR, src.getName());
-this.hdfs.copyFromLocalFile(src, dst);
+vfs = ContextManagerTest.getVFS();
 
+folder1.create();
+FileUtils.copyURLToFile(this.getClass().getResource(/HelloWorld.jar), 
folder1.newFile(HelloWorld.jar));
   }
   
   FileObject[] createFileSystems(FileObject[] fos) throws FileSystemException {
@@ -66,10 +60,10 @@ public class AccumuloReloadingVFSClassLo
 
   @Test
   public void testConstructor() throws Exception {
-FileObject testDir = vfs.resolveFile(TEST_DIR.toUri().toString());
+FileObject testDir = vfs.resolveFile(folder1.getRoot().toURI().toString());
 FileObject[] dirContents = testDir.getChildren();
 
-AccumuloReloadingVFSClassLoader arvcl = new 
AccumuloReloadingVFSClassLoader(TEST_DIR.toUri().toString(), vfs, new 
ReloadingClassLoader() {
+AccumuloReloadingVFSClassLoader arvcl = new 
AccumuloReloadingVFSClassLoader(folder1.getRoot().toURI().toString(), vfs, new 
ReloadingClassLoader() {
   @Override
   public ClassLoader getClassLoader() {
 return ClassLoader.getSystemClassLoader();
@@ -86,10 +80,10 @@ public class AccumuloReloadingVFSClassLo
   
   @Test
   public void testReloading() throws Exception {
-FileObject testDir = vfs.resolveFile(TEST_DIR.toUri().toString());
+FileObject testDir = vfs.resolveFile(folder1.getRoot().toURI().toString());
 FileObject[] dirContents = testDir.getChildren();
 
-AccumuloReloadingVFSClassLoader arvcl = new 
AccumuloReloadingVFSClassLoader(TEST_DIR.toUri().toString(), vfs, new 
ReloadingClassLoader() {
+AccumuloReloadingVFSClassLoader arvcl = new 
AccumuloReloadingVFSClassLoader(folder1.getRoot().toURI().toString(), vfs, new 
ReloadingClassLoader() {
   @Override
   public ClassLoader getClassLoader() {
 return ClassLoader.getSystemClassLoader();
@@ -107,11 +101,10 @@ public class AccumuloReloadingVFSClassLo
 Class? clazz1_5 = arvcl.getClassLoader().loadClass(test.HelloWorld);
 Assert.assertEquals(clazz1, clazz1_5);
 
-//Update the class
-URL jarPath = this.getClass

svn commit: r1432111 - in /accumulo/trunk/test/src: main/java/org/apache/accumulo/test/MiniAccumuloCluster.java test/java/org/apache/accumulo/test/MiniAccumuloClusterTest.java

2013-01-11 Thread kturner
Author: kturner
Date: Fri Jan 11 15:56:03 2013
New Revision: 1432111

URL: http://svn.apache.org/viewvc?rev=1432111view=rev
Log:
ACCUMULO-14 fixed issue with starting more than one mini accumulo cluster from 
the same jvm

Modified:

accumulo/trunk/test/src/main/java/org/apache/accumulo/test/MiniAccumuloCluster.java

accumulo/trunk/test/src/test/java/org/apache/accumulo/test/MiniAccumuloClusterTest.java

Modified: 
accumulo/trunk/test/src/main/java/org/apache/accumulo/test/MiniAccumuloCluster.java
URL: 
http://svn.apache.org/viewvc/accumulo/trunk/test/src/main/java/org/apache/accumulo/test/MiniAccumuloCluster.java?rev=1432111r1=1432110r2=1432111view=diff
==
--- 
accumulo/trunk/test/src/main/java/org/apache/accumulo/test/MiniAccumuloCluster.java
 (original)
+++ 
accumulo/trunk/test/src/main/java/org/apache/accumulo/test/MiniAccumuloCluster.java
 Fri Jan 11 15:56:03 2013
@@ -35,13 +35,10 @@ import java.util.TimerTask;
 
 import org.apache.accumulo.core.conf.Property;
 import org.apache.accumulo.core.util.UtilWaitThread;
-import org.apache.accumulo.server.conf.ServerConfiguration;
 import org.apache.accumulo.server.master.Master;
 import org.apache.accumulo.server.tabletserver.TabletServer;
 import org.apache.accumulo.server.util.Initialize;
 import org.apache.accumulo.server.util.time.SimpleTimer;
-import org.apache.log4j.Level;
-import org.apache.log4j.Logger;
 import org.apache.zookeeper.server.ZooKeeperServerMain;
 
 /**
@@ -185,21 +182,6 @@ public class MiniAccumuloCluster {
 return process;
   }
 
-  private void init() {
-
-Level prevLevel = Logger.getLogger(org.apache).getLevel();
-Logger.getLogger(org.apache).setLevel(Level.ERROR);
-
-ServerConfiguration.getSiteConfiguration().set(Property.INSTANCE_DFS_URI, 
file:///);
-ServerConfiguration.getSiteConfiguration().set(Property.INSTANCE_DFS_DIR, 
accumuloDir.getAbsolutePath());
-ServerConfiguration.getSiteConfiguration().set(Property.INSTANCE_ZK_HOST, 
localhost: + zooKeeperPort);
-ServerConfiguration.getSiteConfiguration().set(Property.INSTANCE_SECRET, 
INSTANCE_SECRET);
-
-Initialize.main(new String[] {--instance-name, INSTANCE_NAME, 
--password, rootPassword});
-
-Logger.getLogger(org.apache).setLevel(prevLevel);
-  }
-
   private void appendProp(FileWriter fileWriter, Property key, String value, 
MapString,String siteConfig) throws IOException {
 appendProp(fileWriter, key.getKey(), value, siteConfig);
   }
@@ -323,7 +305,11 @@ public class MiniAccumuloCluster {
 // sleep a little bit to let zookeeper come up before calling init, seems 
to work better
 UtilWaitThread.sleep(250);
 
-init();
+Process initProcess = exec(Initialize.class, --instance-name, 
INSTANCE_NAME, --password, rootPassword);
+int ret = initProcess.waitFor();
+if (ret != 0) {
+  throw new RuntimeException(Initialize process returned  + ret);
+}

 tabletServerProcess = exec(TabletServer.class);
 masterProcess = exec(Master.class);

Modified: 
accumulo/trunk/test/src/test/java/org/apache/accumulo/test/MiniAccumuloClusterTest.java
URL: 
http://svn.apache.org/viewvc/accumulo/trunk/test/src/test/java/org/apache/accumulo/test/MiniAccumuloClusterTest.java?rev=1432111r1=1432110r2=1432111view=diff
==
--- 
accumulo/trunk/test/src/test/java/org/apache/accumulo/test/MiniAccumuloClusterTest.java
 (original)
+++ 
accumulo/trunk/test/src/test/java/org/apache/accumulo/test/MiniAccumuloClusterTest.java
 Fri Jan 11 15:56:03 2013
@@ -38,6 +38,8 @@ import org.apache.accumulo.core.security
 import org.apache.accumulo.core.security.ColumnVisibility;
 import org.apache.accumulo.core.security.TablePermission;
 import org.apache.commons.io.FileUtils;
+import org.apache.log4j.Level;
+import org.apache.log4j.Logger;
 import org.junit.AfterClass;
 import org.junit.Assert;
 import org.junit.BeforeClass;
@@ -56,6 +58,8 @@ public class MiniAccumuloClusterTest {
 
 folder.create();
 
+Logger.getLogger(org.apache.zookeeper).setLevel(Level.WARN);
+
 accumulo = new MiniAccumuloCluster(folder.getRoot(), superSecret, new 
HashMapString,String());
 
 accumulo.start();




svn commit: r1432301 - /accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/mock/MockInstance.java

2013-01-11 Thread kturner
Author: kturner
Date: Fri Jan 11 21:53:40 2013
New Revision: 1432301

URL: http://svn.apache.org/viewvc?rev=1432301view=rev
Log:
ACCUMULO-878 added some documentation for new users to mock accumulo about mini 
accumulo cluster

Modified:

accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/mock/MockInstance.java

Modified: 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/mock/MockInstance.java
URL: 
http://svn.apache.org/viewvc/accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/mock/MockInstance.java?rev=1432301r1=1432300r2=1432301view=diff
==
--- 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/mock/MockInstance.java
 (original)
+++ 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/mock/MockInstance.java
 Fri Jan 11 21:53:40 2013
@@ -37,6 +37,17 @@ import org.apache.accumulo.core.util.Tex
 import org.apache.hadoop.fs.FileSystem;
 import org.apache.hadoop.io.Text;
 
+/**
+ * Mock Accumulo provides an in memory inmplementation of the Accumulo client 
API. Its possible that the behavior of this implementation may differ from the
+ * behavior of Accumulo. This could result in unit test that pass on Mock 
Accumulo and fail on Accumulo or visa-vera. Documenting the differences would be
+ * difficult and is not done.
+ * 
+ * p
+ * An alternative to Mock Accumulo called MiniAccumuloCluster was introduced 
in Accumulo 1.5. MiniAccumuloCluster spins up actual Accumulo server processes, 
can
+ * be used for unit testing, and its behavior should match Accumulo. The 
drawback of MiniAccumuloCluster is that its much slower than Mock Accumulo.
+ * 
+ */
+
 public class MockInstance implements Instance {
   
   static final String genericAddress = localhost:1234;




svn commit: r1433170 - /accumulo/trunk/server/src/main/java/org/apache/accumulo/server/test/continuous/GenSplits.java

2013-01-14 Thread kturner
Author: kturner
Date: Mon Jan 14 22:12:08 2013
New Revision: 1433170

URL: http://svn.apache.org/viewvc?rev=1433170view=rev
Log:
ACCUMULO-515 added min and max parameters to GenSplits

Modified:

accumulo/trunk/server/src/main/java/org/apache/accumulo/server/test/continuous/GenSplits.java

Modified: 
accumulo/trunk/server/src/main/java/org/apache/accumulo/server/test/continuous/GenSplits.java
URL: 
http://svn.apache.org/viewvc/accumulo/trunk/server/src/main/java/org/apache/accumulo/server/test/continuous/GenSplits.java?rev=1433170r1=1433169r2=1433170view=diff
==
--- 
accumulo/trunk/server/src/main/java/org/apache/accumulo/server/test/continuous/GenSplits.java
 (original)
+++ 
accumulo/trunk/server/src/main/java/org/apache/accumulo/server/test/continuous/GenSplits.java
 Mon Jan 14 22:12:08 2013
@@ -16,30 +16,65 @@
  */
 package org.apache.accumulo.server.test.continuous;
 
+import java.util.List;
+
+import com.beust.jcommander.JCommander;
+import com.beust.jcommander.Parameter;
+import com.beust.jcommander.ParameterException;
+
 /**
  * 
  */
 public class GenSplits {
+  
+  static class Opts {
+@Parameter(names = --min, description = minimum row)
+long minRow = 0;
+
+@Parameter(names = --max, description = maximum row)
+long maxRow = Long.MAX_VALUE;
+
+@Parameter(description = num tablets)
+ListString args = null;
+  }
+
   public static void main(String[] args) {
 
-if (args.length != 1) {
-  System.err.println(Usage:  + GenSplits.class.getName() +  num 
tablets);
+Opts opts = new Opts();
+JCommander jcommander = new JCommander(opts);
+jcommander.setProgramName(GenSplits.class.getSimpleName());
+
+try {
+  jcommander.parse(args);
+} catch (ParameterException pe) {
+  System.err.println(pe.getMessage());
+  jcommander.usage();
+  System.exit(-1);
+}
+
+if (opts.args == null || opts.args.size() != 1) {
+  jcommander.usage();
   System.exit(-1);
 }
 
-int numTablets = Integer.parseInt(args[0]);
+int numTablets = Integer.parseInt(opts.args.get(0));
 
 if (numTablets  1) {
   System.err.println(ERROR: numTablets  1);
   System.exit(-1);
 }
 
+if (opts.minRow = opts.maxRow) {
+  System.err.println(ERROR: min = max);
+  System.exit(-1);
+}
+
 int numSplits = numTablets - 1;
-long distance = (Long.MAX_VALUE / numTablets) + 1;
+long distance = ((opts.maxRow - opts.minRow) / numTablets) + 1;
 long split = distance;
 for (int i = 0; i  numSplits; i++) {
   
-  String s = String.format(%016x, split);
+  String s = String.format(%016x, split + opts.minRow);
   
   while (s.charAt(s.length() - 1) == '0') {
 s = s.substring(0, s.length() - 1);




svn commit: r1434696 - in /accumulo/trunk/core/src: main/java/org/apache/accumulo/core/file/rfile/RFile.java test/java/org/apache/accumulo/core/file/rfile/RFileTest.java

2013-01-17 Thread kturner
Author: kturner
Date: Thu Jan 17 14:45:57 2013
New Revision: 1434696

URL: http://svn.apache.org/viewvc?rev=1434696view=rev
Log:
ACCUMULO-962 fixed issue where rfile would read more data than it was supposed 
to.  Added unit test that reproduced the bug.

Modified:

accumulo/trunk/core/src/main/java/org/apache/accumulo/core/file/rfile/RFile.java

accumulo/trunk/core/src/test/java/org/apache/accumulo/core/file/rfile/RFileTest.java

Modified: 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/file/rfile/RFile.java
URL: 
http://svn.apache.org/viewvc/accumulo/trunk/core/src/main/java/org/apache/accumulo/core/file/rfile/RFile.java?rev=1434696r1=1434695r2=1434696view=diff
==
--- 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/file/rfile/RFile.java
 (original)
+++ 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/file/rfile/RFile.java
 Thu Jan 17 14:45:57 2013
@@ -642,6 +642,7 @@ public class RFile {
 private void _seek(Range range) throws IOException {
   
   this.range = range;
+  this.checkRange = true;
   
   if (blockCount == 0) {
 // its an empty file

Modified: 
accumulo/trunk/core/src/test/java/org/apache/accumulo/core/file/rfile/RFileTest.java
URL: 
http://svn.apache.org/viewvc/accumulo/trunk/core/src/test/java/org/apache/accumulo/core/file/rfile/RFileTest.java?rev=1434696r1=1434695r2=1434696view=diff
==
--- 
accumulo/trunk/core/src/test/java/org/apache/accumulo/core/file/rfile/RFileTest.java
 (original)
+++ 
accumulo/trunk/core/src/test/java/org/apache/accumulo/core/file/rfile/RFileTest.java
 Thu Jan 17 14:45:57 2013
@@ -28,6 +28,7 @@ import java.io.IOException;
 import java.io.InputStream;
 import java.util.ArrayList;
 import java.util.Collection;
+import java.util.Collections;
 import java.util.HashSet;
 import java.util.Iterator;
 import java.util.Random;
@@ -1442,6 +1443,63 @@ public class RFileTest {
 trf.closeReader();
   }
   
+  @Test
+  public void testReseekUnconsumed() throws Exception {
+TestRFile trf = new TestRFile();
+
+trf.openWriter();
+
+for (int i = 0; i  2500; i++) {
+  trf.writer.append(nk(nf(r_, i), cf1, cq1, L1, 42), nv(foo + 
i));
+}
+
+trf.closeWriter();
+trf.openReader();
+
+SetByteSequence cfs = Collections.emptySet();
+
+Random rand = new Random();
+
+for (int count = 0; count  100; count++) {
+  
+  int start = rand.nextInt(2300);
+  Range range = new Range(nk(nf(r_, start), cf1, cq1, L1, 42), 
nk(nf(r_, start + 100), cf1, cq1, L1, 42));
+
+  trf.reader.seek(range, cfs, false);
+  
+  int numToScan = rand.nextInt(100);
+  
+  for (int j = 0; j  numToScan; j++) {
+assertTrue(trf.reader.hasTop());
+assertEquals(nk(nf(r_, start + j), cf1, cq1, L1, 42), 
trf.reader.getTopKey());
+trf.reader.next();
+  }
+  
+  assertTrue(trf.reader.hasTop());
+  assertEquals(nk(nf(r_, start + numToScan), cf1, cq1, L1, 42), 
trf.reader.getTopKey());
+
+  // seek a little forward from the last range and read a few keys within 
the unconsumed portion of the last range
+
+  int start2 = start + numToScan + rand.nextInt(3);
+  int end2 = start2 + rand.nextInt(3);
+
+  range = new Range(nk(nf(r_, start2), cf1, cq1, L1, 42), 
nk(nf(r_, end2), cf1, cq1, L1, 42));
+  trf.reader.seek(range, cfs, false);
+  
+  for (int j = start2; j = end2; j++) {
+assertTrue(trf.reader.hasTop());
+assertEquals(nk(nf(r_, j), cf1, cq1, L1, 42), 
trf.reader.getTopKey());
+trf.reader.next();
+  }
+  
+  assertFalse(trf.reader.hasTop());
+
+}
+
+trf.closeReader();
+  }
+
+
   @Test(expected = NullPointerException.class)
   public void testMissingUnreleasedVersions() throws Exception {
 runVersionTest(5);




svn commit: r1434762 - in /accumulo/trunk/core/src: main/java/org/apache/accumulo/core/iterators/user/KeyTransformingIterator.java test/java/org/apache/accumulo/core/iterators/user/KeyTransformingIter

2013-01-17 Thread kturner
Author: kturner
Date: Thu Jan 17 16:28:48 2013
New Revision: 1434762

URL: http://svn.apache.org/viewvc?rev=1434762view=rev
Log:
ACCUMULO-956 checkin of patch from Brain Loss

Added:

accumulo/trunk/core/src/main/java/org/apache/accumulo/core/iterators/user/KeyTransformingIterator.java

accumulo/trunk/core/src/test/java/org/apache/accumulo/core/iterators/user/KeyTransformingIteratorTest.java

Added: 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/iterators/user/KeyTransformingIterator.java
URL: 
http://svn.apache.org/viewvc/accumulo/trunk/core/src/main/java/org/apache/accumulo/core/iterators/user/KeyTransformingIterator.java?rev=1434762view=auto
==
--- 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/iterators/user/KeyTransformingIterator.java
 (added)
+++ 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/iterators/user/KeyTransformingIterator.java
 Thu Jan 17 16:28:48 2013
@@ -0,0 +1,599 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the License); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an AS IS BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.accumulo.core.iterators.user;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.HashSet;
+import java.util.Map;
+
+import org.apache.accumulo.core.data.ByteSequence;
+import org.apache.accumulo.core.data.Key;
+import org.apache.accumulo.core.data.PartialKey;
+import org.apache.accumulo.core.data.Range;
+import org.apache.accumulo.core.data.Value;
+import org.apache.accumulo.core.iterators.IteratorEnvironment;
+import org.apache.accumulo.core.iterators.IteratorUtil.IteratorScope;
+import org.apache.accumulo.core.iterators.OptionDescriber;
+import org.apache.accumulo.core.iterators.SortedKeyValueIterator;
+import org.apache.accumulo.core.iterators.WrappingIterator;
+import org.apache.accumulo.core.security.Authorizations;
+import org.apache.accumulo.core.security.ColumnVisibility;
+import org.apache.accumulo.core.security.VisibilityEvaluator;
+import org.apache.accumulo.core.security.VisibilityParseException;
+import org.apache.accumulo.core.util.BadArgumentException;
+import org.apache.accumulo.core.util.Pair;
+import org.apache.commons.collections.map.LRUMap;
+import org.apache.hadoop.io.Text;
+import org.apache.log4j.Logger;
+
+/**
+ * The KeyTransformingIterator allows portions of a key (except for the row)
+ * to be transformed.  This iterator handles the details that come with 
modifying
+ * keys (i.e., that the sort order could change).  In order to do so, however,
+ * the iterator must put all keys sharing the same prefix in memory.  Prefix
+ * is defined as the parts of the key that are not modified by this iterator.
+ * That is, if the iterator modifies column qualifier and timestamp, then the
+ * prefix is row and column family.  In that case, the iterator must load all
+ * column qualifiers for each row/column family pair into memory.  Given this
+ * constraint, care must be taken by users of this iterator to ensure it is
+ * not run in such a way that will overrun memory in a tablet server.
+ * p
+ * If the implementing iterator is transforming column families, then it
+ * must also override {@link #untransformColumnFamilies(Collection)} to handle
+ * the case when column families are fetched at scan time.  The fetched column
+ * families will/must be in the transformed space, and the untransformed column
+ * families need to be passed to this iterator's source.  If it is not possible
+ * to write a reverse transformation (e.g., the column family transformation
+ * depends on the row value or something like that), then the iterator must
+ * not fetch specific column families (or only fetch column families that are
+ * known to not transform at all).
+ * p
+ * If the implementing iterator is transforming column visibilities, then
+ * users must be careful NOT to fetch column qualifiers from the scanner.
+ * The reason for this is due to ACCUMULO-??? (insert issue number).
+ * p
+ * If the implementing iterator is transforming column visibilities, then the
+ * user should be sure to supply authorizations via the {@link #AUTH_OPT}
+ * iterator option (note

svn commit: r1434881 - in /accumulo/trunk/core/src: main/java/org/apache/accumulo/core/iterators/user/KeyTransformingIterator.java test/java/org/apache/accumulo/core/iterators/user/KeyTransformingIter

2013-01-17 Thread kturner
Author: kturner
Date: Thu Jan 17 20:01:44 2013
New Revision: 1434881

URL: http://svn.apache.org/viewvc?rev=1434881view=rev
Log:
ACCUMULO-956 fixed some issues and added unit test for transforming iterator

Modified:

accumulo/trunk/core/src/main/java/org/apache/accumulo/core/iterators/user/KeyTransformingIterator.java

accumulo/trunk/core/src/test/java/org/apache/accumulo/core/iterators/user/KeyTransformingIteratorTest.java

Modified: 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/iterators/user/KeyTransformingIterator.java
URL: 
http://svn.apache.org/viewvc/accumulo/trunk/core/src/main/java/org/apache/accumulo/core/iterators/user/KeyTransformingIterator.java?rev=1434881r1=1434880r2=1434881view=diff
==
--- 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/iterators/user/KeyTransformingIterator.java
 (original)
+++ 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/iterators/user/KeyTransformingIterator.java
 Thu Jan 17 20:01:44 2013
@@ -279,26 +279,40 @@ abstract public class KeyTransformingIte
* @return {@code true} if the key is visible or iterator is not scanning, 
and {@code false} if not
*/
   protected boolean canSee(Key key) {
-// Ensure that the visibility (which could have been transformed) parses.
+// Ensure that the visibility (which could have been transformed) parses. 
Must always do this check, even if visibility is not evaluated.
 ByteSequence visibility = key.getColumnVisibilityData();
-ColumnVisibility colVis = (ColumnVisibility) 
parsedVisibilitiesCache.get(visibility);
-if (colVis == null) {
+ColumnVisibility colVis = null;
+Boolean parsed = (Boolean) parsedVisibilitiesCache.get(visibility);
+if (parsed == null) {
   try {
 colVis = new ColumnVisibility(visibility.toArray());
+parsedVisibilitiesCache.put(visibility, Boolean.TRUE);
   } catch (BadArgumentException e) {
-log.error(Transformation produced an invalid visibility:  + 
visibility);
-throw e;
+log.error(Parse error after transformation :  + visibility);
+parsedVisibilitiesCache.put(visibility, Boolean.FALSE);
+if (scanning) {
+  return false;
+} else {
+  throw e;
+}
   }
+} else if (!parsed) {
+  if (scanning)
+return false;
+  else
+throw new IllegalStateException();
 }
 
 Boolean visible = canSeeColumnFamily(key);
 
-if (!scanning || !visible || ve == null || visibleCache == null)
+if (!scanning || !visible || ve == null || visibleCache == null || 
visibility.length() == 0)
   return visible;
 
 visible = (Boolean) visibleCache.get(visibility);
 if (visible == null) {
   try {
+if (colVis == null)
+  colVis = new ColumnVisibility(visibility.toArray());
 visible = ve.evaluate(colVis);
 visibleCache.put(visibility, visible);
   } catch (VisibilityParseException e) {

Modified: 
accumulo/trunk/core/src/test/java/org/apache/accumulo/core/iterators/user/KeyTransformingIteratorTest.java
URL: 
http://svn.apache.org/viewvc/accumulo/trunk/core/src/test/java/org/apache/accumulo/core/iterators/user/KeyTransformingIteratorTest.java?rev=1434881r1=1434880r2=1434881view=diff
==
--- 
accumulo/trunk/core/src/test/java/org/apache/accumulo/core/iterators/user/KeyTransformingIteratorTest.java
 (original)
+++ 
accumulo/trunk/core/src/test/java/org/apache/accumulo/core/iterators/user/KeyTransformingIteratorTest.java
 Thu Jan 17 20:01:44 2013
@@ -16,18 +16,24 @@
  */
 package org.apache.accumulo.core.iterators.user;
 
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
 
 import java.io.IOException;
 import java.util.Arrays;
 import java.util.Collection;
+import java.util.Collections;
 import java.util.HashSet;
+import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
 import java.util.Map.Entry;
 import java.util.SortedMap;
 import java.util.TreeMap;
 
+import org.apache.accumulo.core.client.BatchScanner;
 import org.apache.accumulo.core.client.BatchWriter;
 import org.apache.accumulo.core.client.BatchWriterConfig;
 import org.apache.accumulo.core.client.Connector;
@@ -43,9 +49,9 @@ import org.apache.accumulo.core.data.Par
 import org.apache.accumulo.core.data.Range;
 import org.apache.accumulo.core.data.Value;
 import org.apache.accumulo.core.iterators.IteratorEnvironment;
+import org.apache.accumulo.core.iterators.IteratorUtil.IteratorScope;
 import org.apache.accumulo.core.iterators.SortedKeyValueIterator;
 import org.apache.accumulo.core.iterators.WrappingIterator;
-import org.apache.accumulo.core.iterators.IteratorUtil.IteratorScope

svn commit: r1434955 - in /accumulo/trunk/core/src: main/java/org/apache/accumulo/core/iterators/user/ test/java/org/apache/accumulo/core/iterators/user/

2013-01-17 Thread kturner
Author: kturner
Date: Thu Jan 17 23:17:20 2013
New Revision: 1434955

URL: http://svn.apache.org/viewvc?rev=1434955view=rev
Log:
ACCUMULO-956 generlaized transforming iterator, added some sanity checks to it, 
added some more unit test, added some static config methods

Added:

accumulo/trunk/core/src/main/java/org/apache/accumulo/core/iterators/user/TransformingIterator.java
  - copied, changed from r1434936, 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/iterators/user/KeyTransformingIterator.java

accumulo/trunk/core/src/test/java/org/apache/accumulo/core/iterators/user/TransformingIteratorTest.java
  - copied, changed from r1434936, 
accumulo/trunk/core/src/test/java/org/apache/accumulo/core/iterators/user/KeyTransformingIteratorTest.java
Removed:

accumulo/trunk/core/src/main/java/org/apache/accumulo/core/iterators/user/KeyTransformingIterator.java

accumulo/trunk/core/src/test/java/org/apache/accumulo/core/iterators/user/KeyTransformingIteratorTest.java

Copied: 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/iterators/user/TransformingIterator.java
 (from r1434936, 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/iterators/user/KeyTransformingIterator.java)
URL: 
http://svn.apache.org/viewvc/accumulo/trunk/core/src/main/java/org/apache/accumulo/core/iterators/user/TransformingIterator.java?p2=accumulo/trunk/core/src/main/java/org/apache/accumulo/core/iterators/user/TransformingIterator.javap1=accumulo/trunk/core/src/main/java/org/apache/accumulo/core/iterators/user/KeyTransformingIterator.javar1=1434936r2=1434955rev=1434955view=diff
==
--- 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/iterators/user/KeyTransformingIterator.java
 (original)
+++ 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/iterators/user/TransformingIterator.java
 Thu Jan 17 23:17:20 2013
@@ -23,7 +23,10 @@ import java.util.Collections;
 import java.util.Comparator;
 import java.util.HashSet;
 import java.util.Map;
+import java.util.NoSuchElementException;
 
+import org.apache.accumulo.core.client.IteratorSetting;
+import org.apache.accumulo.core.conf.AccumuloConfiguration;
 import org.apache.accumulo.core.data.ByteSequence;
 import org.apache.accumulo.core.data.Key;
 import org.apache.accumulo.core.data.PartialKey;
@@ -40,12 +43,13 @@ import org.apache.accumulo.core.security
 import org.apache.accumulo.core.security.VisibilityParseException;
 import org.apache.accumulo.core.util.BadArgumentException;
 import org.apache.accumulo.core.util.Pair;
+import org.apache.commons.collections.BufferOverflowException;
 import org.apache.commons.collections.map.LRUMap;
 import org.apache.hadoop.io.Text;
 import org.apache.log4j.Logger;
 
 /**
- * The KeyTransformingIterator allows portions of a key (except for the row) 
to be transformed. This iterator handles the details that come with modifying 
keys
+ * The TransformingIterator allows portions of a key (except for the row) to 
be transformed. This iterator handles the details that come with modifying keys
  * (i.e., that the sort order could change). In order to do so, however, the 
iterator must put all keys sharing the same prefix in memory. Prefix is defined 
as
  * the parts of the key that are not modified by this iterator. That is, if 
the iterator modifies column qualifier and timestamp, then the prefix is row and
  * column family. In that case, the iterator must load all column qualifiers 
for each row/column family pair into memory. Given this constraint, care must be
@@ -70,8 +74,11 @@ import org.apache.log4j.Logger;
  * major and minor compactions. It should also be noted that this iterator 
implements the security filtering rather than relying on a follow-on iterator 
to do
  * it so that we ensure the test is performed.
  */
-abstract public class KeyTransformingIterator extends WrappingIterator 
implements OptionDescriber {
+abstract public class TransformingIterator extends WrappingIterator implements 
OptionDescriber {
   public static final String AUTH_OPT = authorizations;
+  public static final String MAX_BUFFER_SIZE_OPT = maxBufferSize;
+  private static final long DEFAULT_MAX_BUFFER_SIZE = 1000;
+
   protected Logger log = Logger.getLogger(getClass());
   
   protected ArrayListPairKey,Value keys = new ArrayListPairKey,Value();
@@ -84,6 +91,7 @@ abstract public class KeyTransformingIte
   private VisibilityEvaluator ve = null;
   private LRUMap visibleCache = null;
   private LRUMap parsedVisibilitiesCache = null;
+  private long maxBufferSize;
   
   private static ComparatorPairKey,Value keyComparator = new 
ComparatorPairKey,Value() {
 @Override
@@ -92,7 +100,7 @@ abstract public class KeyTransformingIte
 }
   };
   
-  public KeyTransformingIterator() {}
+  public TransformingIterator() {}
   
   @Override
   public void init(SortedKeyValueIteratorKey,Value source, 
MapString,String options

svn commit: r1435371 [3/3] - in /accumulo/trunk: core/src/main/java/org/apache/accumulo/core/client/admin/ core/src/main/java/org/apache/accumulo/core/client/mock/ core/src/main/java/org/apache/accumu

2013-01-18 Thread kturner
Modified: 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/util/shell/Shell.java
URL: 
http://svn.apache.org/viewvc/accumulo/trunk/core/src/main/java/org/apache/accumulo/core/util/shell/Shell.java?rev=1435371r1=1435370r2=1435371view=diff
==
--- 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/util/shell/Shell.java
 (original)
+++ 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/util/shell/Shell.java
 Fri Jan 18 22:06:44 2013
@@ -104,6 +104,7 @@ import org.apache.accumulo.core.util.she
 import org.apache.accumulo.core.util.shell.commands.InfoCommand;
 import org.apache.accumulo.core.util.shell.commands.InsertCommand;
 import org.apache.accumulo.core.util.shell.commands.InterpreterCommand;
+import org.apache.accumulo.core.util.shell.commands.ListCompactionsCommand;
 import org.apache.accumulo.core.util.shell.commands.ListIterCommand;
 import org.apache.accumulo.core.util.shell.commands.ListScansCommand;
 import org.apache.accumulo.core.util.shell.commands.MaxRowCommand;
@@ -293,7 +294,7 @@ public class Shell extends ShellOptions 
 
 Command[] dataCommands = {new DeleteCommand(), new DeleteManyCommand(), 
new DeleteRowsCommand(), new EGrepCommand(), new FormatterCommand(),
 new InterpreterCommand(), new GrepCommand(), new 
ImportDirectoryCommand(), new InsertCommand(), new MaxRowCommand(), new 
ScanCommand()};
-Command[] debuggingCommands = {new ClasspathCommand(), new DebugCommand(), 
new ListScansCommand(), new TraceCommand()};
+Command[] debuggingCommands = {new ClasspathCommand(), new DebugCommand(), 
new ListScansCommand(), new ListCompactionsCommand(), new TraceCommand()};
 Command[] execCommands = {new ExecfileCommand(), new HistoryCommand()};
 Command[] exitCommands = {new ByeCommand(), new ExitCommand(), new 
QuitCommand()};
 Command[] helpCommands = {new AboutCommand(), new HelpCommand(), new 
InfoCommand(), new QuestionCommand()};

Added: 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/util/shell/commands/ActiveCompactionIterator.java
URL: 
http://svn.apache.org/viewvc/accumulo/trunk/core/src/main/java/org/apache/accumulo/core/util/shell/commands/ActiveCompactionIterator.java?rev=1435371view=auto
==
--- 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/util/shell/commands/ActiveCompactionIterator.java
 (added)
+++ 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/util/shell/commands/ActiveCompactionIterator.java
 Fri Jan 18 22:06:44 2013
@@ -0,0 +1,138 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the License); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an AS IS BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.accumulo.core.util.shell.commands;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.accumulo.core.client.IteratorSetting;
+import org.apache.accumulo.core.client.admin.ActiveCompaction;
+import org.apache.accumulo.core.client.admin.InstanceOperations;
+import org.apache.accumulo.core.util.Duration;
+
+class ActiveCompactionIterator implements IteratorString {
+  
+  private InstanceOperations instanceOps;
+  private IteratorString tsIter;
+  private IteratorString compactionIter;
+  
+  private static String maxDecimal(double count) {
+if (count  9.995)
+  return String.format(%.2f, count);
+if (count  99.95)
+  return String.format(%.1f, count);
+return String.format(%.0f, count);
+  }
+
+  private static String shortenCount(long count) {
+if (count  1000)
+  return count + ;
+if (count  100)
+  return maxDecimal(count / 1000.0) + K;
+if (count  10)
+  return maxDecimal(count / 100.0) + M;
+return maxDecimal(count / 10.0) + B;
+  }
+
+  private void readNext() {
+final ListString compactions = new ArrayListString();
+
+while (tsIter.hasNext()) {
+  
+  final String tserver = tsIter.next();
+  try {
+ListActiveCompaction acl = instanceOps.getActiveCompactions(tserver);
+
+acl = new 

svn commit: r1435383 - /accumulo/trunk/core/src/main/java/org/apache/accumulo/core/iterators/user/TransformingIterator.java

2013-01-18 Thread kturner
Author: kturner
Date: Fri Jan 18 22:38:20 2013
New Revision: 1435383

URL: http://svn.apache.org/viewvc?rev=1435383view=rev
Log:
ACCUMULO-956 applied patch from Brian Loss

Modified:

accumulo/trunk/core/src/main/java/org/apache/accumulo/core/iterators/user/TransformingIterator.java

Modified: 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/iterators/user/TransformingIterator.java
URL: 
http://svn.apache.org/viewvc/accumulo/trunk/core/src/main/java/org/apache/accumulo/core/iterators/user/TransformingIterator.java?rev=1435383r1=1435382r2=1435383view=diff
==
--- 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/iterators/user/TransformingIterator.java
 (original)
+++ 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/iterators/user/TransformingIterator.java
 Fri Jan 18 22:38:20 2013
@@ -21,6 +21,7 @@ import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Collections;
 import java.util.Comparator;
+import java.util.HashMap;
 import java.util.HashSet;
 import java.util.Map;
 import java.util.NoSuchElementException;
@@ -125,10 +126,16 @@ abstract public class TransformingIterat
   
   @Override
   public IteratorOptions describeOptions() {
-String desc = This iterator allows keys to be transformed.;
+String desc = This iterator allows ranges of key to be transformed (with 
the exception of row transformations).;
 String authDesc = Comma-separated list of user's scan authorizations.  
 + If excluded or empty, then no visibility check is performed on 
transformed keys.;
-return new IteratorOptions(getClass().getSimpleName(), desc, 
Collections.singletonMap(AUTH_OPT, authDesc), null);
+String bufferDesc = Maximum buffer size (in accumulo memory spec) to use 
for buffering keys before throwing a BufferOverflowException.   +
+   Users should keep this limit in mind when deciding what to 
transform.  That is, if transforming the column family for example, then all  +
+   keys sharing the same row and column family must fit within 
this limit (along with their associated values);
+HashMapString,String namedOptions = new HashMapString,String();
+namedOptions.put(AUTH_OPT, authDesc);
+namedOptions.put(MAX_BUFFER_SIZE_OPT, bufferDesc);
+return new IteratorOptions(getClass().getSimpleName(), desc, namedOptions, 
null);
   }
   
   @Override
@@ -166,6 +173,8 @@ abstract public class TransformingIterat
   copy.parsedVisibilitiesCache.putAll(parsedVisibilitiesCache);
 }
 
+copy.maxBufferSize = maxBufferSize;
+
 return copy;
   }
   
@@ -223,15 +232,17 @@ abstract public class TransformingIterat
 }
   }
 
-  private class RangeIterator implements SortedKeyValueIteratorKey,Value {
+  private static class RangeIterator implements 
SortedKeyValueIteratorKey,Value {
 
 private SortedKeyValueIteratorKey,Value source;
 private Key prefixKey;
+private PartialKey keyPrefix;
 private boolean hasTop = false;
 
-RangeIterator(SortedKeyValueIteratorKey,Value source, Key prefixKey) {
+RangeIterator(SortedKeyValueIteratorKey,Value source, Key prefixKey, 
PartialKey keyPrefix) {
   this.source = source;
   this.prefixKey = prefixKey;
+  this.keyPrefix = keyPrefix;
 }
 
 @Override
@@ -242,7 +253,7 @@ abstract public class TransformingIterat
 @Override
 public boolean hasTop() {
   // only have a top if the prefix matches
-  return hasTop = source.hasTop()  source.getTopKey().equals(prefixKey, 
getKeyPrefix());
+  return hasTop = source.hasTop()  source.getTopKey().equals(prefixKey, 
keyPrefix);
 }
 
 @Override
@@ -285,7 +296,7 @@ abstract public class TransformingIterat
 keys.clear();
 final Key prefixKey = super.hasTop() ? new Key(super.getTopKey()) : null;
 
-transformRange(new RangeIterator(getSource(), prefixKey), new KVBuffer() {
+transformRange(new RangeIterator(getSource(), prefixKey, getKeyPrefix()), 
new KVBuffer() {
   
   long appened = 0;
 
@@ -608,7 +619,7 @@ abstract public class TransformingIterat
   }
   
   /**
-   * Transforms {@code originalKey}. This method must not change the row part 
of the key, and must only change the parts of the key after the return value of
+   * Transforms {@code input}. This method must not change the row part of the 
key, and must only change the parts of the key after the return value of
* {@link #getKeyPrefix()}. Implementors must also remember to copy the 
delete flag from {@code originalKey} onto the new key. Or, implementors should 
use one
* of the helper methods to produce the new key. See any of the 
replaceKeyParts methods.
* 
@@ -624,7 +635,6 @@ abstract public class TransformingIterat
* @see #replaceKeyParts(Key, Text, Text)
* @see #replaceKeyParts(Key, Text, Text, Text)
*/
-  
   abstract protected void transformRange

svn commit: r1435402 - /accumulo/site/trunk/content/people.mdtext

2013-01-18 Thread kturner
Author: kturner
Date: Fri Jan 18 22:50:25 2013
New Revision: 1435402

URL: http://svn.apache.org/viewvc?rev=1435402view=rev
Log:
CMS commit to accumulo by kturner

Modified:
accumulo/site/trunk/content/people.mdtext

Modified: accumulo/site/trunk/content/people.mdtext
URL: 
http://svn.apache.org/viewvc/accumulo/site/trunk/content/people.mdtext?rev=1435402r1=1435401r2=1435402view=diff
==
--- accumulo/site/trunk/content/people.mdtext (original)
+++ accumulo/site/trunk/content/people.mdtext Fri Jan 18 22:50:25 2013
@@ -66,23 +66,24 @@ Contributors
 
 table
   trthusername/ththname/ththorganization/ththtimezone/th/tr
-  tr class=eventd/tdtdChris Bennight/tdtd/tdtd/td/tr
-  tr class=oddtd/tdtdChris McCubbin/tdtda 
href=http://sqrrl.com/sqrrl/a/tdtdET (a 
href=http://www.timeanddate.com/library/abbreviations/timezones/na/est.html-5/a
 / a 
href=http://www.timeanddate.com/library/abbreviations/timezones/na/edt.html-4/a)/td/tr
-  tr class=eventd/tdtdChristian Rohling/tdtd/tdtd/td/tr
-  tr class=oddtd/tdtdDennis Patrone/tdtda 
href=http://www.jhuapl.edu/The Johns Hopkins UniversitybrApplied Physics 
Laboratory/a/tdtdET (a 
href=http://www.timeanddate.com/library/abbreviations/timezones/na/est.html-5/a
 / a 
href=http://www.timeanddate.com/library/abbreviations/timezones/na/edt.html-4/a)/td/tr
-  tr class=eventd/tdtdEd Kohlwey/tdtda 
href=http://www.boozallen.com/Booz Allen Hamilton/td/atd/td/tr
-  tr class=oddtdedwardyoon/tdtdEdward 
Yoon/tdtd/tdtd/td/tr
-  tr class=eventd/tdtdJay Shipper/tdtd/tdtd/td/tr
-  tr class=oddtd/tdtdJesse Yates/tdtd/tdtd/td/tr
-  tr class=eventd/tdtdJim Klucar/tdtd/tdtd/td/tr
-  tr class=oddtd/tdtdJoe Skora/tdtd/tdtd/td/tr
-  tr class=eventd/tdtdLaura Peaslee/tdtd/tdtd/td/tr
-  tr class=oddtd/tdtdLuke Brassard/tdtda 
href=http://sqrrl.com/sqrrl/a/tdtdET (a 
href=http://www.timeanddate.com/library/abbreviations/timezones/na/est.html-5/a
 / a 
href=http://www.timeanddate.com/library/abbreviations/timezones/na/edt.html-4/a)/td/tr
-  tr class=eventd/tdtdMatthew Kirkley/tdtd/tdtd/td/tr
-  tr class=oddtd/tdtdMichael Wall/tdtd/tdtd/td/tr
-  tr class=eventd/tdtdPhil Eberhardt/tdtda 
href=http://sqrrl.com/sqrrl/a/tdtdET (a 
href=http://www.timeanddate.com/library/abbreviations/timezones/na/est.html-5/a
 / a 
href=http://www.timeanddate.com/library/abbreviations/timezones/na/edt.html-4/a)/td/tr
-  tr class=oddtd/tdtdSapah Shah/tdtd/tdtd/td/tr
-  tr class=eventd/tdtdScott Kuehn/tdtd/tdtd/td/tr
-  tr class=oddtd/tdtdTim Halloran/tdtd/tdtd/td/tr
-  tr class=eventd/tdtdTravis Pinney/tdtd/tdtd/td/tr
+  tr class=eventd/tdtdBrian Loss/tdtd/tdtd/td/tr
+  tr class=oddtd/tdtdChris Bennight/tdtd/tdtd/td/tr
+  tr class=eventd/tdtdChris McCubbin/tdtda 
href=http://sqrrl.com/sqrrl/a/tdtdET (a 
href=http://www.timeanddate.com/library/abbreviations/timezones/na/est.html-5/a
 / a 
href=http://www.timeanddate.com/library/abbreviations/timezones/na/edt.html-4/a)/td/tr
+  tr class=oddtd/tdtdChristian Rohling/tdtd/tdtd/td/tr
+  tr class=eventd/tdtdDennis Patrone/tdtda 
href=http://www.jhuapl.edu/The Johns Hopkins UniversitybrApplied Physics 
Laboratory/a/tdtdET (a 
href=http://www.timeanddate.com/library/abbreviations/timezones/na/est.html-5/a
 / a 
href=http://www.timeanddate.com/library/abbreviations/timezones/na/edt.html-4/a)/td/tr
+  tr class=oddtd/tdtdEd Kohlwey/tdtda 
href=http://www.boozallen.com/Booz Allen Hamilton/td/atd/td/tr
+  tr class=eventdedwardyoon/tdtdEdward 
Yoon/tdtd/tdtd/td/tr
+  tr class=oddtd/tdtdJay Shipper/tdtd/tdtd/td/tr
+  tr class=eventd/tdtdJesse Yates/tdtd/tdtd/td/tr
+  tr class=oddtd/tdtdJim Klucar/tdtd/tdtd/td/tr
+  tr class=eventd/tdtdJoe Skora/tdtd/tdtd/td/tr
+  tr class=oddtd/tdtdLaura Peaslee/tdtd/tdtd/td/tr
+  tr class=eventd/tdtdLuke Brassard/tdtda 
href=http://sqrrl.com/sqrrl/a/tdtdET (a 
href=http://www.timeanddate.com/library/abbreviations/timezones/na/est.html-5/a
 / a 
href=http://www.timeanddate.com/library/abbreviations/timezones/na/edt.html-4/a)/td/tr
+  tr class=oddtd/tdtdMatthew Kirkley/tdtd/tdtd/td/tr
+  tr class=eventd/tdtdMichael Wall/tdtd/tdtd/td/tr
+  tr class=oddtd/tdtdPhil Eberhardt/tdtda 
href=http://sqrrl.com/sqrrl/a/tdtdET (a 
href=http://www.timeanddate.com/library/abbreviations/timezones/na/est.html-5/a
 / a 
href=http://www.timeanddate.com/library/abbreviations/timezones/na/edt.html-4/a)/td/tr
+  tr class=eventd/tdtdSapah Shah/tdtd/tdtd/td/tr
+  tr class=oddtd/tdtdScott Kuehn/tdtd/tdtd/td/tr
+  tr class=eventd/tdtdTim Halloran/tdtd/tdtd/td/tr
+  tr class=oddtd/tdtdTravis Pinney/tdtd/tdtd/td/tr
 /table
\ No newline at end of file




svn commit: r847231 - in /websites/production/accumulo/content: ./ 1.4/apidocs/

2013-01-18 Thread kturner
Author: kturner
Date: Fri Jan 18 22:50:48 2013
New Revision: 847231

Log:
Publishing svnmucc operation to accumulo site by kturner

Added:
websites/production/accumulo/content/
  - copied from r847230, websites/staging/accumulo/trunk/content/
websites/production/accumulo/content/1.4/apidocs/
  - copied from r847230, websites/production/accumulo/content/1.4/apidocs/



svn commit: r1435416 - in /accumulo/trunk/core/src/main/java/org/apache/accumulo/core: client/admin/ client/mock/ util/shell/ util/shell/commands/

2013-01-18 Thread kturner
Author: kturner
Date: Fri Jan 18 23:38:08 2013
New Revision: 1435416

URL: http://svn.apache.org/viewvc?rev=1435416view=rev
Log:
ACCUMULO-513 Added API and shell command for pinging tablet servers.  

Added:

accumulo/trunk/core/src/main/java/org/apache/accumulo/core/util/shell/commands/PingCommand.java

accumulo/trunk/core/src/main/java/org/apache/accumulo/core/util/shell/commands/PingIterator.java
Modified:

accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/admin/InstanceOperations.java

accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/admin/InstanceOperationsImpl.java

accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/mock/MockInstanceOperations.java

accumulo/trunk/core/src/main/java/org/apache/accumulo/core/util/shell/Shell.java

Modified: 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/admin/InstanceOperations.java
URL: 
http://svn.apache.org/viewvc/accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/admin/InstanceOperations.java?rev=1435416r1=1435415r2=1435416view=diff
==
--- 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/admin/InstanceOperations.java
 (original)
+++ 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/admin/InstanceOperations.java
 Fri Jan 18 23:38:08 2013
@@ -90,6 +90,15 @@ public interface InstanceOperations {
   public ListActiveCompaction getActiveCompactions(String tserver) throws 
AccumuloException, AccumuloSecurityException;
 
   /**
+   * Throws an exception if a tablet server can not be contacted.
+   * 
+   * @param tserver
+   *  The tablet server address should be of the form ip 
address:port
+   * @throws AccumuloException
+   */
+  public void ping(String tserver) throws AccumuloException;
+  
+  /**
* Test to see if the instance can load the given class as the given type.
* 
* @param className

Modified: 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/admin/InstanceOperationsImpl.java
URL: 
http://svn.apache.org/viewvc/accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/admin/InstanceOperationsImpl.java?rev=1435416r1=1435415r2=1435416view=diff
==
--- 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/admin/InstanceOperationsImpl.java
 (original)
+++ 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/admin/InstanceOperationsImpl.java
 Fri Jan 18 23:38:08 2013
@@ -35,11 +35,15 @@ import org.apache.accumulo.core.client.i
 import org.apache.accumulo.core.client.impl.thrift.ConfigurationType;
 import org.apache.accumulo.core.master.thrift.MasterClientService;
 import org.apache.accumulo.core.security.thrift.AuthInfo;
+import org.apache.accumulo.core.security.thrift.ThriftSecurityException;
 import org.apache.accumulo.core.tabletserver.thrift.TabletClientService;
+import org.apache.accumulo.core.tabletserver.thrift.TabletClientService.Client;
 import org.apache.accumulo.core.util.ArgumentChecker;
 import org.apache.accumulo.core.util.ThriftUtil;
 import org.apache.accumulo.core.zookeeper.ZooUtil;
 import org.apache.accumulo.fate.zookeeper.ZooCache;
+import org.apache.thrift.TException;
+import org.apache.thrift.transport.TTransportException;
 
 /**
  * Provides a class for administering the accumulo instance
@@ -194,4 +198,28 @@ public class InstanceOperationsImpl impl
 }
 return as;
   }
+  
+  /*
+   * (non-Javadoc)
+   * 
+   * @see 
org.apache.accumulo.core.client.admin.InstanceOperations#ping(java.lang.String)
+   */
+  @Override
+  public void ping(String tserver) throws AccumuloException {
+Client client = null;
+try {
+  client = ThriftUtil.getTServerClient(tserver, 
instance.getConfiguration());
+  client.getTabletServerStatus(Tracer.traceInfo(), credentials);
+} catch (TTransportException e) {
+  throw new AccumuloException(e);
+} catch (ThriftSecurityException e) {
+  throw new AccumuloException(e);
+} catch (TException e) {
+  throw new AccumuloException(e);
+} finally {
+  if (client != null) {
+ThriftUtil.returnClient(client);
+  }
+}
+  }
 }

Modified: 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/mock/MockInstanceOperations.java
URL: 
http://svn.apache.org/viewvc/accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/mock/MockInstanceOperations.java?rev=1435416r1=1435415r2=1435416view=diff
==
--- 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/mock/MockInstanceOperations.java
 (original)
+++ 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/mock/MockInstanceOperations.java
 Fri Jan 18 23:38:08 2013
@@ -125,4 +125,15 @@ public class MockInstanceOperations impl
   public

svn commit: r1436933 - /accumulo/site/trunk/content/people.mdtext

2013-01-22 Thread kturner
Author: kturner
Date: Tue Jan 22 14:04:53 2013
New Revision: 1436933

URL: http://svn.apache.org/viewvc?rev=1436933view=rev
Log:
CMS commit to accumulo by kturner

Modified:
accumulo/site/trunk/content/people.mdtext

Modified: accumulo/site/trunk/content/people.mdtext
URL: 
http://svn.apache.org/viewvc/accumulo/site/trunk/content/people.mdtext?rev=1436933r1=1436932r2=1436933view=diff
==
--- accumulo/site/trunk/content/people.mdtext (original)
+++ accumulo/site/trunk/content/people.mdtext Tue Jan 22 14:04:53 2013
@@ -66,7 +66,7 @@ Contributors
 
 table
   trthusername/ththname/ththorganization/ththtimezone/th/tr
-  tr class=eventd/tdtdBrian Loss/tdtd/tdtd/td/tr
+  tr class=eventd/tdtdBrian Loss/tdtda 
href=http://www.praxiseng.com/Praxis Engineering/a/tdtdET (a 
href=http://www.timeanddate.com/library/abbreviations/timezones/na/est.html-5/a
 / a 
href=http://www.timeanddate.com/library/abbreviations/timezones/na/edt.html-4/a)/td/tr
   tr class=oddtd/tdtdChris Bennight/tdtd/tdtd/td/tr
   tr class=eventd/tdtdChris McCubbin/tdtda 
href=http://sqrrl.com/sqrrl/a/tdtdET (a 
href=http://www.timeanddate.com/library/abbreviations/timezones/na/est.html-5/a
 / a 
href=http://www.timeanddate.com/library/abbreviations/timezones/na/edt.html-4/a)/td/tr
   tr class=oddtd/tdtdChristian Rohling/tdtd/tdtd/td/tr




svn commit: r1436995 [1/2] - in /accumulo/trunk: core/src/main/java/org/apache/accumulo/core/client/admin/ core/src/main/java/org/apache/accumulo/core/tabletserver/thrift/ core/src/main/java/org/apach

2013-01-22 Thread kturner
Author: kturner
Date: Tue Jan 22 15:32:31 2013
New Revision: 1436995

URL: http://svn.apache.org/viewvc?rev=1436995view=rev
Log:
ACCUMULO-875 made list compactions API return files being compacted instead of 
a count.  Shell still shows a count

Modified:

accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/admin/ActiveCompaction.java

accumulo/trunk/core/src/main/java/org/apache/accumulo/core/tabletserver/thrift/ActiveCompaction.java

accumulo/trunk/core/src/main/java/org/apache/accumulo/core/tabletserver/thrift/IteratorConfig.java

accumulo/trunk/core/src/main/java/org/apache/accumulo/core/tabletserver/thrift/TIteratorSetting.java

accumulo/trunk/core/src/main/java/org/apache/accumulo/core/tabletserver/thrift/TabletClientService.java

accumulo/trunk/core/src/main/java/org/apache/accumulo/core/util/shell/commands/ActiveCompactionIterator.java
accumulo/trunk/core/src/main/thrift/tabletserver.thrift

accumulo/trunk/server/src/main/java/org/apache/accumulo/server/tabletserver/Compactor.java

Modified: 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/admin/ActiveCompaction.java
URL: 
http://svn.apache.org/viewvc/accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/admin/ActiveCompaction.java?rev=1436995r1=1436994r2=1436995view=diff
==
--- 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/admin/ActiveCompaction.java
 (original)
+++ 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/admin/ActiveCompaction.java
 Tue Jan 22 15:32:31 2013
@@ -110,10 +110,10 @@ public class ActiveCompaction {
   }
   
   /**
-   * @return number of files compaction is reading
+   * @return the files the compaction is reading from
*/
 
-  public int getInputFiles() {
+  public ListString getInputFiles() {
 return tac.getInputFiles();
   }
   

Modified: 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/tabletserver/thrift/ActiveCompaction.java
URL: 
http://svn.apache.org/viewvc/accumulo/trunk/core/src/main/java/org/apache/accumulo/core/tabletserver/thrift/ActiveCompaction.java?rev=1436995r1=1436994r2=1436995view=diff
==
--- 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/tabletserver/thrift/ActiveCompaction.java
 (original)
+++ 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/tabletserver/thrift/ActiveCompaction.java
 Tue Jan 22 15:32:31 2013
@@ -51,7 +51,7 @@ import org.slf4j.LoggerFactory;
 
   private static final org.apache.thrift.protocol.TField EXTENT_FIELD_DESC = 
new org.apache.thrift.protocol.TField(extent, 
org.apache.thrift.protocol.TType.STRUCT, (short)1);
   private static final org.apache.thrift.protocol.TField AGE_FIELD_DESC = new 
org.apache.thrift.protocol.TField(age, org.apache.thrift.protocol.TType.I64, 
(short)2);
-  private static final org.apache.thrift.protocol.TField 
INPUT_FILES_FIELD_DESC = new org.apache.thrift.protocol.TField(inputFiles, 
org.apache.thrift.protocol.TType.I32, (short)3);
+  private static final org.apache.thrift.protocol.TField 
INPUT_FILES_FIELD_DESC = new org.apache.thrift.protocol.TField(inputFiles, 
org.apache.thrift.protocol.TType.LIST, (short)3);
   private static final org.apache.thrift.protocol.TField 
OUTPUT_FILE_FIELD_DESC = new org.apache.thrift.protocol.TField(outputFile, 
org.apache.thrift.protocol.TType.STRING, (short)4);
   private static final org.apache.thrift.protocol.TField TYPE_FIELD_DESC = new 
org.apache.thrift.protocol.TField(type, org.apache.thrift.protocol.TType.I32, 
(short)5);
   private static final org.apache.thrift.protocol.TField REASON_FIELD_DESC = 
new org.apache.thrift.protocol.TField(reason, 
org.apache.thrift.protocol.TType.I32, (short)6);
@@ -69,7 +69,7 @@ import org.slf4j.LoggerFactory;
 
   public org.apache.accumulo.core.data.thrift.TKeyExtent extent; // required
   public long age; // required
-  public int inputFiles; // required
+  public ListString inputFiles; // required
   public String outputFile; // required
   /**
* 
@@ -185,9 +185,8 @@ import org.slf4j.LoggerFactory;
 
   // isset id assignments
   private static final int __AGE_ISSET_ID = 0;
-  private static final int __INPUTFILES_ISSET_ID = 1;
-  private static final int __ENTRIESREAD_ISSET_ID = 2;
-  private static final int __ENTRIESWRITTEN_ISSET_ID = 3;
+  private static final int __ENTRIESREAD_ISSET_ID = 1;
+  private static final int __ENTRIESWRITTEN_ISSET_ID = 2;
   private byte __isset_bitfield = 0;
   public static final Map_Fields, org.apache.thrift.meta_data.FieldMetaData 
metaDataMap;
   static {
@@ -197,7 +196,8 @@ import org.slf4j.LoggerFactory;
 tmpMap.put(_Fields.AGE, new 
org.apache.thrift.meta_data.FieldMetaData(age, 
org.apache.thrift.TFieldRequirementType.DEFAULT, 
 new 
org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64

svn commit: r1437054 - /accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/admin/InstanceOperationsImpl.java

2013-01-22 Thread kturner
Author: kturner
Date: Tue Jan 22 17:18:10 2013
New Revision: 1437054

URL: http://svn.apache.org/viewvc?rev=1437054view=rev
Log:
ACCUMULO-977 modified listscans and listcompactions to not retry on a bad 
tserver

Modified:

accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/admin/InstanceOperationsImpl.java

Modified: 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/admin/InstanceOperationsImpl.java
URL: 
http://svn.apache.org/viewvc/accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/admin/InstanceOperationsImpl.java?rev=1437054r1=1437053r2=1437054view=diff
==
--- 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/admin/InstanceOperationsImpl.java
 (original)
+++ 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/admin/InstanceOperationsImpl.java
 Tue Jan 22 17:18:10 2013
@@ -36,7 +36,6 @@ import org.apache.accumulo.core.client.i
 import org.apache.accumulo.core.master.thrift.MasterClientService;
 import org.apache.accumulo.core.security.thrift.AuthInfo;
 import org.apache.accumulo.core.security.thrift.ThriftSecurityException;
-import org.apache.accumulo.core.tabletserver.thrift.TabletClientService;
 import org.apache.accumulo.core.tabletserver.thrift.TabletClientService.Client;
 import org.apache.accumulo.core.util.ArgumentChecker;
 import org.apache.accumulo.core.util.ThriftUtil;
@@ -147,22 +146,29 @@ public class InstanceOperationsImpl impl
   
   @Override
   public ListActiveScan getActiveScans(String tserver) throws 
AccumuloException, AccumuloSecurityException {
-Listorg.apache.accumulo.core.tabletserver.thrift.ActiveScan tas = 
ThriftUtil.execute(tserver, instance.getConfiguration(),
-new 
ClientExecReturnListorg.apache.accumulo.core.tabletserver.thrift.ActiveScan,TabletClientService.Client()
 {
-  @Override
-  public Listorg.apache.accumulo.core.tabletserver.thrift.ActiveScan 
execute(TabletClientService.Client client) throws Exception {
-return client.getActiveScans(Tracer.traceInfo(), credentials);
-  }
-});
-ListActiveScan as = new ArrayListActiveScan();
-for (org.apache.accumulo.core.tabletserver.thrift.ActiveScan activeScan : 
tas) {
-  try {
-as.add(new ActiveScan(instance, activeScan));
-  } catch (TableNotFoundException e) {
-throw new AccumuloException(e);
+Client client = null;
+try {
+  client = ThriftUtil.getTServerClient(tserver, 
instance.getConfiguration());
+  
+  ListActiveScan as = new ArrayListActiveScan();
+  for (org.apache.accumulo.core.tabletserver.thrift.ActiveScan activeScan 
: client.getActiveScans(Tracer.traceInfo(), credentials)) {
+try {
+  as.add(new ActiveScan(instance, activeScan));
+} catch (TableNotFoundException e) {
+  throw new AccumuloException(e);
+}
   }
+  return as;
+} catch (TTransportException e) {
+  throw new AccumuloException(e);
+} catch (ThriftSecurityException e) {
+  throw new AccumuloSecurityException(e.user, e.code, e);
+} catch (TException e) {
+  throw new AccumuloException(e);
+} finally {
+  if (client != null)
+ThriftUtil.returnClient(client);
 }
-return as;
   }
   
   /* (non-Javadoc)
@@ -185,18 +191,25 @@ public class InstanceOperationsImpl impl
*/
   @Override
   public ListActiveCompaction getActiveCompactions(String tserver) throws 
AccumuloException, AccumuloSecurityException {
-Listorg.apache.accumulo.core.tabletserver.thrift.ActiveCompaction tas = 
ThriftUtil.execute(tserver, instance.getConfiguration(),
-new 
ClientExecReturnListorg.apache.accumulo.core.tabletserver.thrift.ActiveCompaction,TabletClientService.Client()
 {
-  @Override
-  public 
Listorg.apache.accumulo.core.tabletserver.thrift.ActiveCompaction 
execute(TabletClientService.Client client) throws Exception {
-return client.getActiveCompactions(Tracer.traceInfo(), 
credentials);
-  }
-});
-ListActiveCompaction as = new ArrayListActiveCompaction();
-for (org.apache.accumulo.core.tabletserver.thrift.ActiveCompaction 
activeCompaction : tas) {
-  as.add(new ActiveCompaction(instance, activeCompaction));
+Client client = null;
+try {
+  client = ThriftUtil.getTServerClient(tserver, 
instance.getConfiguration());
+  
+  ListActiveCompaction as = new ArrayListActiveCompaction();
+  for (org.apache.accumulo.core.tabletserver.thrift.ActiveCompaction 
activeCompaction : client.getActiveCompactions(Tracer.traceInfo(), 
credentials)) {
+as.add(new ActiveCompaction(instance, activeCompaction));
+  }
+  return as;
+} catch (TTransportException e) {
+  throw new AccumuloException(e);
+} catch (ThriftSecurityException e) {
+  throw new AccumuloSecurityException(e.user, e.code, e);
+} catch

svn commit: r1438320 - /accumulo/trunk/server/src/main/java/org/apache/accumulo/server/master/tableOps/CompactRange.java

2013-01-24 Thread kturner
Author: kturner
Date: Fri Jan 25 04:40:47 2013
New Revision: 1438320

URL: http://svn.apache.org/viewvc?rev=1438320view=rev
Log:
ACCUMULO-988 prevent concurrent table compactions with per compaction iterators

Modified:

accumulo/trunk/server/src/main/java/org/apache/accumulo/server/master/tableOps/CompactRange.java

Modified: 
accumulo/trunk/server/src/main/java/org/apache/accumulo/server/master/tableOps/CompactRange.java
URL: 
http://svn.apache.org/viewvc/accumulo/trunk/server/src/main/java/org/apache/accumulo/server/master/tableOps/CompactRange.java?rev=1438320r1=1438319r2=1438320view=diff
==
--- 
accumulo/trunk/server/src/main/java/org/apache/accumulo/server/master/tableOps/CompactRange.java
 (original)
+++ 
accumulo/trunk/server/src/main/java/org/apache/accumulo/server/master/tableOps/CompactRange.java
 Fri Jan 25 04:40:47 2013
@@ -217,14 +217,13 @@ public class CompactRange extends Master
   long flushID = Long.parseLong(new String(tokens[0]));
   flushID++;
   
+  if (tokens.length  1) {
+throw new ThriftTableOperationException(tableId, null, 
TableOperation.COMPACT, TableOperationExceptionType.OTHER,
+Another compaction with iterators is running);
+  }
+
   String txidString = String.format(%016x, tid);
   StringBuilder encodedIterators = new StringBuilder();
-  for (int i = 1; i  tokens.length; i++) {
-if (tokens[i].startsWith(txidString))
-  continue; // skip self
-encodedIterators.append(,);
-encodedIterators.append(tokens[i]);
-  }
 
   if (iterators != null  iterators.getIterators().size()  0) {
 Hex hex = new Hex();




svn commit: r1438668 - in /accumulo/trunk/proxy: ./ src/main/java/org/apache/accumulo/proxy/ src/test/java/org/apache/accumulo/proxy/

2013-01-25 Thread kturner
Author: kturner
Date: Fri Jan 25 19:51:44 2013
New Revision: 1438668

URL: http://svn.apache.org/viewvc?rev=1438668view=rev
Log:
ACCUMULO-991 committing patch from Jim Klucar

Modified:
accumulo/trunk/proxy/proxy.properties
accumulo/trunk/proxy/src/main/java/org/apache/accumulo/proxy/Proxy.java
accumulo/trunk/proxy/src/test/java/org/apache/accumulo/proxy/SimpleTest.java

accumulo/trunk/proxy/src/test/java/org/apache/accumulo/proxy/TestProxyInstanceOperations.java

accumulo/trunk/proxy/src/test/java/org/apache/accumulo/proxy/TestProxyReadWrite.java

accumulo/trunk/proxy/src/test/java/org/apache/accumulo/proxy/TestProxySecurityOperations.java

accumulo/trunk/proxy/src/test/java/org/apache/accumulo/proxy/TestProxyTableOperations.java

Modified: accumulo/trunk/proxy/proxy.properties
URL: 
http://svn.apache.org/viewvc/accumulo/trunk/proxy/proxy.properties?rev=1438668r1=1438667r2=1438668view=diff
==
--- accumulo/trunk/proxy/proxy.properties (original)
+++ accumulo/trunk/proxy/proxy.properties Fri Jan 25 19:51:44 2013
@@ -2,6 +2,8 @@ accumulo.proxy.apis=org.apache.accumulo.
 
 org.apache.accumulo.proxy.ProxyServer.useMockInstance=false
 
org.apache.accumulo.proxy.thrift.AccumuloProxy.implementor=org.apache.accumulo.proxy.ProxyServer
+org.apache.accumulo.proxy.thrift.AccumuloProxy.protocolFactory=org.apache.thrift.protocol.TCompactProtocol$Factory
+org.apache.accumulo.proxy.thrift.AccumuloProxy.transportFactory=org.apache.thrift.transport.TFramedTransport$Factory
 org.apache.accumulo.proxy.thrift.AccumuloProxy.port=42424
 
 org.apache.accumulo.proxy.ProxyServer.instancename=test

Modified: 
accumulo/trunk/proxy/src/main/java/org/apache/accumulo/proxy/Proxy.java
URL: 
http://svn.apache.org/viewvc/accumulo/trunk/proxy/src/main/java/org/apache/accumulo/proxy/Proxy.java?rev=1438668r1=1438667r2=1438668view=diff
==
--- accumulo/trunk/proxy/src/main/java/org/apache/accumulo/proxy/Proxy.java 
(original)
+++ accumulo/trunk/proxy/src/main/java/org/apache/accumulo/proxy/Proxy.java Fri 
Jan 25 19:51:44 2013
@@ -24,11 +24,11 @@ import java.util.Properties;
 
 import org.apache.accumulo.core.cli.Help;
 import org.apache.thrift.TProcessor;
-import org.apache.thrift.protocol.TCompactProtocol;
+import org.apache.thrift.protocol.TProtocolFactory;
 import org.apache.thrift.server.THsHaServer;
 import org.apache.thrift.server.TServer;
-import org.apache.thrift.transport.TFramedTransport;
 import org.apache.thrift.transport.TNonblockingServerSocket;
+import org.apache.thrift.transport.TTransportFactory;
 
 import com.beust.jcommander.IStringConverter;
 import com.beust.jcommander.Parameter;
@@ -83,15 +83,20 @@ public class Proxy {
   
   Class? implementor = Class.forName(opts.prop.getProperty(api + 
.implementor));
   
+  Class? extends TProtocolFactory protoFactoryClass = 
Class.forName(opts.prop.getProperty(api + 
.protocolFactory)).asSubclass(TProtocolFactory.class);
+  Class? extends TTransportFactory transportFactoryClass = 
Class.forName(opts.prop.getProperty(api + .transportFactory)).asSubclass(
+  TTransportFactory.class);
+
   int port = Integer.parseInt(opts.prop.getProperty(api + .port));
-  TServer server = createProxyServer(apiclass, implementor, port, 
opts.prop);
+  TServer server = createProxyServer(apiclass, implementor, port, 
protoFactoryClass, transportFactoryClass, opts.prop);
   server.serve();
 }
   }
   
-  public static TServer createProxyServer(Class? api, Class? implementor, 
final int port, Properties properties) throws Exception {
+  public static TServer createProxyServer(Class? api, Class? implementor, 
final int port, Class? extends TProtocolFactory protoClass,
+  Class? extends TTransportFactory transportFactoryClass, Properties 
properties) throws Exception {
 final TNonblockingServerSocket socket = new TNonblockingServerSocket(port);
-
+
 // create the implementor
 Object impl = 
implementor.getConstructor(Properties.class).newInstance(properties);
 
@@ -104,8 +109,8 @@ public class Proxy {
 
 THsHaServer.Args args = new THsHaServer.Args(socket);
 args.processor(processor);
-args.transportFactory(new TFramedTransport.Factory());
-args.protocolFactory(new TCompactProtocol.Factory());
+args.transportFactory(transportFactoryClass.newInstance());
+args.protocolFactory(protoClass.newInstance());
 return new THsHaServer(args);
   }
   

Modified: 
accumulo/trunk/proxy/src/test/java/org/apache/accumulo/proxy/SimpleTest.java
URL: 
http://svn.apache.org/viewvc/accumulo/trunk/proxy/src/test/java/org/apache/accumulo/proxy/SimpleTest.java?rev=1438668r1=1438667r2=1438668view=diff
==
--- 
accumulo/trunk/proxy/src/test/java/org/apache/accumulo/proxy

svn commit: r1438671 - /accumulo/trunk/server/src/main/java/org/apache/accumulo/server/master/tableOps/CompactRange.java

2013-01-25 Thread kturner
Author: kturner
Date: Fri Jan 25 19:54:06 2013
New Revision: 1438671

URL: http://svn.apache.org/viewvc?rev=1438671view=rev
Log:
ACCUMULO-988 make compact Range idempotent again

Modified:

accumulo/trunk/server/src/main/java/org/apache/accumulo/server/master/tableOps/CompactRange.java

Modified: 
accumulo/trunk/server/src/main/java/org/apache/accumulo/server/master/tableOps/CompactRange.java
URL: 
http://svn.apache.org/viewvc/accumulo/trunk/server/src/main/java/org/apache/accumulo/server/master/tableOps/CompactRange.java?rev=1438671r1=1438670r2=1438671view=diff
==
--- 
accumulo/trunk/server/src/main/java/org/apache/accumulo/server/master/tableOps/CompactRange.java
 (original)
+++ 
accumulo/trunk/server/src/main/java/org/apache/accumulo/server/master/tableOps/CompactRange.java
 Fri Jan 25 19:54:06 2013
@@ -217,12 +217,16 @@ public class CompactRange extends Master
   long flushID = Long.parseLong(new String(tokens[0]));
   flushID++;
   
-  if (tokens.length  1) {
+  String txidString = String.format(%016x, tid);
+  
+  for (int i = 1; i  tokens.length; i++) {
+if (tokens[i].startsWith(txidString))
+  continue; // skip self
+
 throw new ThriftTableOperationException(tableId, null, 
TableOperation.COMPACT, TableOperationExceptionType.OTHER,
 Another compaction with iterators is running);
   }
 
-  String txidString = String.format(%016x, tid);
   StringBuilder encodedIterators = new StringBuilder();
 
   if (iterators != null  iterators.getIterators().size()  0) {




svn commit: r1438837 - in /accumulo/trunk/server/src/main/java/org/apache/accumulo/server: master/tableOps/CompactRange.java tabletserver/Tablet.java

2013-01-25 Thread kturner
Author: kturner
Date: Sat Jan 26 03:54:43 2013
New Revision: 1438837

URL: http://svn.apache.org/viewvc?rev=1438837view=rev
Log:
ACCUMULO-989 ensured that per compaction iterators are not used for tablets 
outside of compaction range

Modified:

accumulo/trunk/server/src/main/java/org/apache/accumulo/server/master/tableOps/CompactRange.java

accumulo/trunk/server/src/main/java/org/apache/accumulo/server/tabletserver/Tablet.java

Modified: 
accumulo/trunk/server/src/main/java/org/apache/accumulo/server/master/tableOps/CompactRange.java
URL: 
http://svn.apache.org/viewvc/accumulo/trunk/server/src/main/java/org/apache/accumulo/server/master/tableOps/CompactRange.java?rev=1438837r1=1438836r2=1438837view=diff
==
--- 
accumulo/trunk/server/src/main/java/org/apache/accumulo/server/master/tableOps/CompactRange.java
 (original)
+++ 
accumulo/trunk/server/src/main/java/org/apache/accumulo/server/master/tableOps/CompactRange.java
 Sat Jan 26 03:54:43 2013
@@ -16,6 +16,10 @@
  */
 package org.apache.accumulo.server.master.tableOps;
 
+import java.io.DataInput;
+import java.io.DataOutput;
+import java.io.IOException;
+import java.util.ArrayList;
 import java.util.Collections;
 import java.util.Iterator;
 import java.util.List;
@@ -36,10 +40,7 @@ import org.apache.accumulo.core.data.Key
 import org.apache.accumulo.core.data.KeyExtent;
 import org.apache.accumulo.core.data.Range;
 import org.apache.accumulo.core.data.Value;
-import org.apache.accumulo.core.iterators.IteratorUtil;
 import org.apache.accumulo.core.master.state.tables.TableState;
-import org.apache.accumulo.core.tabletserver.thrift.IteratorConfig;
-import org.apache.accumulo.core.tabletserver.thrift.TIteratorSetting;
 import org.apache.accumulo.fate.Repo;
 import org.apache.accumulo.fate.zookeeper.IZooReaderWriter;
 import org.apache.accumulo.fate.zookeeper.ZooReaderWriter.Mutator;
@@ -51,6 +52,8 @@ import org.apache.accumulo.server.util.M
 import org.apache.accumulo.server.zookeeper.ZooReaderWriter;
 import org.apache.commons.codec.binary.Hex;
 import org.apache.hadoop.io.Text;
+import org.apache.hadoop.io.Writable;
+import org.apache.hadoop.io.WritableUtils;
 import org.apache.log4j.Logger;
 import org.apache.thrift.TException;
 import org.apache.zookeeper.KeeperException.NoNodeException;
@@ -187,21 +190,104 @@ class CompactionDriver extends MasterRep
   
 }
 
+
 public class CompactRange extends MasterRepo {
   
   private static final long serialVersionUID = 1L;
   private String tableId;
   private byte[] startRow;
   private byte[] endRow;
-  private IteratorConfig iterators;
+  private byte[] iterators;
   
+  public static class CompactionIterators implements Writable {
+byte[] startRow;
+byte[] endRow;
+ListIteratorSetting iterators;
+
+public CompactionIterators(byte[] startRow, byte[] endRow, 
ListIteratorSetting iterators) {
+  this.startRow = startRow;
+  this.endRow = endRow;
+  this.iterators = iterators;
+}
+
+public CompactionIterators() {
+  startRow = null;
+  endRow = null;
+  iterators = Collections.emptyList();
+}
+
+@Override
+public void write(DataOutput out) throws IOException {
+  out.writeBoolean(startRow != null);
+  if (startRow != null) {
+out.writeInt(startRow.length);
+out.write(startRow);
+  }
+  
+  out.writeBoolean(endRow != null);
+  if (endRow != null) {
+out.writeInt(endRow.length);
+out.write(endRow);
+  }
+  
+  out.writeInt(iterators.size());
+  for (IteratorSetting is : iterators) {
+is.write(out);
+  }
+}
+
+@Override
+public void readFields(DataInput in) throws IOException {
+  if (in.readBoolean()) {
+startRow = new byte[in.readInt()];
+in.readFully(startRow);
+  } else {
+startRow = null;
+  }
+  
+  if (in.readBoolean()) {
+endRow = new byte[in.readInt()];
+in.readFully(endRow);
+  } else {
+endRow = null;
+  }
+  
+  int num = in.readInt();
+  iterators = new ArrayListIteratorSetting(num);
+  
+  for (int i = 0; i  num; i++) {
+iterators.add(new IteratorSetting(in));
+  }
+}
+
+public Text getEndRow() {
+  if (endRow == null)
+return null;
+  return new Text(endRow);
+}
+
+public Text getStartRow() {
+  if (startRow == null)
+return null;
+  return new Text(startRow);
+}
+
+public ListIteratorSetting getIterators() {
+  return iterators;
+}
+  }
+
   public CompactRange(String tableId, byte[] startRow, byte[] endRow, 
ListIteratorSetting iterators) throws ThriftTableOperationException {
 this.tableId = tableId;
 this.startRow = startRow.length == 0 ? null : startRow;
 this.endRow = endRow.length == 0 ? null : endRow;
-// store as IteratorConfig because its

svn commit: r1439694 - in /accumulo/branches/1.4: ./ src/ src/core/ src/core/src/main/java/org/apache/accumulo/core/client/admin/InstanceOperationsImpl.java src/server/ src/server/src/

2013-01-28 Thread kturner
Author: kturner
Date: Mon Jan 28 23:33:27 2013
New Revision: 1439694

URL: http://svn.apache.org/viewvc?rev=1439694view=rev
Log:
ACCUMULO-977 made listscans continue on bad tserver (merged from trunk)

Modified:
accumulo/branches/1.4/   (props changed)
accumulo/branches/1.4/src/   (props changed)
accumulo/branches/1.4/src/core/   (props changed)

accumulo/branches/1.4/src/core/src/main/java/org/apache/accumulo/core/client/admin/InstanceOperationsImpl.java
accumulo/branches/1.4/src/server/   (props changed)
accumulo/branches/1.4/src/server/src/   (props changed)

Propchange: accumulo/branches/1.4/
--
  Merged /accumulo/trunk:r1437054

Propchange: accumulo/branches/1.4/src/
--
  Merged /accumulo/trunk/src:r1437054
  Merged /accumulo/trunk:r1437054

Propchange: accumulo/branches/1.4/src/core/
--
  Merged /accumulo/trunk/src/core:r1437054
  Merged /accumulo/trunk/core:r1437054

Modified: 
accumulo/branches/1.4/src/core/src/main/java/org/apache/accumulo/core/client/admin/InstanceOperationsImpl.java
URL: 
http://svn.apache.org/viewvc/accumulo/branches/1.4/src/core/src/main/java/org/apache/accumulo/core/client/admin/InstanceOperationsImpl.java?rev=1439694r1=1439693r2=1439694view=diff
==
--- 
accumulo/branches/1.4/src/core/src/main/java/org/apache/accumulo/core/client/admin/InstanceOperationsImpl.java
 (original)
+++ 
accumulo/branches/1.4/src/core/src/main/java/org/apache/accumulo/core/client/admin/InstanceOperationsImpl.java
 Mon Jan 28 23:33:27 2013
@@ -34,12 +34,14 @@ import org.apache.accumulo.core.client.i
 import org.apache.accumulo.core.client.impl.thrift.ConfigurationType;
 import org.apache.accumulo.core.master.thrift.MasterClientService;
 import org.apache.accumulo.core.security.thrift.AuthInfo;
-import org.apache.accumulo.core.tabletserver.thrift.TabletClientService;
+import org.apache.accumulo.core.security.thrift.ThriftSecurityException;
 import org.apache.accumulo.core.tabletserver.thrift.TabletClientService.Iface;
 import org.apache.accumulo.core.util.ArgumentChecker;
 import org.apache.accumulo.core.util.ThriftUtil;
 import org.apache.accumulo.core.zookeeper.ZooCache;
 import org.apache.accumulo.core.zookeeper.ZooUtil;
+import org.apache.thrift.TException;
+import org.apache.thrift.transport.TTransportException;
 
 /**
  * Provides a class for administering the accumulo instance
@@ -143,22 +145,30 @@ public class InstanceOperationsImpl impl
   
   @Override
   public ListActiveScan getActiveScans(String tserver) throws 
AccumuloException, AccumuloSecurityException {
-Listorg.apache.accumulo.core.tabletserver.thrift.ActiveScan tas = 
ThriftUtil.execute(tserver, instance.getConfiguration(),
-new 
ClientExecReturnListorg.apache.accumulo.core.tabletserver.thrift.ActiveScan,TabletClientService.Iface()
 {
-  @Override
-  public Listorg.apache.accumulo.core.tabletserver.thrift.ActiveScan 
execute(Iface client) throws Exception {
-return client.getActiveScans(null, credentials);
-  }
-});
-ListActiveScan as = new ArrayListActiveScan();
-for (org.apache.accumulo.core.tabletserver.thrift.ActiveScan activeScan : 
tas) {
-  try {
-as.add(new ActiveScan(instance, activeScan));
-  } catch (TableNotFoundException e) {
-throw new AccumuloException(e);
+
+Iface client = null;
+try {
+  client = ThriftUtil.getTServerClient(tserver, 
instance.getConfiguration());
+  
+  ListActiveScan as = new ArrayListActiveScan();
+  for (org.apache.accumulo.core.tabletserver.thrift.ActiveScan activeScan 
: client.getActiveScans(null, credentials)) {
+try {
+  as.add(new ActiveScan(instance, activeScan));
+} catch (TableNotFoundException e) {
+  throw new AccumuloException(e);
+}
   }
+  return as;
+} catch (TTransportException e) {
+  throw new AccumuloException(e);
+} catch (ThriftSecurityException e) {
+  throw new AccumuloSecurityException(e.user, e.code, e);
+} catch (TException e) {
+  throw new AccumuloException(e);
+} finally {
+  if (client != null)
+ThriftUtil.returnClient(client);
 }
-return as;
   }
   
   /* (non-Javadoc)

Propchange: accumulo/branches/1.4/src/server/
--
  Merged /accumulo/trunk/src/server:r1437054
  Merged /accumulo/trunk/server:r1437054

Propchange: accumulo/branches/1.4/src/server/src/
--
  Merged /accumulo/trunk/server/src:r1437054
  Merged /accumulo/trunk/src/server/src:r1437054




svn commit: r1440221 - /accumulo/trunk/server/src/main/java/org/apache/accumulo/server/tabletserver/Tablet.java

2013-01-29 Thread kturner
Author: kturner
Date: Tue Jan 29 23:47:35 2013
New Revision: 1440221

URL: http://svn.apache.org/viewvc?rev=1440221view=rev
Log:
ACCUMULO-976 allow user compactions to queue when system compaction is queued

Modified:

accumulo/trunk/server/src/main/java/org/apache/accumulo/server/tabletserver/Tablet.java

Modified: 
accumulo/trunk/server/src/main/java/org/apache/accumulo/server/tabletserver/Tablet.java
URL: 
http://svn.apache.org/viewvc/accumulo/trunk/server/src/main/java/org/apache/accumulo/server/tabletserver/Tablet.java?rev=1440221r1=1440220r2=1440221view=diff
==
--- 
accumulo/trunk/server/src/main/java/org/apache/accumulo/server/tabletserver/Tablet.java
 (original)
+++ 
accumulo/trunk/server/src/main/java/org/apache/accumulo/server/tabletserver/Tablet.java
 Tue Jan 29 23:47:35 2013
@@ -31,6 +31,7 @@ import java.util.Arrays;
 import java.util.Collection;
 import java.util.Collections;
 import java.util.Comparator;
+import java.util.EnumSet;
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.Iterator;
@@ -47,8 +48,6 @@ import java.util.concurrent.atomic.Atomi
 import java.util.concurrent.atomic.AtomicReference;
 import java.util.concurrent.locks.ReentrantLock;
 
-import org.apache.accumulo.trace.instrument.Span;
-import org.apache.accumulo.trace.instrument.Trace;
 import org.apache.accumulo.core.Constants;
 import org.apache.accumulo.core.client.Connector;
 import org.apache.accumulo.core.client.IteratorSetting;
@@ -124,6 +123,8 @@ import org.apache.accumulo.server.util.M
 import org.apache.accumulo.server.util.TabletOperations;
 import org.apache.accumulo.server.zookeeper.ZooReaderWriter;
 import org.apache.accumulo.start.classloader.vfs.AccumuloVFSClassLoader;
+import org.apache.accumulo.trace.instrument.Span;
+import org.apache.accumulo.trace.instrument.Trace;
 import org.apache.commons.codec.DecoderException;
 import org.apache.commons.codec.binary.Hex;
 import org.apache.hadoop.conf.Configuration;
@@ -406,7 +407,7 @@ public class Tablet {
   private DatafileManager datafileManager;
   private volatile boolean majorCompactionInProgress = false;
   private volatile boolean majorCompactionWaitingToStart = false;
-  private volatile boolean majorCompactionQueued = false;
+  private SetMajorCompactionReason majorCompactionQueued = 
Collections.synchronizedSet(EnumSet.noneOf(MajorCompactionReason.class));
   private volatile boolean minorCompactionInProgress = false;
   private volatile boolean minorCompactionWaitingToStart = false;
   
@@ -2857,7 +2858,7 @@ public class Tablet {
   if (tabletServer.isMajorCompactionDisabled()) {
 // this will make compaction task that were queued when shutdown was
 // initiated exit
-majorCompactionQueued = false;
+majorCompactionQueued.remove(reason);
 return;
   }
   
@@ -2909,12 +2910,12 @@ public class Tablet {
   
   synchronized boolean initiateMajorCompaction(MajorCompactionReason reason) {
 
-if (closing || closed || !needsMajorCompaction(reason) || 
majorCompactionInProgress || majorCompactionQueued) {
+if (closing || closed || !needsMajorCompaction(reason) || 
majorCompactionInProgress || majorCompactionQueued.contains(reason)) {
   return false;
 }
 
-majorCompactionQueued = true;
-
+majorCompactionQueued.add(reason);
+
 tabletResources.executeMajorCompaction(getExtent(), new 
CompactionRunner(reason));
 
 return false;
@@ -3240,6 +3241,12 @@ public class Tablet {
 // compaction was canceled
 return majCStats;
   }
+  
+  synchronized (this) {
+if (lastCompactID = compactionId.getFirst())
+  // already compacted
+  return majCStats;
+  }
 }
 
 compactionIterators = compactionId.getSecond();
@@ -3359,18 +3366,19 @@ public class Tablet {
 
 // Always trace majC
 Span span = Trace.on(majorCompaction);
-try {
-  synchronized (this) {
-// check that compaction is still needed - defer to splitting
-majorCompactionQueued = false;
-
-if (closing || closed || !needsMajorCompaction(reason) || 
majorCompactionInProgress || needsSplit()) {
-  return null;
-}
-
-majorCompactionInProgress = true;
+
+synchronized (this) {
+  // check that compaction is still needed - defer to splitting
+  majorCompactionQueued.remove(reason);
+  
+  if (closing || closed || !needsMajorCompaction(reason) || 
majorCompactionInProgress || needsSplit()) {
+return null;
   }
   
+  majorCompactionInProgress = true;
+}
+
+try {
   majCStats = _majorCompact(reason);
   if (reason == MajorCompactionReason.CHOP) {
 MetadataTable.chopped(getExtent(), this.tabletServer.getLock());
@@ -3458,7 +3466,7 @@ public class Tablet {
   }
   
   public

svn commit: r1440939 - in /accumulo/trunk: core/src/main/java/org/apache/accumulo/core/util/ proxy/ proxy/src/main/java/org/apache/accumulo/proxy/ proxy/src/test/java/org/apache/accumulo/proxy/

2013-01-31 Thread kturner
Author: kturner
Date: Thu Jan 31 12:53:23 2013
New Revision: 1440939

URL: http://svn.apache.org/viewvc?rev=1440939view=rev
Log:
ACCUMULO-991 Removed ability to configure transport in proxy.  Also made unit 
test use different protocols and found/fixed some bugs as a result.

Modified:

accumulo/trunk/core/src/main/java/org/apache/accumulo/core/util/ByteBufferUtil.java
accumulo/trunk/proxy/proxy.properties
accumulo/trunk/proxy/src/main/java/org/apache/accumulo/proxy/Proxy.java

accumulo/trunk/proxy/src/main/java/org/apache/accumulo/proxy/ProxyServer.java

accumulo/trunk/proxy/src/main/java/org/apache/accumulo/proxy/TestProxyClient.java
accumulo/trunk/proxy/src/test/java/org/apache/accumulo/proxy/SimpleTest.java

accumulo/trunk/proxy/src/test/java/org/apache/accumulo/proxy/TestProxyInstanceOperations.java

accumulo/trunk/proxy/src/test/java/org/apache/accumulo/proxy/TestProxyReadWrite.java

accumulo/trunk/proxy/src/test/java/org/apache/accumulo/proxy/TestProxySecurityOperations.java

accumulo/trunk/proxy/src/test/java/org/apache/accumulo/proxy/TestProxyTableOperations.java

Modified: 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/util/ByteBufferUtil.java
URL: 
http://svn.apache.org/viewvc/accumulo/trunk/core/src/main/java/org/apache/accumulo/core/util/ByteBufferUtil.java?rev=1440939r1=1440938r2=1440939view=diff
==
--- 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/util/ByteBufferUtil.java
 (original)
+++ 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/util/ByteBufferUtil.java
 Thu Jan 31 12:53:23 2013
@@ -28,7 +28,7 @@ public class ByteBufferUtil {
   public static byte[] toBytes(ByteBuffer buffer) {
 if (buffer == null)
   return null;
-return Arrays.copyOfRange(buffer.array(), buffer.position(), 
buffer.remaining());
+return Arrays.copyOfRange(buffer.array(), buffer.position(), 
buffer.limit());
   }
   
   public static ListByteBuffer toByteBuffers(Collectionbyte[] bytesList) {

Modified: accumulo/trunk/proxy/proxy.properties
URL: 
http://svn.apache.org/viewvc/accumulo/trunk/proxy/proxy.properties?rev=1440939r1=1440938r2=1440939view=diff
==
--- accumulo/trunk/proxy/proxy.properties (original)
+++ accumulo/trunk/proxy/proxy.properties Thu Jan 31 12:53:23 2013
@@ -3,7 +3,6 @@ accumulo.proxy.apis=org.apache.accumulo.
 org.apache.accumulo.proxy.ProxyServer.useMockInstance=false
 
org.apache.accumulo.proxy.thrift.AccumuloProxy.implementor=org.apache.accumulo.proxy.ProxyServer
 
org.apache.accumulo.proxy.thrift.AccumuloProxy.protocolFactory=org.apache.thrift.protocol.TCompactProtocol$Factory
-org.apache.accumulo.proxy.thrift.AccumuloProxy.transportFactory=org.apache.thrift.transport.TFramedTransport$Factory
 org.apache.accumulo.proxy.thrift.AccumuloProxy.port=42424
 
 org.apache.accumulo.proxy.ProxyServer.instancename=test

Modified: 
accumulo/trunk/proxy/src/main/java/org/apache/accumulo/proxy/Proxy.java
URL: 
http://svn.apache.org/viewvc/accumulo/trunk/proxy/src/main/java/org/apache/accumulo/proxy/Proxy.java?rev=1440939r1=1440938r2=1440939view=diff
==
--- accumulo/trunk/proxy/src/main/java/org/apache/accumulo/proxy/Proxy.java 
(original)
+++ accumulo/trunk/proxy/src/main/java/org/apache/accumulo/proxy/Proxy.java Thu 
Jan 31 12:53:23 2013
@@ -27,8 +27,8 @@ import org.apache.thrift.TProcessor;
 import org.apache.thrift.protocol.TProtocolFactory;
 import org.apache.thrift.server.THsHaServer;
 import org.apache.thrift.server.TServer;
+import org.apache.thrift.transport.TFramedTransport;
 import org.apache.thrift.transport.TNonblockingServerSocket;
-import org.apache.thrift.transport.TTransportFactory;
 
 import com.beust.jcommander.IStringConverter;
 import com.beust.jcommander.Parameter;
@@ -84,17 +84,15 @@ public class Proxy {
   Class? implementor = Class.forName(opts.prop.getProperty(api + 
.implementor));
   
   Class? extends TProtocolFactory protoFactoryClass = 
Class.forName(opts.prop.getProperty(api + 
.protocolFactory)).asSubclass(TProtocolFactory.class);
-  Class? extends TTransportFactory transportFactoryClass = 
Class.forName(opts.prop.getProperty(api + .transportFactory)).asSubclass(
-  TTransportFactory.class);
 
   int port = Integer.parseInt(opts.prop.getProperty(api + .port));
-  TServer server = createProxyServer(apiclass, implementor, port, 
protoFactoryClass, transportFactoryClass, opts.prop);
+  TServer server = createProxyServer(apiclass, implementor, port, 
protoFactoryClass, opts.prop);
   server.serve();
 }
   }
   
   public static TServer createProxyServer(Class? api, Class? implementor, 
final int port, Class? extends TProtocolFactory protoClass,
-  Class? extends TTransportFactory transportFactoryClass, Properties

svn commit: r1441504 - in /accumulo/trunk/core/src/main/java/org/apache/accumulo/core/conf: DefaultConfiguration.java Property.java

2013-02-01 Thread kturner
Author: kturner
Date: Fri Feb  1 16:14:00 2013
New Revision: 1441504

URL: http://svn.apache.org/viewvc?rev=1441504view=rev
Log:
ACCUMULO-958 marked incomplete WAL encrpytion feature as experimental so it 
will not show up in docs 

Modified:

accumulo/trunk/core/src/main/java/org/apache/accumulo/core/conf/DefaultConfiguration.java

accumulo/trunk/core/src/main/java/org/apache/accumulo/core/conf/Property.java

Modified: 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/conf/DefaultConfiguration.java
URL: 
http://svn.apache.org/viewvc/accumulo/trunk/core/src/main/java/org/apache/accumulo/core/conf/DefaultConfiguration.java?rev=1441504r1=1441503r2=1441504view=diff
==
--- 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/conf/DefaultConfiguration.java
 (original)
+++ 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/conf/DefaultConfiguration.java
 Fri Feb  1 16:14:00 2013
@@ -47,7 +47,7 @@ public class DefaultConfiguration extend
   public IteratorEntryString,String iterator() {
 TreeMapString,String entries = new TreeMapString,String();
 for (Property prop : Property.values())
-  if (!prop.getType().equals(PropertyType.PREFIX))
+  if (!prop.isExprimental()  !prop.getType().equals(PropertyType.PREFIX))
 entries.put(prop.getKey(), prop.getDefaultValue());
 
 return entries.entrySet().iterator();
@@ -78,6 +78,9 @@ public class DefaultConfiguration extend
 ArrayListProperty prefixes = new ArrayListProperty();
 TreeMapString,Property sortedProps = new TreeMapString,Property();
 for (Property prop : Property.values()) {
+  if (prop.isExprimental())
+continue;
+
   if (prop.getType().equals(PropertyType.PREFIX))
 prefixes.add(prop);
   else
@@ -87,6 +90,9 @@ public class DefaultConfiguration extend
 doc.println(  pJump to: );
 String delimiter = ;
 for (Property prefix : prefixes) {
+  if (prefix.isExprimental())
+continue;
+
   doc.print(delimiter + a href='# + prefix.name() + ' + 
prefix.getKey() + */a);
   delimiter = nbsp;|nbsp;;
 }
@@ -94,6 +100,10 @@ public class DefaultConfiguration extend
 
 doc.println(  table);
 for (Property prefix : prefixes) {
+  
+  if (prefix.isExprimental())
+continue;
+
   doc.println(   trtd colspan='5'a name=' + prefix.name() + ' 
class='large' + prefix.getKey() + */a/td/tr);
   doc.println(   trtd colspan='5'i + prefix.getDescription() + 
/i/td/tr);
   if (!prefix.equals(Property.TABLE_CONSTRAINT_PREFIX)  
!prefix.equals(Property.TABLE_ITERATOR_PREFIX)
@@ -102,6 +112,9 @@ public class DefaultConfiguration extend
   
   boolean highlight = true;
   for (Property prop : sortedProps.values()) {
+if (prop.isExprimental())
+  continue;
+
 if (prop.getKey().startsWith(prefix.getKey())) {
   doc.println(   tr  + (highlight ? class='highlight' : ) + 
);
   highlight = !highlight;

Modified: 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/conf/Property.java
URL: 
http://svn.apache.org/viewvc/accumulo/trunk/core/src/main/java/org/apache/accumulo/core/conf/Property.java?rev=1441504r1=1441503r2=1441504view=diff
==
--- 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/conf/Property.java 
(original)
+++ 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/conf/Property.java 
Fri Feb  1 16:14:00 2013
@@ -29,27 +29,30 @@ import org.apache.accumulo.start.classlo
 public enum Property {
   
   // Crypto-related properties
-  CRYPTO_PREFIX(crypto., null, PropertyType.PREFIX, Properties in this 
category related to the configuration of both default and custom crypto 
modules.),
+  CRYPTO_PREFIX(crypto., null, PropertyType.PREFIX, Properties in this 
category related to the configuration of both default and custom crypto 
modules.,
+  true),
   CRYPTO_MODULE_CLASS(
   crypto.module.class,
   NullCryptoModule,
   PropertyType.STRING,
-  Fully qualified class name of the class that implements the 
CryptoModule interface, to be used in setting up encryption at rest for the WAL 
and (future) other parts of the code.),
-  CRYPTO_CIPHER_SUITE(crypto.cipher.suite, NullCipher, 
PropertyType.STRING, Describes the cipher suite to use for the write-ahead 
log),
+  Fully qualified class name of the class that implements the 
CryptoModule interface, to be used in setting up encryption at rest for the WAL 
and (future) other parts of the code.,
+  true),
+  CRYPTO_CIPHER_SUITE(crypto.cipher.suite, NullCipher, 
PropertyType.STRING, Describes the cipher suite to use for the write-ahead 
log, true),
   CRYPTO_CIPHER_ALGORITHM_NAME(crypto.cipher.algorithm.name, NullCipher, 
PropertyType.STRING,
-  States the name of the algorithm used in the corresponding cipher 
suite.  Do

svn commit: r1441559 - in /accumulo/trunk/core/src/main/java/org/apache/accumulo/core: conf/DefaultConfiguration.java conf/Property.java util/shell/commands/ConfigCommand.java

2013-02-01 Thread kturner
Author: kturner
Date: Fri Feb  1 18:02:20 2013
New Revision: 1441559

URL: http://svn.apache.org/viewvc?rev=1441559view=rev
Log:
ACCUMULO-958 fixed spelling, hid experimental options in shell

Modified:

accumulo/trunk/core/src/main/java/org/apache/accumulo/core/conf/DefaultConfiguration.java

accumulo/trunk/core/src/main/java/org/apache/accumulo/core/conf/Property.java

accumulo/trunk/core/src/main/java/org/apache/accumulo/core/util/shell/commands/ConfigCommand.java

Modified: 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/conf/DefaultConfiguration.java
URL: 
http://svn.apache.org/viewvc/accumulo/trunk/core/src/main/java/org/apache/accumulo/core/conf/DefaultConfiguration.java?rev=1441559r1=1441558r2=1441559view=diff
==
--- 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/conf/DefaultConfiguration.java
 (original)
+++ 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/conf/DefaultConfiguration.java
 Fri Feb  1 18:02:20 2013
@@ -47,7 +47,7 @@ public class DefaultConfiguration extend
   public IteratorEntryString,String iterator() {
 TreeMapString,String entries = new TreeMapString,String();
 for (Property prop : Property.values())
-  if (!prop.isExprimental()  !prop.getType().equals(PropertyType.PREFIX))
+  if (!prop.isExperimental()  
!prop.getType().equals(PropertyType.PREFIX))
 entries.put(prop.getKey(), prop.getDefaultValue());
 
 return entries.entrySet().iterator();
@@ -78,7 +78,7 @@ public class DefaultConfiguration extend
 ArrayListProperty prefixes = new ArrayListProperty();
 TreeMapString,Property sortedProps = new TreeMapString,Property();
 for (Property prop : Property.values()) {
-  if (prop.isExprimental())
+  if (prop.isExperimental())
 continue;
 
   if (prop.getType().equals(PropertyType.PREFIX))
@@ -90,7 +90,7 @@ public class DefaultConfiguration extend
 doc.println(  pJump to: );
 String delimiter = ;
 for (Property prefix : prefixes) {
-  if (prefix.isExprimental())
+  if (prefix.isExperimental())
 continue;
 
   doc.print(delimiter + a href='# + prefix.name() + ' + 
prefix.getKey() + */a);
@@ -101,7 +101,7 @@ public class DefaultConfiguration extend
 doc.println(  table);
 for (Property prefix : prefixes) {
   
-  if (prefix.isExprimental())
+  if (prefix.isExperimental())
 continue;
 
   doc.println(   trtd colspan='5'a name=' + prefix.name() + ' 
class='large' + prefix.getKey() + */a/td/tr);
@@ -112,7 +112,7 @@ public class DefaultConfiguration extend
   
   boolean highlight = true;
   for (Property prop : sortedProps.values()) {
-if (prop.isExprimental())
+if (prop.isExperimental())
   continue;
 
 if (prop.getKey().startsWith(prefix.getKey())) {

Modified: 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/conf/Property.java
URL: 
http://svn.apache.org/viewvc/accumulo/trunk/core/src/main/java/org/apache/accumulo/core/conf/Property.java?rev=1441559r1=1441558r2=1441559view=diff
==
--- 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/conf/Property.java 
(original)
+++ 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/conf/Property.java 
Fri Feb  1 18:02:20 2013
@@ -373,7 +373,7 @@ public enum Property {
 return this.description;
   }
   
-  public boolean isExprimental() {
+  public boolean isExperimental() {
 return experimental;
   }
 

Modified: 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/util/shell/commands/ConfigCommand.java
URL: 
http://svn.apache.org/viewvc/accumulo/trunk/core/src/main/java/org/apache/accumulo/core/util/shell/commands/ConfigCommand.java?rev=1441559r1=1441558r2=1441559view=diff
==
--- 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/util/shell/commands/ConfigCommand.java
 (original)
+++ 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/util/shell/commands/ConfigCommand.java
 Fri Feb  1 18:02:20 2013
@@ -53,7 +53,7 @@ public class ConfigCommand extends Comma
 final Token cmd = new Token(getName());
 final Token sub = new Token(- + setOpt.getOpt());
 for (Property p : Property.values()) {
-  if (!(p.getKey().endsWith(.))) {
+  if (!(p.getKey().endsWith(.))  !p.isExperimental()) {
 sub.addSubcommand(new Token(p.toString()));
   }
 }




svn commit: r1443085 - in /accumulo/trunk/test/src/test/java/org/apache/accumulo: fate/zookeeper/ZooLockTest.java test/MiniAccumuloClusterTest.java

2013-02-06 Thread kturner
Author: kturner
Date: Wed Feb  6 17:38:45 2013
New Revision: 1443085

URL: http://svn.apache.org/viewvc?rev=1443085view=rev
Log:
ACCUMULO-954 suppressed warnings from zookeeper during unit test

Modified:

accumulo/trunk/test/src/test/java/org/apache/accumulo/fate/zookeeper/ZooLockTest.java

accumulo/trunk/test/src/test/java/org/apache/accumulo/test/MiniAccumuloClusterTest.java

Modified: 
accumulo/trunk/test/src/test/java/org/apache/accumulo/fate/zookeeper/ZooLockTest.java
URL: 
http://svn.apache.org/viewvc/accumulo/trunk/test/src/test/java/org/apache/accumulo/fate/zookeeper/ZooLockTest.java?rev=1443085r1=1443084r2=1443085view=diff
==
--- 
accumulo/trunk/test/src/test/java/org/apache/accumulo/fate/zookeeper/ZooLockTest.java
 (original)
+++ 
accumulo/trunk/test/src/test/java/org/apache/accumulo/fate/zookeeper/ZooLockTest.java
 Wed Feb  6 17:38:45 2013
@@ -83,7 +83,7 @@ public class ZooLockTest {
 
 folder.create();
 
-Logger.getLogger(org.apache.zookeeper).setLevel(Level.WARN);
+Logger.getLogger(org.apache.zookeeper).setLevel(Level.ERROR);
 
 accumulo = new MiniAccumuloCluster(folder.getRoot(), superSecret);
 

Modified: 
accumulo/trunk/test/src/test/java/org/apache/accumulo/test/MiniAccumuloClusterTest.java
URL: 
http://svn.apache.org/viewvc/accumulo/trunk/test/src/test/java/org/apache/accumulo/test/MiniAccumuloClusterTest.java?rev=1443085r1=1443084r2=1443085view=diff
==
--- 
accumulo/trunk/test/src/test/java/org/apache/accumulo/test/MiniAccumuloClusterTest.java
 (original)
+++ 
accumulo/trunk/test/src/test/java/org/apache/accumulo/test/MiniAccumuloClusterTest.java
 Wed Feb  6 17:38:45 2013
@@ -57,7 +57,7 @@ public class MiniAccumuloClusterTest {
 
 folder.create();
 
-Logger.getLogger(org.apache.zookeeper).setLevel(Level.WARN);
+Logger.getLogger(org.apache.zookeeper).setLevel(Level.ERROR);
 
 accumulo = new MiniAccumuloCluster(folder.getRoot(), superSecret);
 




svn commit: r1443790 - in /accumulo/trunk: fate/src/main/java/org/apache/accumulo/fate/zookeeper/ server/src/main/java/org/apache/accumulo/server/gc/ server/src/main/java/org/apache/accumulo/server/ma

2013-02-07 Thread kturner
Author: kturner
Date: Thu Feb  7 23:42:57 2013
New Revision: 1443790

URL: http://svn.apache.org/r1443790
Log:
ACCUMULO-954 made zoolock report when its no longer able to monitor lock node 
and there does not know the status of the lock

Modified:

accumulo/trunk/fate/src/main/java/org/apache/accumulo/fate/zookeeper/ZooLock.java

accumulo/trunk/server/src/main/java/org/apache/accumulo/server/gc/SimpleGarbageCollector.java

accumulo/trunk/server/src/main/java/org/apache/accumulo/server/master/Master.java

accumulo/trunk/server/src/main/java/org/apache/accumulo/server/master/TServerLockWatcher.java

accumulo/trunk/server/src/main/java/org/apache/accumulo/server/tabletserver/TabletServer.java

accumulo/trunk/server/src/main/java/org/apache/accumulo/server/zookeeper/ZooLock.java

accumulo/trunk/test/src/main/java/org/apache/accumulo/test/functional/SplitRecoveryTest.java

accumulo/trunk/test/src/main/java/org/apache/accumulo/test/functional/ZombieTServer.java

accumulo/trunk/test/src/test/java/org/apache/accumulo/fate/zookeeper/ZooLockTest.java

Modified: 
accumulo/trunk/fate/src/main/java/org/apache/accumulo/fate/zookeeper/ZooLock.java
URL: 
http://svn.apache.org/viewvc/accumulo/trunk/fate/src/main/java/org/apache/accumulo/fate/zookeeper/ZooLock.java?rev=1443790r1=1443789r2=1443790view=diff
==
--- 
accumulo/trunk/fate/src/main/java/org/apache/accumulo/fate/zookeeper/ZooLock.java
 (original)
+++ 
accumulo/trunk/fate/src/main/java/org/apache/accumulo/fate/zookeeper/ZooLock.java
 Thu Feb  7 23:42:57 2013
@@ -38,11 +38,18 @@ public class ZooLock implements Watcher 
   public static final String LOCK_PREFIX = zlock-;
   
   public enum LockLossReason {
-LOCK_DELETED, SESSION_EXPIRED, UNKNOWN
+LOCK_DELETED, SESSION_EXPIRED
   }
   
   public interface LockWatcher {
 void lostLock(LockLossReason reason);
+
+/**
+ * lost the ability to monitor the lock node, and its status is unknown
+ * 
+ * @param e
+ */
+void unableToMonitorLockNode(Throwable e);
   }
   
   public interface AsyncLockWatcher extends LockWatcher {
@@ -98,6 +105,11 @@ public class ZooLock implements Watcher 
   lw.lostLock(reason);
 }
 
+@Override
+public void unableToMonitorLockNode(Throwable e) {
+  lw.unableToMonitorLockNode(e);
+}
+
   }
   
   public synchronized boolean tryLock(LockWatcher lw, byte data[]) throws 
KeeperException, InterruptedException {
@@ -133,8 +145,9 @@ public class ZooLock implements Watcher 
 Collections.sort(children);
 
 if (children.get(0).equals(myLock)) {
-  if (!watchingParent)
-throw new RuntimeException(Can not acquire lock, no longer watching 
parent);
+  if (!watchingParent) {
+throw new IllegalStateException(Can not acquire lock, no longer 
watching parent :  + path);
+  }
   this.lockWatcher = lw;
   this.lock = myLock;
   asyncLock = null;
@@ -222,8 +235,8 @@ public class ZooLock implements Watcher 
   lostLock(LockLossReason.LOCK_DELETED);
 } else if (asyncLock != null  event.getType() == 
EventType.NodeDeleted  event.getPath().equals(path + / + asyncLock)) {
   failedToAcquireLock();
-} else if(event.getState() != KeeperState.Expired) {
-  log.warn(Unexpected event watching lock node +event+ 
+asyncLockPath);
+} else if (event.getState() != KeeperState.Expired  (lock != 
null || asyncLock != null)) {
+  log.debug(Unexpected event watching lock node +event+ 
+asyncLockPath);
   try {
 Stat stat2 = zooKeeper.getStatus(asyncLockPath, this);
 if(stat2 == null){
@@ -232,20 +245,9 @@ public class ZooLock implements Watcher 
   else if(asyncLock != null)
 failedToAcquireLock();
 }
-  } catch (Exception e) {
+  } catch (Throwable e) {
+lockWatcher.unableToMonitorLockNode(e);
 log.error(Failed to stat lock node  + asyncLockPath, e);
-
-try {
-  // not sure what happened... try to clean lock node up
-  zooKeeper.delete(asyncLockPath, -1);
-} catch (Throwable e2) {
-  log.debug(Failed to clean up lock node  + asyncLockPath, 
e2);
-}
-
-if(lock != null)
-  lostLock(LockLossReason.UNKNOWN);
-else if(asyncLock != null)
-  failedToAcquireLock();
   }
 }

@@ -348,10 +350,9 @@ public class ZooLock implements Watcher 
 zooKeeper.getStatus(path, this);
 watchingParent = true;
   } catch (Exception ex) {
-log.warn(Error resetting watch on ZooLock, ex);
-
-if (lock != null) {
-  lostLock

svn commit: r1444259 - /accumulo/trunk/server/src/main/java/org/apache/accumulo/server/master/LiveTServerSet.java

2013-02-08 Thread kturner
Author: kturner
Date: Fri Feb  8 22:11:22 2013
New Revision: 1444259

URL: http://svn.apache.org/r1444259
Log:
ACCUMULO-1049 modified master to stop locking tserver nodes and just monitor  
tserver nodes in zookeeper

Modified:

accumulo/trunk/server/src/main/java/org/apache/accumulo/server/master/LiveTServerSet.java

Modified: 
accumulo/trunk/server/src/main/java/org/apache/accumulo/server/master/LiveTServerSet.java
URL: 
http://svn.apache.org/viewvc/accumulo/trunk/server/src/main/java/org/apache/accumulo/server/master/LiveTServerSet.java?rev=1444259r1=1444258r2=1444259view=diff
==
--- 
accumulo/trunk/server/src/main/java/org/apache/accumulo/server/master/LiveTServerSet.java
 (original)
+++ 
accumulo/trunk/server/src/main/java/org/apache/accumulo/server/master/LiveTServerSet.java
 Fri Feb  8 22:11:22 2013
@@ -22,13 +22,9 @@ import java.net.InetSocketAddress;
 import java.nio.ByteBuffer;
 import java.util.HashMap;
 import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
 import java.util.Map;
-import java.util.Map.Entry;
 import java.util.Set;
 
-import org.apache.accumulo.trace.instrument.Tracer;
 import org.apache.accumulo.core.Constants;
 import org.apache.accumulo.core.client.Instance;
 import org.apache.accumulo.core.conf.AccumuloConfiguration;
@@ -49,6 +45,7 @@ import org.apache.accumulo.server.util.t
 import org.apache.accumulo.server.zookeeper.ZooCache;
 import org.apache.accumulo.server.zookeeper.ZooLock;
 import org.apache.accumulo.server.zookeeper.ZooReaderWriter;
+import org.apache.accumulo.trace.instrument.Tracer;
 import org.apache.hadoop.io.Text;
 import org.apache.log4j.Logger;
 import org.apache.thrift.TException;
@@ -57,7 +54,6 @@ import org.apache.zookeeper.KeeperExcept
 import org.apache.zookeeper.KeeperException.NotEmptyException;
 import org.apache.zookeeper.WatchedEvent;
 import org.apache.zookeeper.Watcher;
-import org.apache.zookeeper.Watcher.Event.EventType;
 import org.apache.zookeeper.data.Stat;
 
 public class LiveTServerSet implements Watcher {
@@ -189,26 +185,17 @@ public class LiveTServerSet implements W
   }
   
   static class TServerInfo {
-ZooLock lock;
 TServerConnection connection;
 TServerInstance instance;
-TServerLockWatcher watcher;
 
-TServerInfo(ZooLock lock, TServerInstance instance, TServerConnection 
connection, TServerLockWatcher watcher) {
-  this.lock = lock;
+TServerInfo(TServerInstance instance, TServerConnection connection) {
   this.connection = connection;
   this.instance = instance;
-  this.watcher = watcher;
-}
-
-void cleanup() throws InterruptedException, KeeperException {
-  lock.tryToCancelAsyncLockOrUnlock();
 }
   };
   
   // Map from tserver master service to server information
   private MapString,TServerInfo current = new HashMapString,TServerInfo();
-  private HashMapString,Long serversToDelete = new HashMapString,Long();
 
   public LiveTServerSet(Instance instance, AccumuloConfiguration conf, 
Listener cback) {
 this.cback = cback;
@@ -230,7 +217,7 @@ public class LiveTServerSet implements W
   public void run() {
 scanServers();
   }
-}, 0, 1000);
+}, 0, 5000);
   }
   
   public synchronized void scanServers() {
@@ -240,21 +227,11 @@ public class LiveTServerSet implements W
   
   final String path = ZooUtil.getRoot(instance) + Constants.ZTSERVERS;
   
-  IteratorEntryString,Long serversToDelIter = 
serversToDelete.entrySet().iterator();
-  while (serversToDelIter.hasNext()) {
-EntryString,Long entry = serversToDelIter.next();
-if (System.currentTimeMillis() - entry.getValue()  1) {
-  String serverNode = path + / + entry.getKey();
-  serversToDelIter.remove();
-  deleteServerNode(serverNode);
-}
-  }
-
-  for (String server : getZooCache().getChildren(path)) {
-if (serversToDelete.containsKey(server))
-  continue;
-
-checkServer(updates, doomed, path, server, 2);
+  HashSetString all = new HashSetString(current.keySet());
+  all.addAll(getZooCache().getChildren(path));
+  
+  for (String server : all) {
+checkServer(updates, doomed, path, server);
   }
 
   // log.debug(Current:  + current.keySet());
@@ -275,94 +252,71 @@ public class LiveTServerSet implements W
 }
   }
   
-  private synchronized void checkServer(final SetTServerInstance updates, 
final SetTServerInstance doomed, final String path, final String server,
-  int recurse)
-  throws TException,
-  InterruptedException, KeeperException {
-
-if (recurse == 0)
-  return;
+  private synchronized void checkServer(final SetTServerInstance updates, 
final SetTServerInstance doomed, final String path, final String server)
+  throws TException, InterruptedException, KeeperException {
 
-// See if we have an async lock

svn commit: r1444313 - in /accumulo/trunk: core/src/main/java/org/apache/accumulo/core/Constants.java server/src/main/java/org/apache/accumulo/server/master/Master.java test/system/upgrade_test.sh

2013-02-08 Thread kturner
Author: kturner
Date: Sat Feb  9 02:10:15 2013
New Revision: 1444313

URL: http://svn.apache.org/r1444313
Log:
ACCUMULO-635 ACCUMULO-1010 got basic upgrade and upgrade test script working... 

Modified:
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/Constants.java

accumulo/trunk/server/src/main/java/org/apache/accumulo/server/master/Master.java
accumulo/trunk/test/system/upgrade_test.sh

Modified: 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/Constants.java
URL: 
http://svn.apache.org/viewvc/accumulo/trunk/core/src/main/java/org/apache/accumulo/core/Constants.java?rev=1444313r1=1444312r2=1444313view=diff
==
--- accumulo/trunk/core/src/main/java/org/apache/accumulo/core/Constants.java 
(original)
+++ accumulo/trunk/core/src/main/java/org/apache/accumulo/core/Constants.java 
Sat Feb  9 02:10:15 2013
@@ -35,8 +35,8 @@ public class Constants {
   
   // versions should never be negative
   public static final Integer WIRE_VERSION = 2;
-  public static final int DATA_VERSION = 4;
-  public static final int PREV_DATA_VERSION = 3;
+  public static final int DATA_VERSION = 5;
+  public static final int PREV_DATA_VERSION = 4;
   
   // Zookeeper locations
   public static final String ZROOT = /accumulo;

Modified: 
accumulo/trunk/server/src/main/java/org/apache/accumulo/server/master/Master.java
URL: 
http://svn.apache.org/viewvc/accumulo/trunk/server/src/main/java/org/apache/accumulo/server/master/Master.java?rev=1444313r1=1444312r2=1444313view=diff
==
--- 
accumulo/trunk/server/src/main/java/org/apache/accumulo/server/master/Master.java
 (original)
+++ 
accumulo/trunk/server/src/main/java/org/apache/accumulo/server/master/Master.java
 Sat Feb  9 02:10:15 2013
@@ -98,7 +98,6 @@ import org.apache.accumulo.fate.zookeepe
 import org.apache.accumulo.server.Accumulo;
 import org.apache.accumulo.server.client.HdfsZooInstance;
 import org.apache.accumulo.server.conf.ServerConfiguration;
-import org.apache.accumulo.server.iterators.MetadataBulkLoadFilter;
 import org.apache.accumulo.server.master.LiveTServerSet.TServerConnection;
 import org.apache.accumulo.server.master.balancer.DefaultLoadBalancer;
 import org.apache.accumulo.server.master.balancer.TabletBalancer;
@@ -157,7 +156,6 @@ import org.apache.accumulo.server.zookee
 import org.apache.accumulo.start.classloader.vfs.AccumuloVFSClassLoader;
 import org.apache.accumulo.trace.instrument.thrift.TraceWrap;
 import org.apache.accumulo.trace.thrift.TInfo;
-import org.apache.hadoop.fs.FileStatus;
 import org.apache.hadoop.fs.FileSystem;
 import org.apache.hadoop.fs.Path;
 import org.apache.hadoop.io.DataInputBuffer;
@@ -171,8 +169,6 @@ import org.apache.zookeeper.KeeperExcept
 import org.apache.zookeeper.KeeperException.NoNodeException;
 import org.apache.zookeeper.WatchedEvent;
 import org.apache.zookeeper.Watcher;
-import org.apache.zookeeper.ZooDefs;
-import org.apache.zookeeper.data.ACL;
 import org.apache.zookeeper.data.Stat;
 
 /**
@@ -279,53 +275,21 @@ public class Master implements LiveTServ
 log.info(Upgrading zookeeper);
 
 IZooReaderWriter zoo = ZooReaderWriter.getInstance();
-
-TablePropUtil.setTableProperty(Constants.METADATA_TABLE_ID, 
Property.TABLE_ITERATOR_PREFIX.getKey() + majc.bulkLoadFilter, 20,
-+ MetadataBulkLoadFilter.class.getName());
-
-zoo.putPersistentData(ZooUtil.getRoot(instance) + 
Constants.ZTABLE_LOCKS, new byte[0], NodeExistsPolicy.SKIP);
-zoo.putPersistentData(ZooUtil.getRoot(instance) + 
Constants.ZHDFS_RESERVATIONS, new byte[0], NodeExistsPolicy.SKIP);
-zoo.putPersistentData(ZooUtil.getRoot(instance) + 
Constants.ZNEXT_FILE, new byte[] {'0'}, NodeExistsPolicy.SKIP);
-
-String[] tablePropsToDelete = new String[] {table.scan.cache.size, 
table.scan.cache.enable};
-
+
+zoo.putPersistentData(ZooUtil.getRoot(instance) + Constants.ZRECOVERY, 
new byte[] {'0'}, NodeExistsPolicy.SKIP);
+
 for (String id : Tables.getIdToNameMap(instance).keySet()) {
-  zoo.putPersistentData(ZooUtil.getRoot(instance) + Constants.ZTABLES 
+ / + id + Constants.ZTABLE_FLUSH_ID, 0.getBytes(), NodeExistsPolicy.SKIP);
-  zoo.putPersistentData(ZooUtil.getRoot(instance) + Constants.ZTABLES 
+ / + id + Constants.ZTABLE_COMPACT_ID, 0.getBytes(), 
NodeExistsPolicy.SKIP);
+
   zoo.putPersistentData(ZooUtil.getRoot(instance) + Constants.ZTABLES 
+ / + id + Constants.ZTABLE_COMPACT_CANCEL_ID, 0.getBytes(),
   NodeExistsPolicy.SKIP);
-  
-  for (String prop : tablePropsToDelete) {
-String propPath = ZooUtil.getRoot(instance) + Constants.ZTABLES + 
/ + id + Constants.ZTABLE_CONF + / + prop;
-if (zoo.exists(propPath))
-  zoo.delete(propPath, -1

svn commit: r1445221 - /accumulo/trunk/examples/instamo/src/main/java/org/apache/accumulo/instamo/MapReduceExample.java

2013-02-12 Thread kturner
Author: kturner
Date: Tue Feb 12 16:02:56 2013
New Revision: 1445221

URL: http://svn.apache.org/r1445221
Log:
ACCUMULO-745 updated example to use new continuous ingest options

Modified:

accumulo/trunk/examples/instamo/src/main/java/org/apache/accumulo/instamo/MapReduceExample.java

Modified: 
accumulo/trunk/examples/instamo/src/main/java/org/apache/accumulo/instamo/MapReduceExample.java
URL: 
http://svn.apache.org/viewvc/accumulo/trunk/examples/instamo/src/main/java/org/apache/accumulo/instamo/MapReduceExample.java?rev=1445221r1=1445220r2=1445221view=diff
==
--- 
accumulo/trunk/examples/instamo/src/main/java/org/apache/accumulo/instamo/MapReduceExample.java
 (original)
+++ 
accumulo/trunk/examples/instamo/src/main/java/org/apache/accumulo/instamo/MapReduceExample.java
 Tue Feb 12 16:02:56 2013
@@ -19,9 +19,9 @@ package org.apache.accumulo.instamo;
 import java.io.File;
 import java.util.UUID;
 
+import org.apache.accumulo.test.MiniAccumuloCluster;
 import org.apache.accumulo.test.continuous.ContinuousIngest;
 import org.apache.accumulo.test.continuous.ContinuousVerify;
-import org.apache.accumulo.test.MiniAccumuloCluster;
 import org.apache.commons.io.FileUtils;
 
 /**
@@ -32,15 +32,15 @@ public class MapReduceExample {
   public static void run(String instanceName, String zookeepers, String 
rootPassword, String args[]) throws Exception {
 
 // run continuous ingest to create data. This is not a map reduce job
-ContinuousIngest.main(new String[] {instanceName, zookeepers, root, 
rootPassword, ci, 500, 0, Long.MAX_VALUE + , 1000, 1000, 
100,
-6, 2, false});
+ContinuousIngest.main(new String[] {-i, instanceName, -z, zookeepers, 
-u, root, -p, rootPassword, --table, ci, --num, 500,
+--batchMemory, 100});
 
 String outputDir = FileUtils.getTempDirectoryPath() + File.separator + 
ci_verify + UUID.randomUUID().toString();
 
 try {
   // run verify map reduce job locally. This jobs looks for holes in the 
linked list create by continuous ingest
-  ContinuousVerify.main(new String[] {-D, mapred.job.tracker=local, 
-D, fs.default.name=file:///, instanceName, zookeepers, root, 
rootPassword,
-  ci, outputDir, 4, 1, false});
+  ContinuousVerify.main(new String[] {-D, mapred.job.tracker=local, 
-D, fs.default.name=file:///, -i, instanceName, -z, zookeepers, -u,
+  root, -p, rootPassword, --table, ci, --output, outputDir, 
--maxMappers, 4, --reducers, 1});
 } finally {
   // delete output dir of mapreduce job
   FileUtils.deleteQuietly(new File(outputDir));




svn commit: r1445300 - /accumulo/site/trunk/content/people.mdtext

2013-02-12 Thread kturner
Author: kturner
Date: Tue Feb 12 18:31:56 2013
New Revision: 1445300

URL: http://svn.apache.org/r1445300
Log:
CMS commit to accumulo by kturner

Modified:
accumulo/site/trunk/content/people.mdtext

Modified: accumulo/site/trunk/content/people.mdtext
URL: 
http://svn.apache.org/viewvc/accumulo/site/trunk/content/people.mdtext?rev=1445300r1=1445299r2=1445300view=diff
==
--- accumulo/site/trunk/content/people.mdtext (original)
+++ accumulo/site/trunk/content/people.mdtext Tue Feb 12 18:31:56 2013
@@ -70,21 +70,22 @@ Contributors
   tr class=oddtd/tdtdChris Bennight/tdtd/tdtd/td/tr
   tr class=eventd/tdtdChris McCubbin/tdtda 
href=http://sqrrl.com/sqrrl/a/tdtdET (a 
href=http://www.timeanddate.com/library/abbreviations/timezones/na/est.html-5/a
 / a 
href=http://www.timeanddate.com/library/abbreviations/timezones/na/edt.html-4/a)/td/tr
   tr class=oddtd/tdtdChristian Rohling/tdtd/tdtd/td/tr
-  tr class=eventd/tdtdDennis Patrone/tdtda 
href=http://www.jhuapl.edu/The Johns Hopkins UniversitybrApplied Physics 
Laboratory/a/tdtdET (a 
href=http://www.timeanddate.com/library/abbreviations/timezones/na/est.html-5/a
 / a 
href=http://www.timeanddate.com/library/abbreviations/timezones/na/edt.html-4/a)/td/tr
-  tr class=oddtd/tdtdEd Kohlwey/tdtda 
href=http://www.boozallen.com/Booz Allen Hamilton/a/tdtd/td/tr
-  tr class=eventdedwardyoon/tdtdEdward 
Yoon/tdtd/tdtd/td/tr
-  tr class=oddtd/tdtdJay Shipper/tdtd/tdtd/td/tr
-  tr class=eventd/tdtdJesse Yates/tdtd/tdtd/td/tr
-  tr class=oddtd/tdtdJim Klucar/tdtda 
href=http://www.praxiseng.com/Praxis Engineering/a/tdtdET (a 
href=http://www.timeanddate.com/library/abbreviations/timezones/na/est.html-5/a
 / a 
href=http://www.timeanddate.com/library/abbreviations/timezones/na/edt.html-4/a)/td/tr
-  tr class=eventd/tdtdJoe Skora/tdtd/tdtd/td/tr
-  tr class=oddtd/tdtdLaura Peaslee/tdtd/tdtd/td/tr
-  tr class=eventd/tdtdLuke Brassard/tdtda 
href=http://sqrrl.com/sqrrl/a/tdtdET (a 
href=http://www.timeanddate.com/library/abbreviations/timezones/na/est.html-5/a
 / a 
href=http://www.timeanddate.com/library/abbreviations/timezones/na/edt.html-4/a)/td/tr
-  tr class=oddtd/tdtdMatthew Kirkley/tdtd/tdtd/td/tr
-  tr class=eventd/tdtdMichael Wall/tdtd/tdtd/td/tr
-  tr class=oddtd/tdtdOren Falkowitz/tdtda 
href=http://sqrrl.com/sqrrl/a/tdtdET (a 
href=http://www.timeanddate.com/library/abbreviations/timezones/na/est.html-5/a
 / a 
href=http://www.timeanddate.com/library/abbreviations/timezones/na/edt.html-4/a)/td/tr
-  tr class=eventd/tdtdPhil Eberhardt/tdtda 
href=http://sqrrl.com/sqrrl/a/tdtdET (a 
href=http://www.timeanddate.com/library/abbreviations/timezones/na/est.html-5/a
 / a 
href=http://www.timeanddate.com/library/abbreviations/timezones/na/edt.html-4/a)/td/tr
-  tr class=oddtd/tdtdSapah Shah/tdtd/tdtd/td/tr
-  tr class=eventd/tdtdScott Kuehn/tdtd/tdtd/td/tr
-  tr class=oddtd/tdtdTim Halloran/tdtd/tdtd/td/tr
-  tr class=eventd/tdtdTravis Pinney/tdtd/tdtd/td/tr
+  tr class=eventd/tdtdDamon Brown/tdtd/tdtd/td/tr
+  tr class=oddtd/tdtdDennis Patrone/tdtda 
href=http://www.jhuapl.edu/The Johns Hopkins UniversitybrApplied Physics 
Laboratory/a/tdtdET (a 
href=http://www.timeanddate.com/library/abbreviations/timezones/na/est.html-5/a
 / a 
href=http://www.timeanddate.com/library/abbreviations/timezones/na/edt.html-4/a)/td/tr
+  tr class=eventd/tdtdEd Kohlwey/tdtda 
href=http://www.boozallen.com/Booz Allen Hamilton/a/tdtd/td/tr
+  tr class=oddtdedwardyoon/tdtdEdward 
Yoon/tdtd/tdtd/td/tr
+  tr class=eventd/tdtdJay Shipper/tdtd/tdtd/td/tr
+  tr class=oddtd/tdtdJesse Yates/tdtd/tdtd/td/tr
+  tr class=eventd/tdtdJim Klucar/tdtda 
href=http://www.praxiseng.com/Praxis Engineering/a/tdtdET (a 
href=http://www.timeanddate.com/library/abbreviations/timezones/na/est.html-5/a
 / a 
href=http://www.timeanddate.com/library/abbreviations/timezones/na/edt.html-4/a)/td/tr
+  tr class=oddtd/tdtdJoe Skora/tdtd/tdtd/td/tr
+  tr class=eventd/tdtdLaura Peaslee/tdtd/tdtd/td/tr
+  tr class=oddtd/tdtdLuke Brassard/tdtda 
href=http://sqrrl.com/sqrrl/a/tdtdET (a 
href=http://www.timeanddate.com/library/abbreviations/timezones/na/est.html-5/a
 / a 
href=http://www.timeanddate.com/library/abbreviations/timezones/na/edt.html-4/a)/td/tr
+  tr class=eventd/tdtdMatthew Kirkley/tdtd/tdtd/td/tr
+  tr class=oddtd/tdtdMichael Wall/tdtd/tdtd/td/tr
+  tr class=eventd/tdtdOren Falkowitz/tdtda 
href=http://sqrrl.com/sqrrl/a/tdtdET (a 
href=http://www.timeanddate.com/library/abbreviations/timezones/na/est.html-5/a
 / a 
href=http://www.timeanddate.com/library/abbreviations/timezones/na/edt.html-4/a)/td/tr
+  tr class=oddtd/tdtdPhil Eberhardt/tdtda 
href=http://sqrrl.com/sqrrl/a/tdtdET (a 
href=http://www.timeanddate.com/library/abbreviations/timezones/na/est.html-5/a
 / a 
href=http://www.timeanddate.com/library/abbreviations/timezones/na/edt.html-4/a)/td/tr
+  tr class=eventd/tdtdSapah Shah/tdtd/tdtd/td/tr
+  tr class=oddtd/tdtdScott Kuehn

svn commit: r1445303 - /accumulo/site/trunk/content/people.mdtext

2013-02-12 Thread kturner
Author: kturner
Date: Tue Feb 12 18:36:23 2013
New Revision: 1445303

URL: http://svn.apache.org/r1445303
Log:
CMS commit to accumulo by kturner

Modified:
accumulo/site/trunk/content/people.mdtext

Modified: accumulo/site/trunk/content/people.mdtext
URL: 
http://svn.apache.org/viewvc/accumulo/site/trunk/content/people.mdtext?rev=1445303r1=1445302r2=1445303view=diff
==
--- accumulo/site/trunk/content/people.mdtext (original)
+++ accumulo/site/trunk/content/people.mdtext Tue Feb 12 18:36:23 2013
@@ -70,7 +70,7 @@ Contributors
   tr class=oddtd/tdtdChris Bennight/tdtd/tdtd/td/tr
   tr class=eventd/tdtdChris McCubbin/tdtda 
href=http://sqrrl.com/sqrrl/a/tdtdET (a 
href=http://www.timeanddate.com/library/abbreviations/timezones/na/est.html-5/a
 / a 
href=http://www.timeanddate.com/library/abbreviations/timezones/na/edt.html-4/a)/td/tr
   tr class=oddtd/tdtdChristian Rohling/tdtd/tdtd/td/tr
-  tr class=eventd/tdtdDamon Brown/tdtd/tdtd/td/tr
+  tr class=eventd/tdtdDamon Brown/tdtda 
href=http://www.tetraconcepts.com;Tetra Concepts LLC/a/tdtdET (a 
href=http://www.timeanddate.com/library/abbreviations/timezones/na/est.html-5/a
 / a 
href=http://www.timeanddate.com/library/abbreviations/timezones/na/edt.html-4/a)/td/tr
   tr class=oddtd/tdtdDennis Patrone/tdtda 
href=http://www.jhuapl.edu/The Johns Hopkins UniversitybrApplied Physics 
Laboratory/a/tdtdET (a 
href=http://www.timeanddate.com/library/abbreviations/timezones/na/est.html-5/a
 / a 
href=http://www.timeanddate.com/library/abbreviations/timezones/na/edt.html-4/a)/td/tr
   tr class=eventd/tdtdEd Kohlwey/tdtda 
href=http://www.boozallen.com/Booz Allen Hamilton/a/tdtd/td/tr
   tr class=oddtdedwardyoon/tdtdEdward 
Yoon/tdtd/tdtd/td/tr




svn commit: r850390 - in /websites/production/accumulo/content: ./ 1.4/apidocs/

2013-02-12 Thread kturner
Author: kturner
Date: Tue Feb 12 18:37:54 2013
New Revision: 850390

Log:
Publishing svnmucc operation to accumulo site by kturner

Added:
websites/production/accumulo/content/
  - copied from r850389, websites/staging/accumulo/trunk/content/
websites/production/accumulo/content/1.4/apidocs/
  - copied from r850389, websites/production/accumulo/content/1.4/apidocs/



svn commit: r1445320 - /accumulo/trunk/bin/bootstrap_hdfs.sh

2013-02-12 Thread kturner
Author: kturner
Date: Tue Feb 12 19:17:27 2013
New Revision: 1445320

URL: http://svn.apache.org/r1445320
Log:
ACCUMULO-645 fixed bootstrap_hdfs.sh

Modified:
accumulo/trunk/bin/bootstrap_hdfs.sh

Modified: accumulo/trunk/bin/bootstrap_hdfs.sh
URL: 
http://svn.apache.org/viewvc/accumulo/trunk/bin/bootstrap_hdfs.sh?rev=1445320r1=1445319r2=1445320view=diff
==
--- accumulo/trunk/bin/bootstrap_hdfs.sh (original)
+++ accumulo/trunk/bin/bootstrap_hdfs.sh Tue Feb 12 19:17:27 2013
@@ -61,16 +61,17 @@ fi
 #
 # Copy all jars in lib to the system context directory
 #
-$HADOOP_PREFIX/bin/hadoop fs -moveFromLocal $ACCUMULO_HOME/lib/*.jar 
$SYSTEM_CONTEXT_HDFS_DIR   /dev/null
+$HADOOP_PREFIX/bin/hadoop fs -moveFromLocal $ACCUMULO_HOME/lib/*.jar 
$SYSTEM_CONTEXT_HDFS_DIR   /dev/null
 
 $HADOOP_PREFIX/bin/hadoop fs -setrep -R $REP $SYSTEM_CONTEXT_HDFS_DIR   
/dev/null
 
+
 #
 # We need two of the jars in lib, copy them back out and remove them from the 
system context dir
 #
 $HADOOP_PREFIX/bin/hadoop fs -copyToLocal 
$SYSTEM_CONTEXT_HDFS_DIR/log4j-1.2.16.jar $ACCUMULO_HOME/lib/.   /dev/null
 $HADOOP_PREFIX/bin/hadoop fs -rmr 
$SYSTEM_CONTEXT_HDFS_DIR/log4j-1.2.16.jar   /dev/null
-$HADOOP_PREFIX/bin/hadoop fs -copyToLocal 
$SYSTEM_CONTEXT_HDFS_DIR/commons-vfs2-2.0.jar $ACCUMULO_HOME/lib/.   
/dev/null
+$HADOOP_PREFIX/bin/hadoop fs -copyToLocal 
$SYSTEM_CONTEXT_HDFS_DIR/commons-vfs2-2.0.jar $ACCUMULO_HOME/lib/.   
/dev/null
 $HADOOP_PREFIX/bin/hadoop fs -rmr 
$SYSTEM_CONTEXT_HDFS_DIR/commons-vfs2-2.0.jar   /dev/null
 $HADOOP_PREFIX/bin/hadoop fs -copyToLocal 
$SYSTEM_CONTEXT_HDFS_DIR/accumulo-start-${ACCUMULO_VERSION}.jar 
$ACCUMULO_HOME/lib/.   /dev/null
 $HADOOP_PREFIX/bin/hadoop fs -rmr 
$SYSTEM_CONTEXT_HDFS_DIR/accumulo-start-${ACCUMULO_VERSION}.jar   /dev/null




svn commit: r1446318 - /accumulo/site/trunk/content/people.mdtext

2013-02-14 Thread kturner
Author: kturner
Date: Thu Feb 14 20:28:50 2013
New Revision: 1446318

URL: http://svn.apache.org/r1446318
Log:
CMS commit to accumulo by kturner

Modified:
accumulo/site/trunk/content/people.mdtext

Modified: accumulo/site/trunk/content/people.mdtext
URL: 
http://svn.apache.org/viewvc/accumulo/site/trunk/content/people.mdtext?rev=1446318r1=1446317r2=1446318view=diff
==
--- accumulo/site/trunk/content/people.mdtext (original)
+++ accumulo/site/trunk/content/people.mdtext Thu Feb 14 20:28:50 2013
@@ -78,14 +78,15 @@ Contributors
   tr class=oddtd/tdtdJesse Yates/tdtd/tdtd/td/tr
   tr class=eventd/tdtdJim Klucar/tdtda 
href=http://www.praxiseng.com/Praxis Engineering/a/tdtdET (a 
href=http://www.timeanddate.com/library/abbreviations/timezones/na/est.html-5/a
 / a 
href=http://www.timeanddate.com/library/abbreviations/timezones/na/edt.html-4/a)/td/tr
   tr class=oddtd/tdtdJoe Skora/tdtd/tdtd/td/tr
-  tr class=eventd/tdtdLaura Peaslee/tdtd/tdtd/td/tr
-  tr class=oddtd/tdtdLuke Brassard/tdtda 
href=http://sqrrl.com/sqrrl/a/tdtdET (a 
href=http://www.timeanddate.com/library/abbreviations/timezones/na/est.html-5/a
 / a 
href=http://www.timeanddate.com/library/abbreviations/timezones/na/edt.html-4/a)/td/tr
-  tr class=eventd/tdtdMatthew Kirkley/tdtd/tdtd/td/tr
-  tr class=oddtd/tdtdMichael Wall/tdtd/tdtd/td/tr
-  tr class=eventd/tdtdOren Falkowitz/tdtda 
href=http://sqrrl.com/sqrrl/a/tdtdET (a 
href=http://www.timeanddate.com/library/abbreviations/timezones/na/est.html-5/a
 / a 
href=http://www.timeanddate.com/library/abbreviations/timezones/na/edt.html-4/a)/td/tr
-  tr class=oddtd/tdtdPhil Eberhardt/tdtda 
href=http://sqrrl.com/sqrrl/a/tdtdET (a 
href=http://www.timeanddate.com/library/abbreviations/timezones/na/est.html-5/a
 / a 
href=http://www.timeanddate.com/library/abbreviations/timezones/na/edt.html-4/a)/td/tr
-  tr class=eventd/tdtdSapah Shah/tdtd/tdtd/td/tr
-  tr class=oddtd/tdtdScott Kuehn/tdtd/tdtd/td/tr
-  tr class=eventd/tdtdTim Halloran/tdtd/tdtd/td/tr
-  tr class=oddtd/tdtdTravis Pinney/tdtd/tdtd/td/tr
+  tr class=eventd/tdtdKevin Faro/tdtda 
href=http://www.tetraconcepts.com;Tetra Concepts LLC/a/tdtdET (a 
href=http://www.timeanddate.com/library/abbreviations/timezones/na/est.html-5/a
 / a 
href=http://www.timeanddate.com/library/abbreviations/timezones/na/edt.html-4/a)/td/tr
+  tr class=oddtd/tdtdLaura Peaslee/tdtd/tdtd/td/tr
+  tr class=eventd/tdtdLuke Brassard/tdtda 
href=http://sqrrl.com/sqrrl/a/tdtdET (a 
href=http://www.timeanddate.com/library/abbreviations/timezones/na/est.html-5/a
 / a 
href=http://www.timeanddate.com/library/abbreviations/timezones/na/edt.html-4/a)/td/tr
+  tr class=oddtd/tdtdMatthew Kirkley/tdtd/tdtd/td/tr
+  tr class=eventd/tdtdMichael Wall/tdtd/tdtd/td/tr
+  tr class=oddtd/tdtdOren Falkowitz/tdtda 
href=http://sqrrl.com/sqrrl/a/tdtdET (a 
href=http://www.timeanddate.com/library/abbreviations/timezones/na/est.html-5/a
 / a 
href=http://www.timeanddate.com/library/abbreviations/timezones/na/edt.html-4/a)/td/tr
+  tr class=eventd/tdtdPhil Eberhardt/tdtda 
href=http://sqrrl.com/sqrrl/a/tdtdET (a 
href=http://www.timeanddate.com/library/abbreviations/timezones/na/est.html-5/a
 / a 
href=http://www.timeanddate.com/library/abbreviations/timezones/na/edt.html-4/a)/td/tr
+  tr class=oddtd/tdtdSapah Shah/tdtd/tdtd/td/tr
+  tr class=eventd/tdtdScott Kuehn/tdtd/tdtd/td/tr
+  tr class=oddtd/tdtdTim Halloran/tdtd/tdtd/td/tr
+  tr class=eventd/tdtdTravis Pinney/tdtd/tdtd/td/tr
 /table
\ No newline at end of file




svn commit: r850635 - in /websites/production/accumulo/content: ./ 1.4/apidocs/

2013-02-14 Thread kturner
Author: kturner
Date: Thu Feb 14 20:30:09 2013
New Revision: 850635

Log:
Publishing svnmucc operation to accumulo site by kturner

Added:
websites/production/accumulo/content/
  - copied from r850634, websites/staging/accumulo/trunk/content/
websites/production/accumulo/content/1.4/apidocs/
  - copied from r850634, websites/production/accumulo/content/1.4/apidocs/



svn commit: r1447769 - /accumulo/branches/1.5/

2013-02-19 Thread kturner
Author: kturner
Date: Tue Feb 19 15:36:16 2013
New Revision: 1447769

URL: http://svn.apache.org/r1447769
Log:
#ACCUMULO-970 created 1.5 branch

Added:
accumulo/branches/1.5/   (props changed)
  - copied from r1447767, accumulo/trunk/

Propchange: accumulo/branches/1.5/
--
--- svn:ignore (added)
+++ svn:ignore Tue Feb 19 15:36:16 2013
@@ -0,0 +1,8 @@
+logs
+walogs
+target
+.idea
+.project
+.settings
+.pydevproject
+accumulo.iml

Propchange: accumulo/branches/1.5/
--
--- svn:mergeinfo (added)
+++ svn:mergeinfo Tue Feb 19 15:36:16 2013
@@ -0,0 +1,18 @@
+/accumulo/branches/1.3:1309369,1328076,1330246,1330264,1330944,1349971,1354669
+/accumulo/branches/1.3/src:1309369,1328076,1330246,1349971,1354669
+/accumulo/branches/1.4:1305403-1382577,1382613,1388120,1388629,1393868,1396065,1396572,1396616,1396758,1396772,1397048,1397113,1397117,1397176,1397189,1397383,1397700,1397921,1398286,1398308,1398359,1398393,1398399,1398438,1398514,1398801,1399211,1399717,1400976,1402571,1402682,1407301,1423032,1423629,1427864
+/accumulo/branches/1.4/src:1305403-1356900,1358206,1363430,1364778,1365213,1382566,1382923,1388120,1396772,1397048,1397113,1397117,1397176,1397189,1397383,1397700,1397921,1398286,1398308,1398359,1398393,1398399,1398438,1399211,1400976,1402571,1402682,1407157,1423032,1423624,1427919,1428054
+/accumulo/branches/1.4.2:1399210,1402681
+/accumulo/branches/1.4.2/src:1399210,1402681
+/accumulo/branches/ACCUMULO-259:1343822-1438343
+/accumulo/branches/ACCUMULO-672:1357826,1357829,1357842,1357858,1358236,1359163
+/accumulo/trunk/src:1329425,1332224,1332278,1332347,1333047,1333070,1341000,1342373,1350779,1351691,1356400,1359721
+/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,1245632
+/incubator/accumulo/branches/1.3/src: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,1245632
+/incubator/accumulo/branches/1.3.5rc:1209938
+/incubator/accumulo/branches/1.3.5rc/src:1209938
+/incubator/accumulo/branches/1.4:1201902-1305402
+/incubator/accumulo/branches/1.4/src:1201899-1305402
+/incubator/accumulo/branches/1.4.0rc:1304025,1305326
+/incubator/accumulo/branches/1.4.0rc/src:1304025,1305326
+/incubator/accumulo/trunk/src:1178656-1201898,1205476,1205570,1208726,1222413,1222719,1222725,1222733-1222734,1296160-1296495




svn commit: r1448472 - in /accumulo/trunk/core/src: main/java/org/apache/accumulo/core/security/Authorizations.java test/java/org/apache/accumulo/core/security/AuthorizationsTest.java

2013-02-20 Thread kturner
Author: kturner
Date: Wed Feb 20 23:39:52 2013
New Revision: 1448472

URL: http://svn.apache.org/r1448472
Log:
ACCUMULO-1051 checking in patch from Kevin Faro

Modified:

accumulo/trunk/core/src/main/java/org/apache/accumulo/core/security/Authorizations.java

accumulo/trunk/core/src/test/java/org/apache/accumulo/core/security/AuthorizationsTest.java

Modified: 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/security/Authorizations.java
URL: 
http://svn.apache.org/viewvc/accumulo/trunk/core/src/main/java/org/apache/accumulo/core/security/Authorizations.java?rev=1448472r1=1448471r2=1448472view=diff
==
--- 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/security/Authorizations.java
 (original)
+++ 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/security/Authorizations.java
 Wed Feb 20 23:39:52 2013
@@ -26,6 +26,8 @@ import java.util.Collections;
 import java.util.HashSet;
 import java.util.Iterator;
 import java.util.List;
+import java.util.Set;
+import java.util.TreeSet;
 
 import org.apache.accumulo.core.data.ArrayByteSequence;
 import org.apache.accumulo.core.data.ByteSequence;
@@ -37,7 +39,7 @@ public class Authorizations implements I
   
   private static final long serialVersionUID = 1L;
   
-  private HashSetByteSequence auths = new HashSetByteSequence();
+  private SetByteSequence auths = new HashSetByteSequence();
   private Listbyte[] authsList = new ArrayListbyte[]();
   private Listbyte[] immutableList = Collections.unmodifiableList(authsList);
   
@@ -74,8 +76,9 @@ public class Authorizations implements I
   }
   
   private void checkAuths() {
+SetByteSequence sortedAuths = new TreeSetByteSequence(auths);
 
-for (ByteSequence bs : auths) {
+for (ByteSequence bs : sortedAuths) {
   if (bs.length() == 0) {
 throw new IllegalArgumentException(Empty authorization);
   }
@@ -233,10 +236,10 @@ public class Authorizations implements I
   public String serialize() {
 StringBuilder sb = new StringBuilder(HEADER);
 String sep = ;
-for (ByteSequence auth : auths) {
+for (byte[] auth : immutableList) {
   sb.append(sep);
   sep = ,;
-  sb.append(new String(Base64.encodeBase64(auth.toArray(;
+  sb.append(new String(Base64.encodeBase64(auth)));
 }
 
 return sb.toString();

Modified: 
accumulo/trunk/core/src/test/java/org/apache/accumulo/core/security/AuthorizationsTest.java
URL: 
http://svn.apache.org/viewvc/accumulo/trunk/core/src/test/java/org/apache/accumulo/core/security/AuthorizationsTest.java?rev=1448472r1=1448471r2=1448472view=diff
==
--- 
accumulo/trunk/core/src/test/java/org/apache/accumulo/core/security/AuthorizationsTest.java
 (original)
+++ 
accumulo/trunk/core/src/test/java/org/apache/accumulo/core/security/AuthorizationsTest.java
 Wed Feb 20 23:39:52 2013
@@ -43,4 +43,12 @@ public class AuthorizationsTest {
 assertEquals(a, b);
   }
   
+  @Test
+  public void testSerialization() {
+Authorizations a1 = new Authorizations(a, b);
+Authorizations a2 = new Authorizations(b, a);
+
+assertEquals(a1, a2);
+assertEquals(a1.serialize(), a2.serialize());
+  }
 }




svn commit: r1448692 - in /accumulo/branches/1.5/core/src: main/java/org/apache/accumulo/core/iterators/user/TransformingIterator.java test/java/org/apache/accumulo/core/iterators/user/TransformingIte

2013-02-21 Thread kturner
Author: kturner
Date: Thu Feb 21 15:55:22 2013
New Revision: 1448692

URL: http://svn.apache.org/r1448692
Log:
ACCUMULO-1001 implemented verifyopts for TransformingIterator

Modified:

accumulo/branches/1.5/core/src/main/java/org/apache/accumulo/core/iterators/user/TransformingIterator.java

accumulo/branches/1.5/core/src/test/java/org/apache/accumulo/core/iterators/user/TransformingIteratorTest.java

Modified: 
accumulo/branches/1.5/core/src/main/java/org/apache/accumulo/core/iterators/user/TransformingIterator.java
URL: 
http://svn.apache.org/viewvc/accumulo/branches/1.5/core/src/main/java/org/apache/accumulo/core/iterators/user/TransformingIterator.java?rev=1448692r1=1448691r2=1448692view=diff
==
--- 
accumulo/branches/1.5/core/src/main/java/org/apache/accumulo/core/iterators/user/TransformingIterator.java
 (original)
+++ 
accumulo/branches/1.5/core/src/main/java/org/apache/accumulo/core/iterators/user/TransformingIterator.java
 Thu Feb 21 15:55:22 2013
@@ -140,9 +140,22 @@ abstract public class TransformingIterat
   
   @Override
   public boolean validateOptions(MapString,String options) {
+
+for (String opt : options.keySet()) {
+  try {
+if (options.equals(AUTH_OPT)) {
+  new Authorizations(options.get(opt).getBytes());
+} else if (opt.equals(MAX_BUFFER_SIZE_OPT)) {
+  AccumuloConfiguration.getMemoryInBytes(options.get(opt));
+}
+  } catch (Exception e) {
+throw new IllegalArgumentException(Failed to parse opt  + opt +   
+ options.get(opt), e);
+  }
+}
+
 return true;
   }
-  
+
   @Override
   public SortedKeyValueIteratorKey,Value deepCopy(IteratorEnvironment env) {
 TransformingIterator copy;

Modified: 
accumulo/branches/1.5/core/src/test/java/org/apache/accumulo/core/iterators/user/TransformingIteratorTest.java
URL: 
http://svn.apache.org/viewvc/accumulo/branches/1.5/core/src/test/java/org/apache/accumulo/core/iterators/user/TransformingIteratorTest.java?rev=1448692r1=1448691r2=1448692view=diff
==
--- 
accumulo/branches/1.5/core/src/test/java/org/apache/accumulo/core/iterators/user/TransformingIteratorTest.java
 (original)
+++ 
accumulo/branches/1.5/core/src/test/java/org/apache/accumulo/core/iterators/user/TransformingIteratorTest.java
 Thu Feb 21 15:55:22 2013
@@ -25,6 +25,7 @@ import java.io.IOException;
 import java.util.Arrays;
 import java.util.Collection;
 import java.util.Collections;
+import java.util.HashMap;
 import java.util.HashSet;
 import java.util.Iterator;
 import java.util.List;
@@ -55,6 +56,7 @@ import org.apache.accumulo.core.iterator
 import org.apache.accumulo.core.security.Authorizations;
 import org.apache.accumulo.core.security.ColumnVisibility;
 import org.apache.hadoop.io.Text;
+import org.junit.Assert;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -388,6 +390,28 @@ public class TransformingIteratorTest {
 assertEquals(81, count);
   }
   
+  @Test
+  public void testValidateOptions() {
+TransformingIterator ti = new ColFamReversingKeyTransformingIterator();
+IteratorSetting is = new IteratorSetting(100, cfrkt, 
ColFamReversingKeyTransformingIterator.class);
+TransformingIterator.setAuthorizations(is, new Authorizations(A, B));
+TransformingIterator.setMaxBufferSize(is, 1000);
+Assert.assertTrue(ti.validateOptions(is.getOptions()));
+
+MapString,String opts = new HashMapString,String();
+
+opts.put(TransformingIterator.MAX_BUFFER_SIZE_OPT, 10M);
+Assert.assertTrue(ti.validateOptions(is.getOptions()));
+
+opts.clear();
+opts.put(TransformingIterator.MAX_BUFFER_SIZE_OPT, A,B);
+try {
+  ti.validateOptions(opts);
+  Assert.assertFalse(true);
+} catch (IllegalArgumentException e) {}
+
+  }
+  
   private Key createDeleteKey(String row, String colFam, String colQual, 
String colVis, long timestamp) {
 Key key = new Key(row, colFam, colQual, colVis, timestamp);
 key.setDeleted(true);




svn commit: r1448698 - in /accumulo/trunk: ./ assemble/ core/ core/src/main/java/org/apache/accumulo/core/iterators/user/ core/src/test/java/org/apache/accumulo/core/iterators/user/ examples/ fate/src

2013-02-21 Thread kturner
Author: kturner
Date: Thu Feb 21 16:01:37 2013
New Revision: 1448698

URL: http://svn.apache.org/r1448698
Log:
ACCUMULO-1001 implemented verifyopts for TransformingIterator (merged from 1.5)

Modified:
accumulo/trunk/   (props changed)
accumulo/trunk/assemble/   (props changed)
accumulo/trunk/core/   (props changed)

accumulo/trunk/core/src/main/java/org/apache/accumulo/core/iterators/user/TransformingIterator.java

accumulo/trunk/core/src/test/java/org/apache/accumulo/core/iterators/user/TransformingIteratorTest.java
accumulo/trunk/examples/   (props changed)
accumulo/trunk/fate/src/main/java/org/apache/accumulo/fate/ZooStore.java   
(props changed)

accumulo/trunk/fate/src/main/java/org/apache/accumulo/fate/zookeeper/ZooSession.java
   (props changed)
accumulo/trunk/server/   (props changed)
accumulo/trunk/src/   (props changed)

Propchange: accumulo/trunk/
--
  Merged /accumulo/branches/1.5:r1448388-1448697

Propchange: accumulo/trunk/assemble/
--
  Merged /accumulo/branches/1.5/assemble:r1448388-1448697

Propchange: accumulo/trunk/core/
--
  Merged /accumulo/branches/1.5/core:r1448388-1448697

Modified: 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/iterators/user/TransformingIterator.java
URL: 
http://svn.apache.org/viewvc/accumulo/trunk/core/src/main/java/org/apache/accumulo/core/iterators/user/TransformingIterator.java?rev=1448698r1=1448697r2=1448698view=diff
==
--- 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/iterators/user/TransformingIterator.java
 (original)
+++ 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/iterators/user/TransformingIterator.java
 Thu Feb 21 16:01:37 2013
@@ -140,9 +140,22 @@ abstract public class TransformingIterat
   
   @Override
   public boolean validateOptions(MapString,String options) {
+
+for (String opt : options.keySet()) {
+  try {
+if (options.equals(AUTH_OPT)) {
+  new Authorizations(options.get(opt).getBytes());
+} else if (opt.equals(MAX_BUFFER_SIZE_OPT)) {
+  AccumuloConfiguration.getMemoryInBytes(options.get(opt));
+}
+  } catch (Exception e) {
+throw new IllegalArgumentException(Failed to parse opt  + opt +   
+ options.get(opt), e);
+  }
+}
+
 return true;
   }
-  
+
   @Override
   public SortedKeyValueIteratorKey,Value deepCopy(IteratorEnvironment env) {
 TransformingIterator copy;

Modified: 
accumulo/trunk/core/src/test/java/org/apache/accumulo/core/iterators/user/TransformingIteratorTest.java
URL: 
http://svn.apache.org/viewvc/accumulo/trunk/core/src/test/java/org/apache/accumulo/core/iterators/user/TransformingIteratorTest.java?rev=1448698r1=1448697r2=1448698view=diff
==
--- 
accumulo/trunk/core/src/test/java/org/apache/accumulo/core/iterators/user/TransformingIteratorTest.java
 (original)
+++ 
accumulo/trunk/core/src/test/java/org/apache/accumulo/core/iterators/user/TransformingIteratorTest.java
 Thu Feb 21 16:01:37 2013
@@ -25,6 +25,7 @@ import java.io.IOException;
 import java.util.Arrays;
 import java.util.Collection;
 import java.util.Collections;
+import java.util.HashMap;
 import java.util.HashSet;
 import java.util.Iterator;
 import java.util.List;
@@ -55,6 +56,7 @@ import org.apache.accumulo.core.iterator
 import org.apache.accumulo.core.security.Authorizations;
 import org.apache.accumulo.core.security.ColumnVisibility;
 import org.apache.hadoop.io.Text;
+import org.junit.Assert;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -388,6 +390,28 @@ public class TransformingIteratorTest {
 assertEquals(81, count);
   }
   
+  @Test
+  public void testValidateOptions() {
+TransformingIterator ti = new ColFamReversingKeyTransformingIterator();
+IteratorSetting is = new IteratorSetting(100, cfrkt, 
ColFamReversingKeyTransformingIterator.class);
+TransformingIterator.setAuthorizations(is, new Authorizations(A, B));
+TransformingIterator.setMaxBufferSize(is, 1000);
+Assert.assertTrue(ti.validateOptions(is.getOptions()));
+
+MapString,String opts = new HashMapString,String();
+
+opts.put(TransformingIterator.MAX_BUFFER_SIZE_OPT, 10M);
+Assert.assertTrue(ti.validateOptions(is.getOptions()));
+
+opts.clear();
+opts.put(TransformingIterator.MAX_BUFFER_SIZE_OPT, A,B);
+try {
+  ti.validateOptions(opts);
+  Assert.assertFalse(true);
+} catch (IllegalArgumentException e) {}
+
+  }
+  
   private Key createDeleteKey(String row, String colFam, String colQual, 
String colVis, long timestamp) {
 Key key = new Key(row, colFam, colQual, colVis

svn commit: r1448803 - /accumulo/branches/1.5/server/src/main/java/org/apache/accumulo/server/util/FindOfflineTablets.java

2013-02-21 Thread kturner
Author: kturner
Date: Thu Feb 21 21:06:00 2013
New Revision: 1448803

URL: http://svn.apache.org/r1448803
Log:
ACCUMULO-1080 make it easy to see when a offline tablet has walogs

Modified:

accumulo/branches/1.5/server/src/main/java/org/apache/accumulo/server/util/FindOfflineTablets.java

Modified: 
accumulo/branches/1.5/server/src/main/java/org/apache/accumulo/server/util/FindOfflineTablets.java
URL: 
http://svn.apache.org/viewvc/accumulo/branches/1.5/server/src/main/java/org/apache/accumulo/server/util/FindOfflineTablets.java?rev=1448803r1=1448802r2=1448803view=diff
==
--- 
accumulo/branches/1.5/server/src/main/java/org/apache/accumulo/server/util/FindOfflineTablets.java
 (original)
+++ 
accumulo/branches/1.5/server/src/main/java/org/apache/accumulo/server/util/FindOfflineTablets.java
 Thu Feb 21 21:06:00 2013
@@ -19,12 +19,12 @@ package org.apache.accumulo.server.util;
 import java.util.Set;
 import java.util.concurrent.atomic.AtomicBoolean;
 
-import org.apache.accumulo.server.cli.ClientOpts;
 import org.apache.accumulo.core.Constants;
 import org.apache.accumulo.core.client.Instance;
 import org.apache.accumulo.core.conf.DefaultConfiguration;
 import org.apache.accumulo.core.data.Range;
 import org.apache.accumulo.core.master.state.tables.TableState;
+import org.apache.accumulo.server.cli.ClientOpts;
 import org.apache.accumulo.server.master.LiveTServerSet;
 import org.apache.accumulo.server.master.LiveTServerSet.Listener;
 import org.apache.accumulo.server.master.state.MetaDataTableScanner;
@@ -62,7 +62,7 @@ public class FindOfflineTablets {
   TabletState state = locationState.getState(tservers.getCurrentServers());
   if (state != TabletState.HOSTED  
TableManager.getInstance().getTableState(locationState.extent.getTableId().toString())
 != TableState.OFFLINE)
 if (!locationState.extent.equals(Constants.ROOT_TABLET_EXTENT))
-  System.out.println(locationState +  is  + state);
+  System.out.println(locationState +  is  + state +   #walogs: + 
locationState.walogs.size());
 }
   }
   




svn commit: r1448807 - in /accumulo/trunk: ./ assemble/ core/ examples/ fate/src/main/java/org/apache/accumulo/fate/ fate/src/main/java/org/apache/accumulo/fate/zookeeper/ server/ server/src/main/java

2013-02-21 Thread kturner
Author: kturner
Date: Thu Feb 21 21:17:55 2013
New Revision: 1448807

URL: http://svn.apache.org/r1448807
Log:
ACCUMULO-1080 make it easy to see when a offline tablet has walogs
ACCUMULO-1081 Add a dependency to commons-math for the configuration randomwalk 
tests

Modified:
accumulo/trunk/   (props changed)
accumulo/trunk/assemble/   (props changed)
accumulo/trunk/core/   (props changed)
accumulo/trunk/examples/   (props changed)
accumulo/trunk/fate/src/main/java/org/apache/accumulo/fate/ZooStore.java   
(props changed)

accumulo/trunk/fate/src/main/java/org/apache/accumulo/fate/zookeeper/ZooSession.java
   (props changed)
accumulo/trunk/pom.xml
accumulo/trunk/server/   (props changed)

accumulo/trunk/server/src/main/java/org/apache/accumulo/server/util/FindOfflineTablets.java
accumulo/trunk/src/   (props changed)
accumulo/trunk/test/pom.xml

Propchange: accumulo/trunk/
--
  Merged /accumulo/branches/1.5:r1448698-1448805

Propchange: accumulo/trunk/assemble/
--
  Merged /accumulo/branches/1.5/assemble:r1448698-1448805

Propchange: accumulo/trunk/core/
--
  Merged /accumulo/branches/1.5/core:r1448698-1448805

Propchange: accumulo/trunk/examples/
--
  Merged /accumulo/branches/1.5/examples:r1448698-1448805

Propchange: 
accumulo/trunk/fate/src/main/java/org/apache/accumulo/fate/ZooStore.java
--
  Merged 
/accumulo/branches/1.5/fate/src/main/java/org/apache/accumulo/fate/ZooStore.java:r1448698-1448805

Propchange: 
accumulo/trunk/fate/src/main/java/org/apache/accumulo/fate/zookeeper/ZooSession.java
--
  Merged 
/accumulo/branches/1.5/fate/src/main/java/org/apache/accumulo/fate/zookeeper/ZooSession.java:r1448698-1448805

Modified: accumulo/trunk/pom.xml
URL: 
http://svn.apache.org/viewvc/accumulo/trunk/pom.xml?rev=1448807r1=1448806r2=1448807view=diff
==
--- accumulo/trunk/pom.xml (original)
+++ accumulo/trunk/pom.xml Thu Feb 21 21:17:55 2013
@@ -716,6 +716,11 @@
 version1.0/version
   /dependency
   dependency
+groupIdorg.apache.commons/groupId
+artifactIdcommons-math/artifactId
+version2.2/version
+  /dependency
+  dependency
groupIdcom.beust/groupId
artifactIdjcommander/artifactId
version1.30/version

Propchange: accumulo/trunk/server/
--
  Merged /accumulo/branches/1.5/server:r1448698-1448805

Modified: 
accumulo/trunk/server/src/main/java/org/apache/accumulo/server/util/FindOfflineTablets.java
URL: 
http://svn.apache.org/viewvc/accumulo/trunk/server/src/main/java/org/apache/accumulo/server/util/FindOfflineTablets.java?rev=1448807r1=1448806r2=1448807view=diff
==
--- 
accumulo/trunk/server/src/main/java/org/apache/accumulo/server/util/FindOfflineTablets.java
 (original)
+++ 
accumulo/trunk/server/src/main/java/org/apache/accumulo/server/util/FindOfflineTablets.java
 Thu Feb 21 21:17:55 2013
@@ -19,12 +19,12 @@ package org.apache.accumulo.server.util;
 import java.util.Set;
 import java.util.concurrent.atomic.AtomicBoolean;
 
-import org.apache.accumulo.server.cli.ClientOpts;
 import org.apache.accumulo.core.Constants;
 import org.apache.accumulo.core.client.Instance;
 import org.apache.accumulo.core.conf.DefaultConfiguration;
 import org.apache.accumulo.core.data.Range;
 import org.apache.accumulo.core.master.state.tables.TableState;
+import org.apache.accumulo.server.cli.ClientOpts;
 import org.apache.accumulo.server.master.LiveTServerSet;
 import org.apache.accumulo.server.master.LiveTServerSet.Listener;
 import org.apache.accumulo.server.master.state.MetaDataTableScanner;
@@ -62,7 +62,7 @@ public class FindOfflineTablets {
   TabletState state = locationState.getState(tservers.getCurrentServers());
   if (state != TabletState.HOSTED  
TableManager.getInstance().getTableState(locationState.extent.getTableId().toString())
 != TableState.OFFLINE)
 if (!locationState.extent.equals(Constants.ROOT_TABLET_EXTENT))
-  System.out.println(locationState +  is  + state);
+  System.out.println(locationState +  is  + state +   #walogs: + 
locationState.walogs.size());
 }
   }
   

Propchange: accumulo/trunk/src/
--
  Merged /accumulo/branches/1.5/src:r1448698-1448805

Modified: accumulo/trunk/test/pom.xml
URL: 
http

  1   2   3   4   5   6   7   8   9   10   >