accumulo-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ktur...@apache.org
Subject [25/50] added ability to invalidate server side conditional update sessions
Date Tue, 23 Jul 2013 16:54:50 GMT
http://git-wip-us.apache.org/repos/asf/accumulo/blob/ec537137/core/src/main/java/org/apache/accumulo/core/tabletserver/thrift/TabletClientService.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/accumulo/core/tabletserver/thrift/TabletClientService.java b/core/src/main/java/org/apache/accumulo/core/tabletserver/thrift/TabletClientService.java
index 94744b5..395cc01 100644
--- a/core/src/main/java/org/apache/accumulo/core/tabletserver/thrift/TabletClientService.java
+++ b/core/src/main/java/org/apache/accumulo/core/tabletserver/thrift/TabletClientService.java
@@ -70,7 +70,11 @@ import org.slf4j.LoggerFactory;
 
     public void update(org.apache.accumulo.trace.thrift.TInfo tinfo, org.apache.accumulo.core.security.thrift.TCredentials credentials, org.apache.accumulo.core.data.thrift.TKeyExtent keyExtent, org.apache.accumulo.core.data.thrift.TMutation mutation) throws org.apache.accumulo.core.client.impl.thrift.ThriftSecurityException, NotServingTabletException, ConstraintViolationException, org.apache.thrift.TException;
 
-    public List<org.apache.accumulo.core.data.thrift.TCMResult> conditionalUpdate(org.apache.accumulo.trace.thrift.TInfo tinfo, org.apache.accumulo.core.security.thrift.TCredentials credentials, List<ByteBuffer> authorizations, Map<org.apache.accumulo.core.data.thrift.TKeyExtent,List<org.apache.accumulo.core.data.thrift.TConditionalMutation>> mutations, List<String> symbols) throws org.apache.accumulo.core.client.impl.thrift.ThriftSecurityException, org.apache.thrift.TException;
+    public long startConditionalUpdate(org.apache.accumulo.trace.thrift.TInfo tinfo, org.apache.accumulo.core.security.thrift.TCredentials credentials, List<ByteBuffer> authorizations, String tableID) throws org.apache.accumulo.core.client.impl.thrift.ThriftSecurityException, org.apache.thrift.TException;
+
+    public List<org.apache.accumulo.core.data.thrift.TCMResult> conditionalUpdate(org.apache.accumulo.trace.thrift.TInfo tinfo, long sessID, Map<org.apache.accumulo.core.data.thrift.TKeyExtent,List<org.apache.accumulo.core.data.thrift.TConditionalMutation>> mutations, List<String> symbols) throws NoSuchScanIDException, org.apache.thrift.TException;
+
+    public void invalidateConditionalUpdate(org.apache.accumulo.trace.thrift.TInfo tinfo, long sessID) throws org.apache.thrift.TException;
 
     public List<org.apache.accumulo.core.data.thrift.TKeyExtent> bulkImport(org.apache.accumulo.trace.thrift.TInfo tinfo, org.apache.accumulo.core.security.thrift.TCredentials credentials, long tid, Map<org.apache.accumulo.core.data.thrift.TKeyExtent,Map<String,org.apache.accumulo.core.data.thrift.MapFileInfo>> files, boolean setTime) throws org.apache.accumulo.core.client.impl.thrift.ThriftSecurityException, org.apache.thrift.TException;
 
@@ -128,7 +132,11 @@ import org.slf4j.LoggerFactory;
 
     public void update(org.apache.accumulo.trace.thrift.TInfo tinfo, org.apache.accumulo.core.security.thrift.TCredentials credentials, org.apache.accumulo.core.data.thrift.TKeyExtent keyExtent, org.apache.accumulo.core.data.thrift.TMutation mutation, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.update_call> resultHandler) throws org.apache.thrift.TException;
 
-    public void conditionalUpdate(org.apache.accumulo.trace.thrift.TInfo tinfo, org.apache.accumulo.core.security.thrift.TCredentials credentials, List<ByteBuffer> authorizations, Map<org.apache.accumulo.core.data.thrift.TKeyExtent,List<org.apache.accumulo.core.data.thrift.TConditionalMutation>> mutations, List<String> symbols, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.conditionalUpdate_call> resultHandler) throws org.apache.thrift.TException;
+    public void startConditionalUpdate(org.apache.accumulo.trace.thrift.TInfo tinfo, org.apache.accumulo.core.security.thrift.TCredentials credentials, List<ByteBuffer> authorizations, String tableID, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.startConditionalUpdate_call> resultHandler) throws org.apache.thrift.TException;
+
+    public void conditionalUpdate(org.apache.accumulo.trace.thrift.TInfo tinfo, long sessID, Map<org.apache.accumulo.core.data.thrift.TKeyExtent,List<org.apache.accumulo.core.data.thrift.TConditionalMutation>> mutations, List<String> symbols, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.conditionalUpdate_call> resultHandler) throws org.apache.thrift.TException;
+
+    public void invalidateConditionalUpdate(org.apache.accumulo.trace.thrift.TInfo tinfo, long sessID, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.invalidateConditionalUpdate_call> resultHandler) throws org.apache.thrift.TException;
 
     public void bulkImport(org.apache.accumulo.trace.thrift.TInfo tinfo, org.apache.accumulo.core.security.thrift.TCredentials credentials, long tid, Map<org.apache.accumulo.core.data.thrift.TKeyExtent,Map<String,org.apache.accumulo.core.data.thrift.MapFileInfo>> files, boolean setTime, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.bulkImport_call> resultHandler) throws org.apache.thrift.TException;
 
@@ -457,36 +465,85 @@ import org.slf4j.LoggerFactory;
       return;
     }
 
-    public List<org.apache.accumulo.core.data.thrift.TCMResult> conditionalUpdate(org.apache.accumulo.trace.thrift.TInfo tinfo, org.apache.accumulo.core.security.thrift.TCredentials credentials, List<ByteBuffer> authorizations, Map<org.apache.accumulo.core.data.thrift.TKeyExtent,List<org.apache.accumulo.core.data.thrift.TConditionalMutation>> mutations, List<String> symbols) throws org.apache.accumulo.core.client.impl.thrift.ThriftSecurityException, org.apache.thrift.TException
+    public long startConditionalUpdate(org.apache.accumulo.trace.thrift.TInfo tinfo, org.apache.accumulo.core.security.thrift.TCredentials credentials, List<ByteBuffer> authorizations, String tableID) throws org.apache.accumulo.core.client.impl.thrift.ThriftSecurityException, org.apache.thrift.TException
     {
-      send_conditionalUpdate(tinfo, credentials, authorizations, mutations, symbols);
-      return recv_conditionalUpdate();
+      send_startConditionalUpdate(tinfo, credentials, authorizations, tableID);
+      return recv_startConditionalUpdate();
     }
 
-    public void send_conditionalUpdate(org.apache.accumulo.trace.thrift.TInfo tinfo, org.apache.accumulo.core.security.thrift.TCredentials credentials, List<ByteBuffer> authorizations, Map<org.apache.accumulo.core.data.thrift.TKeyExtent,List<org.apache.accumulo.core.data.thrift.TConditionalMutation>> mutations, List<String> symbols) throws org.apache.thrift.TException
+    public void send_startConditionalUpdate(org.apache.accumulo.trace.thrift.TInfo tinfo, org.apache.accumulo.core.security.thrift.TCredentials credentials, List<ByteBuffer> authorizations, String tableID) throws org.apache.thrift.TException
     {
-      conditionalUpdate_args args = new conditionalUpdate_args();
+      startConditionalUpdate_args args = new startConditionalUpdate_args();
       args.setTinfo(tinfo);
       args.setCredentials(credentials);
       args.setAuthorizations(authorizations);
+      args.setTableID(tableID);
+      sendBase("startConditionalUpdate", args);
+    }
+
+    public long recv_startConditionalUpdate() throws org.apache.accumulo.core.client.impl.thrift.ThriftSecurityException, org.apache.thrift.TException
+    {
+      startConditionalUpdate_result result = new startConditionalUpdate_result();
+      receiveBase(result, "startConditionalUpdate");
+      if (result.isSetSuccess()) {
+        return result.success;
+      }
+      if (result.sec != null) {
+        throw result.sec;
+      }
+      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "startConditionalUpdate failed: unknown result");
+    }
+
+    public List<org.apache.accumulo.core.data.thrift.TCMResult> conditionalUpdate(org.apache.accumulo.trace.thrift.TInfo tinfo, long sessID, Map<org.apache.accumulo.core.data.thrift.TKeyExtent,List<org.apache.accumulo.core.data.thrift.TConditionalMutation>> mutations, List<String> symbols) throws NoSuchScanIDException, org.apache.thrift.TException
+    {
+      send_conditionalUpdate(tinfo, sessID, mutations, symbols);
+      return recv_conditionalUpdate();
+    }
+
+    public void send_conditionalUpdate(org.apache.accumulo.trace.thrift.TInfo tinfo, long sessID, Map<org.apache.accumulo.core.data.thrift.TKeyExtent,List<org.apache.accumulo.core.data.thrift.TConditionalMutation>> mutations, List<String> symbols) throws org.apache.thrift.TException
+    {
+      conditionalUpdate_args args = new conditionalUpdate_args();
+      args.setTinfo(tinfo);
+      args.setSessID(sessID);
       args.setMutations(mutations);
       args.setSymbols(symbols);
       sendBase("conditionalUpdate", args);
     }
 
-    public List<org.apache.accumulo.core.data.thrift.TCMResult> recv_conditionalUpdate() throws org.apache.accumulo.core.client.impl.thrift.ThriftSecurityException, org.apache.thrift.TException
+    public List<org.apache.accumulo.core.data.thrift.TCMResult> recv_conditionalUpdate() throws NoSuchScanIDException, org.apache.thrift.TException
     {
       conditionalUpdate_result result = new conditionalUpdate_result();
       receiveBase(result, "conditionalUpdate");
       if (result.isSetSuccess()) {
         return result.success;
       }
-      if (result.sec != null) {
-        throw result.sec;
+      if (result.nssi != null) {
+        throw result.nssi;
       }
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "conditionalUpdate failed: unknown result");
     }
 
+    public void invalidateConditionalUpdate(org.apache.accumulo.trace.thrift.TInfo tinfo, long sessID) throws org.apache.thrift.TException
+    {
+      send_invalidateConditionalUpdate(tinfo, sessID);
+      recv_invalidateConditionalUpdate();
+    }
+
+    public void send_invalidateConditionalUpdate(org.apache.accumulo.trace.thrift.TInfo tinfo, long sessID) throws org.apache.thrift.TException
+    {
+      invalidateConditionalUpdate_args args = new invalidateConditionalUpdate_args();
+      args.setTinfo(tinfo);
+      args.setSessID(sessID);
+      sendBase("invalidateConditionalUpdate", args);
+    }
+
+    public void recv_invalidateConditionalUpdate() throws org.apache.thrift.TException
+    {
+      invalidateConditionalUpdate_result result = new invalidateConditionalUpdate_result();
+      receiveBase(result, "invalidateConditionalUpdate");
+      return;
+    }
+
     public List<org.apache.accumulo.core.data.thrift.TKeyExtent> bulkImport(org.apache.accumulo.trace.thrift.TInfo tinfo, org.apache.accumulo.core.security.thrift.TCredentials credentials, long tid, Map<org.apache.accumulo.core.data.thrift.TKeyExtent,Map<String,org.apache.accumulo.core.data.thrift.MapFileInfo>> files, boolean setTime) throws org.apache.accumulo.core.client.impl.thrift.ThriftSecurityException, org.apache.thrift.TException
     {
       send_bulkImport(tinfo, credentials, tid, files, setTime);
@@ -1253,24 +1310,63 @@ import org.slf4j.LoggerFactory;
       }
     }
 
-    public void conditionalUpdate(org.apache.accumulo.trace.thrift.TInfo tinfo, org.apache.accumulo.core.security.thrift.TCredentials credentials, List<ByteBuffer> authorizations, Map<org.apache.accumulo.core.data.thrift.TKeyExtent,List<org.apache.accumulo.core.data.thrift.TConditionalMutation>> mutations, List<String> symbols, org.apache.thrift.async.AsyncMethodCallback<conditionalUpdate_call> resultHandler) throws org.apache.thrift.TException {
+    public void startConditionalUpdate(org.apache.accumulo.trace.thrift.TInfo tinfo, org.apache.accumulo.core.security.thrift.TCredentials credentials, List<ByteBuffer> authorizations, String tableID, org.apache.thrift.async.AsyncMethodCallback<startConditionalUpdate_call> resultHandler) throws org.apache.thrift.TException {
       checkReady();
-      conditionalUpdate_call method_call = new conditionalUpdate_call(tinfo, credentials, authorizations, mutations, symbols, resultHandler, this, ___protocolFactory, ___transport);
+      startConditionalUpdate_call method_call = new startConditionalUpdate_call(tinfo, credentials, authorizations, tableID, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
-    public static class conditionalUpdate_call extends org.apache.thrift.async.TAsyncMethodCall {
+    public static class startConditionalUpdate_call extends org.apache.thrift.async.TAsyncMethodCall {
       private org.apache.accumulo.trace.thrift.TInfo tinfo;
       private org.apache.accumulo.core.security.thrift.TCredentials credentials;
       private List<ByteBuffer> authorizations;
-      private Map<org.apache.accumulo.core.data.thrift.TKeyExtent,List<org.apache.accumulo.core.data.thrift.TConditionalMutation>> mutations;
-      private List<String> symbols;
-      public conditionalUpdate_call(org.apache.accumulo.trace.thrift.TInfo tinfo, org.apache.accumulo.core.security.thrift.TCredentials credentials, List<ByteBuffer> authorizations, Map<org.apache.accumulo.core.data.thrift.TKeyExtent,List<org.apache.accumulo.core.data.thrift.TConditionalMutation>> mutations, List<String> symbols, org.apache.thrift.async.AsyncMethodCallback<conditionalUpdate_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+      private String tableID;
+      public startConditionalUpdate_call(org.apache.accumulo.trace.thrift.TInfo tinfo, org.apache.accumulo.core.security.thrift.TCredentials credentials, List<ByteBuffer> authorizations, String tableID, org.apache.thrift.async.AsyncMethodCallback<startConditionalUpdate_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
         super(client, protocolFactory, transport, resultHandler, false);
         this.tinfo = tinfo;
         this.credentials = credentials;
         this.authorizations = authorizations;
+        this.tableID = tableID;
+      }
+
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("startConditionalUpdate", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        startConditionalUpdate_args args = new startConditionalUpdate_args();
+        args.setTinfo(tinfo);
+        args.setCredentials(credentials);
+        args.setAuthorizations(authorizations);
+        args.setTableID(tableID);
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      public long getResult() throws org.apache.accumulo.core.client.impl.thrift.ThriftSecurityException, org.apache.thrift.TException {
+        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
+          throw new IllegalStateException("Method call not finished!");
+        }
+        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
+        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
+        return (new Client(prot)).recv_startConditionalUpdate();
+      }
+    }
+
+    public void conditionalUpdate(org.apache.accumulo.trace.thrift.TInfo tinfo, long sessID, Map<org.apache.accumulo.core.data.thrift.TKeyExtent,List<org.apache.accumulo.core.data.thrift.TConditionalMutation>> mutations, List<String> symbols, org.apache.thrift.async.AsyncMethodCallback<conditionalUpdate_call> resultHandler) throws org.apache.thrift.TException {
+      checkReady();
+      conditionalUpdate_call method_call = new conditionalUpdate_call(tinfo, sessID, mutations, symbols, resultHandler, this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    public static class conditionalUpdate_call extends org.apache.thrift.async.TAsyncMethodCall {
+      private org.apache.accumulo.trace.thrift.TInfo tinfo;
+      private long sessID;
+      private Map<org.apache.accumulo.core.data.thrift.TKeyExtent,List<org.apache.accumulo.core.data.thrift.TConditionalMutation>> mutations;
+      private List<String> symbols;
+      public conditionalUpdate_call(org.apache.accumulo.trace.thrift.TInfo tinfo, long sessID, Map<org.apache.accumulo.core.data.thrift.TKeyExtent,List<org.apache.accumulo.core.data.thrift.TConditionalMutation>> mutations, List<String> symbols, org.apache.thrift.async.AsyncMethodCallback<conditionalUpdate_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+        super(client, protocolFactory, transport, resultHandler, false);
+        this.tinfo = tinfo;
+        this.sessID = sessID;
         this.mutations = mutations;
         this.symbols = symbols;
       }
@@ -1279,15 +1375,14 @@ import org.slf4j.LoggerFactory;
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("conditionalUpdate", org.apache.thrift.protocol.TMessageType.CALL, 0));
         conditionalUpdate_args args = new conditionalUpdate_args();
         args.setTinfo(tinfo);
-        args.setCredentials(credentials);
-        args.setAuthorizations(authorizations);
+        args.setSessID(sessID);
         args.setMutations(mutations);
         args.setSymbols(symbols);
         args.write(prot);
         prot.writeMessageEnd();
       }
 
-      public List<org.apache.accumulo.core.data.thrift.TCMResult> getResult() throws org.apache.accumulo.core.client.impl.thrift.ThriftSecurityException, org.apache.thrift.TException {
+      public List<org.apache.accumulo.core.data.thrift.TCMResult> getResult() throws NoSuchScanIDException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new IllegalStateException("Method call not finished!");
         }
@@ -1297,6 +1392,41 @@ import org.slf4j.LoggerFactory;
       }
     }
 
+    public void invalidateConditionalUpdate(org.apache.accumulo.trace.thrift.TInfo tinfo, long sessID, org.apache.thrift.async.AsyncMethodCallback<invalidateConditionalUpdate_call> resultHandler) throws org.apache.thrift.TException {
+      checkReady();
+      invalidateConditionalUpdate_call method_call = new invalidateConditionalUpdate_call(tinfo, sessID, resultHandler, this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    public static class invalidateConditionalUpdate_call extends org.apache.thrift.async.TAsyncMethodCall {
+      private org.apache.accumulo.trace.thrift.TInfo tinfo;
+      private long sessID;
+      public invalidateConditionalUpdate_call(org.apache.accumulo.trace.thrift.TInfo tinfo, long sessID, org.apache.thrift.async.AsyncMethodCallback<invalidateConditionalUpdate_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+        super(client, protocolFactory, transport, resultHandler, false);
+        this.tinfo = tinfo;
+        this.sessID = sessID;
+      }
+
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("invalidateConditionalUpdate", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        invalidateConditionalUpdate_args args = new invalidateConditionalUpdate_args();
+        args.setTinfo(tinfo);
+        args.setSessID(sessID);
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      public void getResult() throws org.apache.thrift.TException {
+        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
+          throw new IllegalStateException("Method call not finished!");
+        }
+        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
+        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
+        (new Client(prot)).recv_invalidateConditionalUpdate();
+      }
+    }
+
     public void bulkImport(org.apache.accumulo.trace.thrift.TInfo tinfo, org.apache.accumulo.core.security.thrift.TCredentials credentials, long tid, Map<org.apache.accumulo.core.data.thrift.TKeyExtent,Map<String,org.apache.accumulo.core.data.thrift.MapFileInfo>> files, boolean setTime, org.apache.thrift.async.AsyncMethodCallback<bulkImport_call> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       bulkImport_call method_call = new bulkImport_call(tinfo, credentials, tid, files, setTime, resultHandler, this, ___protocolFactory, ___transport);
@@ -1950,7 +2080,9 @@ import org.slf4j.LoggerFactory;
       processMap.put("applyUpdates", new applyUpdates());
       processMap.put("closeUpdate", new closeUpdate());
       processMap.put("update", new update());
+      processMap.put("startConditionalUpdate", new startConditionalUpdate());
       processMap.put("conditionalUpdate", new conditionalUpdate());
+      processMap.put("invalidateConditionalUpdate", new invalidateConditionalUpdate());
       processMap.put("bulkImport", new bulkImport());
       processMap.put("splitTablet", new splitTablet());
       processMap.put("loadTablet", new loadTablet());
@@ -2213,6 +2345,31 @@ import org.slf4j.LoggerFactory;
       }
     }
 
+    public static class startConditionalUpdate<I extends Iface> extends org.apache.thrift.ProcessFunction<I, startConditionalUpdate_args> {
+      public startConditionalUpdate() {
+        super("startConditionalUpdate");
+      }
+
+      public startConditionalUpdate_args getEmptyArgsInstance() {
+        return new startConditionalUpdate_args();
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public startConditionalUpdate_result getResult(I iface, startConditionalUpdate_args args) throws org.apache.thrift.TException {
+        startConditionalUpdate_result result = new startConditionalUpdate_result();
+        try {
+          result.success = iface.startConditionalUpdate(args.tinfo, args.credentials, args.authorizations, args.tableID);
+          result.setSuccessIsSet(true);
+        } catch (org.apache.accumulo.core.client.impl.thrift.ThriftSecurityException sec) {
+          result.sec = sec;
+        }
+        return result;
+      }
+    }
+
     public static class conditionalUpdate<I extends Iface> extends org.apache.thrift.ProcessFunction<I, conditionalUpdate_args> {
       public conditionalUpdate() {
         super("conditionalUpdate");
@@ -2229,14 +2386,34 @@ import org.slf4j.LoggerFactory;
       public conditionalUpdate_result getResult(I iface, conditionalUpdate_args args) throws org.apache.thrift.TException {
         conditionalUpdate_result result = new conditionalUpdate_result();
         try {
-          result.success = iface.conditionalUpdate(args.tinfo, args.credentials, args.authorizations, args.mutations, args.symbols);
-        } catch (org.apache.accumulo.core.client.impl.thrift.ThriftSecurityException sec) {
-          result.sec = sec;
+          result.success = iface.conditionalUpdate(args.tinfo, args.sessID, args.mutations, args.symbols);
+        } catch (NoSuchScanIDException nssi) {
+          result.nssi = nssi;
         }
         return result;
       }
     }
 
+    public static class invalidateConditionalUpdate<I extends Iface> extends org.apache.thrift.ProcessFunction<I, invalidateConditionalUpdate_args> {
+      public invalidateConditionalUpdate() {
+        super("invalidateConditionalUpdate");
+      }
+
+      public invalidateConditionalUpdate_args getEmptyArgsInstance() {
+        return new invalidateConditionalUpdate_args();
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public invalidateConditionalUpdate_result getResult(I iface, invalidateConditionalUpdate_args args) throws org.apache.thrift.TException {
+        invalidateConditionalUpdate_result result = new invalidateConditionalUpdate_result();
+        iface.invalidateConditionalUpdate(args.tinfo, args.sessID);
+        return result;
+      }
+    }
+
     public static class bulkImport<I extends Iface> extends org.apache.thrift.ProcessFunction<I, bulkImport_args> {
       public bulkImport() {
         super("bulkImport");
@@ -13868,34 +14045,31 @@ import org.slf4j.LoggerFactory;
 
   }
 
-  public static class conditionalUpdate_args implements org.apache.thrift.TBase<conditionalUpdate_args, conditionalUpdate_args._Fields>, java.io.Serializable, Cloneable   {
-    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("conditionalUpdate_args");
+  public static class startConditionalUpdate_args implements org.apache.thrift.TBase<startConditionalUpdate_args, startConditionalUpdate_args._Fields>, java.io.Serializable, Cloneable   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("startConditionalUpdate_args");
 
     private static final org.apache.thrift.protocol.TField TINFO_FIELD_DESC = new org.apache.thrift.protocol.TField("tinfo", org.apache.thrift.protocol.TType.STRUCT, (short)1);
     private static final org.apache.thrift.protocol.TField CREDENTIALS_FIELD_DESC = new org.apache.thrift.protocol.TField("credentials", org.apache.thrift.protocol.TType.STRUCT, (short)2);
     private static final org.apache.thrift.protocol.TField AUTHORIZATIONS_FIELD_DESC = new org.apache.thrift.protocol.TField("authorizations", org.apache.thrift.protocol.TType.LIST, (short)3);
-    private static final org.apache.thrift.protocol.TField MUTATIONS_FIELD_DESC = new org.apache.thrift.protocol.TField("mutations", org.apache.thrift.protocol.TType.MAP, (short)4);
-    private static final org.apache.thrift.protocol.TField SYMBOLS_FIELD_DESC = new org.apache.thrift.protocol.TField("symbols", org.apache.thrift.protocol.TType.LIST, (short)5);
+    private static final org.apache.thrift.protocol.TField TABLE_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("tableID", org.apache.thrift.protocol.TType.STRING, (short)4);
 
     private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
     static {
-      schemes.put(StandardScheme.class, new conditionalUpdate_argsStandardSchemeFactory());
-      schemes.put(TupleScheme.class, new conditionalUpdate_argsTupleSchemeFactory());
+      schemes.put(StandardScheme.class, new startConditionalUpdate_argsStandardSchemeFactory());
+      schemes.put(TupleScheme.class, new startConditionalUpdate_argsTupleSchemeFactory());
     }
 
     public org.apache.accumulo.trace.thrift.TInfo tinfo; // required
     public org.apache.accumulo.core.security.thrift.TCredentials credentials; // required
     public List<ByteBuffer> authorizations; // required
-    public Map<org.apache.accumulo.core.data.thrift.TKeyExtent,List<org.apache.accumulo.core.data.thrift.TConditionalMutation>> mutations; // required
-    public List<String> symbols; // required
+    public String tableID; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     @SuppressWarnings("all") public enum _Fields implements org.apache.thrift.TFieldIdEnum {
       TINFO((short)1, "tinfo"),
       CREDENTIALS((short)2, "credentials"),
       AUTHORIZATIONS((short)3, "authorizations"),
-      MUTATIONS((short)4, "mutations"),
-      SYMBOLS((short)5, "symbols");
+      TABLE_ID((short)4, "tableID");
 
       private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
 
@@ -13916,10 +14090,8 @@ import org.slf4j.LoggerFactory;
             return CREDENTIALS;
           case 3: // AUTHORIZATIONS
             return AUTHORIZATIONS;
-          case 4: // MUTATIONS
-            return MUTATIONS;
-          case 5: // SYMBOLS
-            return SYMBOLS;
+          case 4: // TABLE_ID
+            return TABLE_ID;
           default:
             return null;
         }
@@ -13970,37 +14142,32 @@ import org.slf4j.LoggerFactory;
       tmpMap.put(_Fields.AUTHORIZATIONS, new org.apache.thrift.meta_data.FieldMetaData("authorizations", org.apache.thrift.TFieldRequirementType.DEFAULT, 
           new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
               new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING              , true))));
-      tmpMap.put(_Fields.MUTATIONS, new org.apache.thrift.meta_data.FieldMetaData("mutations", org.apache.thrift.TFieldRequirementType.DEFAULT, 
-          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.MAP          , "CMBatch")));
-      tmpMap.put(_Fields.SYMBOLS, new org.apache.thrift.meta_data.FieldMetaData("symbols", org.apache.thrift.TFieldRequirementType.DEFAULT, 
-          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
-              new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))));
+      tmpMap.put(_Fields.TABLE_ID, new org.apache.thrift.meta_data.FieldMetaData("tableID", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
       metaDataMap = Collections.unmodifiableMap(tmpMap);
-      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(conditionalUpdate_args.class, metaDataMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(startConditionalUpdate_args.class, metaDataMap);
     }
 
-    public conditionalUpdate_args() {
+    public startConditionalUpdate_args() {
     }
 
-    public conditionalUpdate_args(
+    public startConditionalUpdate_args(
       org.apache.accumulo.trace.thrift.TInfo tinfo,
       org.apache.accumulo.core.security.thrift.TCredentials credentials,
       List<ByteBuffer> authorizations,
-      Map<org.apache.accumulo.core.data.thrift.TKeyExtent,List<org.apache.accumulo.core.data.thrift.TConditionalMutation>> mutations,
-      List<String> symbols)
+      String tableID)
     {
       this();
       this.tinfo = tinfo;
       this.credentials = credentials;
       this.authorizations = authorizations;
-      this.mutations = mutations;
-      this.symbols = symbols;
+      this.tableID = tableID;
     }
 
     /**
      * Performs a deep copy on <i>other</i>.
      */
-    public conditionalUpdate_args(conditionalUpdate_args other) {
+    public startConditionalUpdate_args(startConditionalUpdate_args other) {
       if (other.isSetTinfo()) {
         this.tinfo = new org.apache.accumulo.trace.thrift.TInfo(other.tinfo);
       }
@@ -14016,20 +14183,13 @@ import org.slf4j.LoggerFactory;
         }
         this.authorizations = __this__authorizations;
       }
-      if (other.isSetMutations()) {
-        this.mutations = other.mutations;
-      }
-      if (other.isSetSymbols()) {
-        List<String> __this__symbols = new ArrayList<String>();
-        for (String other_element : other.symbols) {
-          __this__symbols.add(other_element);
-        }
-        this.symbols = __this__symbols;
+      if (other.isSetTableID()) {
+        this.tableID = other.tableID;
       }
     }
 
-    public conditionalUpdate_args deepCopy() {
-      return new conditionalUpdate_args(this);
+    public startConditionalUpdate_args deepCopy() {
+      return new startConditionalUpdate_args(this);
     }
 
     @Override
@@ -14037,15 +14197,14 @@ import org.slf4j.LoggerFactory;
       this.tinfo = null;
       this.credentials = null;
       this.authorizations = null;
-      this.mutations = null;
-      this.symbols = null;
+      this.tableID = null;
     }
 
     public org.apache.accumulo.trace.thrift.TInfo getTinfo() {
       return this.tinfo;
     }
 
-    public conditionalUpdate_args setTinfo(org.apache.accumulo.trace.thrift.TInfo tinfo) {
+    public startConditionalUpdate_args setTinfo(org.apache.accumulo.trace.thrift.TInfo tinfo) {
       this.tinfo = tinfo;
       return this;
     }
@@ -14069,7 +14228,7 @@ import org.slf4j.LoggerFactory;
       return this.credentials;
     }
 
-    public conditionalUpdate_args setCredentials(org.apache.accumulo.core.security.thrift.TCredentials credentials) {
+    public startConditionalUpdate_args setCredentials(org.apache.accumulo.core.security.thrift.TCredentials credentials) {
       this.credentials = credentials;
       return this;
     }
@@ -14108,7 +14267,7 @@ import org.slf4j.LoggerFactory;
       return this.authorizations;
     }
 
-    public conditionalUpdate_args setAuthorizations(List<ByteBuffer> authorizations) {
+    public startConditionalUpdate_args setAuthorizations(List<ByteBuffer> authorizations) {
       this.authorizations = authorizations;
       return this;
     }
@@ -14128,77 +14287,27 @@ import org.slf4j.LoggerFactory;
       }
     }
 
-    public int getMutationsSize() {
-      return (this.mutations == null) ? 0 : this.mutations.size();
-    }
-
-    public void putToMutations(org.apache.accumulo.core.data.thrift.TKeyExtent key, List<org.apache.accumulo.core.data.thrift.TConditionalMutation> val) {
-      if (this.mutations == null) {
-        this.mutations = new HashMap<org.apache.accumulo.core.data.thrift.TKeyExtent,List<org.apache.accumulo.core.data.thrift.TConditionalMutation>>();
-      }
-      this.mutations.put(key, val);
-    }
-
-    public Map<org.apache.accumulo.core.data.thrift.TKeyExtent,List<org.apache.accumulo.core.data.thrift.TConditionalMutation>> getMutations() {
-      return this.mutations;
-    }
-
-    public conditionalUpdate_args setMutations(Map<org.apache.accumulo.core.data.thrift.TKeyExtent,List<org.apache.accumulo.core.data.thrift.TConditionalMutation>> mutations) {
-      this.mutations = mutations;
-      return this;
-    }
-
-    public void unsetMutations() {
-      this.mutations = null;
-    }
-
-    /** Returns true if field mutations is set (has been assigned a value) and false otherwise */
-    public boolean isSetMutations() {
-      return this.mutations != null;
-    }
-
-    public void setMutationsIsSet(boolean value) {
-      if (!value) {
-        this.mutations = null;
-      }
-    }
-
-    public int getSymbolsSize() {
-      return (this.symbols == null) ? 0 : this.symbols.size();
-    }
-
-    public java.util.Iterator<String> getSymbolsIterator() {
-      return (this.symbols == null) ? null : this.symbols.iterator();
-    }
-
-    public void addToSymbols(String elem) {
-      if (this.symbols == null) {
-        this.symbols = new ArrayList<String>();
-      }
-      this.symbols.add(elem);
-    }
-
-    public List<String> getSymbols() {
-      return this.symbols;
+    public String getTableID() {
+      return this.tableID;
     }
 
-    public conditionalUpdate_args setSymbols(List<String> symbols) {
-      this.symbols = symbols;
+    public startConditionalUpdate_args setTableID(String tableID) {
+      this.tableID = tableID;
       return this;
     }
 
-    public void unsetSymbols() {
-      this.symbols = null;
+    public void unsetTableID() {
+      this.tableID = null;
     }
 
-    /** Returns true if field symbols is set (has been assigned a value) and false otherwise */
-    public boolean isSetSymbols() {
-      return this.symbols != null;
+    /** Returns true if field tableID is set (has been assigned a value) and false otherwise */
+    public boolean isSetTableID() {
+      return this.tableID != null;
     }
 
-    public void setSymbolsIsSet(boolean value) {
+    public void setTableIDIsSet(boolean value) {
       if (!value) {
-        this.symbols = null;
+        this.tableID = null;
       }
     }
 
@@ -14228,19 +14337,11 @@ import org.slf4j.LoggerFactory;
         }
         break;
 
-      case MUTATIONS:
-        if (value == null) {
-          unsetMutations();
-        } else {
-          setMutations((Map<org.apache.accumulo.core.data.thrift.TKeyExtent,List<org.apache.accumulo.core.data.thrift.TConditionalMutation>>)value);
-        }
-        break;
-
-      case SYMBOLS:
+      case TABLE_ID:
         if (value == null) {
-          unsetSymbols();
+          unsetTableID();
         } else {
-          setSymbols((List<String>)value);
+          setTableID((String)value);
         }
         break;
 
@@ -14258,11 +14359,8 @@ import org.slf4j.LoggerFactory;
       case AUTHORIZATIONS:
         return getAuthorizations();
 
-      case MUTATIONS:
-        return getMutations();
-
-      case SYMBOLS:
-        return getSymbols();
+      case TABLE_ID:
+        return getTableID();
 
       }
       throw new IllegalStateException();
@@ -14281,10 +14379,8 @@ import org.slf4j.LoggerFactory;
         return isSetCredentials();
       case AUTHORIZATIONS:
         return isSetAuthorizations();
-      case MUTATIONS:
-        return isSetMutations();
-      case SYMBOLS:
-        return isSetSymbols();
+      case TABLE_ID:
+        return isSetTableID();
       }
       throw new IllegalStateException();
     }
@@ -14293,12 +14389,12 @@ import org.slf4j.LoggerFactory;
     public boolean equals(Object that) {
       if (that == null)
         return false;
-      if (that instanceof conditionalUpdate_args)
-        return this.equals((conditionalUpdate_args)that);
+      if (that instanceof startConditionalUpdate_args)
+        return this.equals((startConditionalUpdate_args)that);
       return false;
     }
 
-    public boolean equals(conditionalUpdate_args that) {
+    public boolean equals(startConditionalUpdate_args that) {
       if (that == null)
         return false;
 
@@ -14329,21 +14425,12 @@ import org.slf4j.LoggerFactory;
           return false;
       }
 
-      boolean this_present_mutations = true && this.isSetMutations();
-      boolean that_present_mutations = true && that.isSetMutations();
-      if (this_present_mutations || that_present_mutations) {
-        if (!(this_present_mutations && that_present_mutations))
-          return false;
-        if (!this.mutations.equals(that.mutations))
-          return false;
-      }
-
-      boolean this_present_symbols = true && this.isSetSymbols();
-      boolean that_present_symbols = true && that.isSetSymbols();
-      if (this_present_symbols || that_present_symbols) {
-        if (!(this_present_symbols && that_present_symbols))
+      boolean this_present_tableID = true && this.isSetTableID();
+      boolean that_present_tableID = true && that.isSetTableID();
+      if (this_present_tableID || that_present_tableID) {
+        if (!(this_present_tableID && that_present_tableID))
           return false;
-        if (!this.symbols.equals(that.symbols))
+        if (!this.tableID.equals(that.tableID))
           return false;
       }
 
@@ -14355,13 +14442,13 @@ import org.slf4j.LoggerFactory;
       return 0;
     }
 
-    public int compareTo(conditionalUpdate_args other) {
+    public int compareTo(startConditionalUpdate_args other) {
       if (!getClass().equals(other.getClass())) {
         return getClass().getName().compareTo(other.getClass().getName());
       }
 
       int lastComparison = 0;
-      conditionalUpdate_args typedOther = (conditionalUpdate_args)other;
+      startConditionalUpdate_args typedOther = (startConditionalUpdate_args)other;
 
       lastComparison = Boolean.valueOf(isSetTinfo()).compareTo(typedOther.isSetTinfo());
       if (lastComparison != 0) {
@@ -14393,22 +14480,12 @@ import org.slf4j.LoggerFactory;
           return lastComparison;
         }
       }
-      lastComparison = Boolean.valueOf(isSetMutations()).compareTo(typedOther.isSetMutations());
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-      if (isSetMutations()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.mutations, typedOther.mutations);
-        if (lastComparison != 0) {
-          return lastComparison;
-        }
-      }
-      lastComparison = Boolean.valueOf(isSetSymbols()).compareTo(typedOther.isSetSymbols());
+      lastComparison = Boolean.valueOf(isSetTableID()).compareTo(typedOther.isSetTableID());
       if (lastComparison != 0) {
         return lastComparison;
       }
-      if (isSetSymbols()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.symbols, typedOther.symbols);
+      if (isSetTableID()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.tableID, typedOther.tableID);
         if (lastComparison != 0) {
           return lastComparison;
         }
@@ -14430,7 +14507,7 @@ import org.slf4j.LoggerFactory;
 
     @Override
     public String toString() {
-      StringBuilder sb = new StringBuilder("conditionalUpdate_args(");
+      StringBuilder sb = new StringBuilder("startConditionalUpdate_args(");
       boolean first = true;
 
       sb.append("tinfo:");
@@ -14457,19 +14534,11 @@ import org.slf4j.LoggerFactory;
       }
       first = false;
       if (!first) sb.append(", ");
-      sb.append("mutations:");
-      if (this.mutations == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.mutations);
-      }
-      first = false;
-      if (!first) sb.append(", ");
-      sb.append("symbols:");
-      if (this.symbols == null) {
+      sb.append("tableID:");
+      if (this.tableID == null) {
         sb.append("null");
       } else {
-        sb.append(this.symbols);
+        sb.append(this.tableID);
       }
       first = false;
       sb.append(")");
@@ -14503,15 +14572,15 @@ import org.slf4j.LoggerFactory;
       }
     }
 
-    private static class conditionalUpdate_argsStandardSchemeFactory implements SchemeFactory {
-      public conditionalUpdate_argsStandardScheme getScheme() {
-        return new conditionalUpdate_argsStandardScheme();
+    private static class startConditionalUpdate_argsStandardSchemeFactory implements SchemeFactory {
+      public startConditionalUpdate_argsStandardScheme getScheme() {
+        return new startConditionalUpdate_argsStandardScheme();
       }
     }
 
-    private static class conditionalUpdate_argsStandardScheme extends StandardScheme<conditionalUpdate_args> {
+    private static class startConditionalUpdate_argsStandardScheme extends StandardScheme<startConditionalUpdate_args> {
 
-      public void read(org.apache.thrift.protocol.TProtocol iprot, conditionalUpdate_args struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol iprot, startConditionalUpdate_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
         while (true)
@@ -14557,52 +14626,10 @@ import org.slf4j.LoggerFactory;
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
               }
               break;
-            case 4: // MUTATIONS
-              if (schemeField.type == org.apache.thrift.protocol.TType.MAP) {
-                {
-                  org.apache.thrift.protocol.TMap _map223 = iprot.readMapBegin();
-                  struct.mutations = new HashMap<org.apache.accumulo.core.data.thrift.TKeyExtent,List<org.apache.accumulo.core.data.thrift.TConditionalMutation>>(2*_map223.size);
-                  for (int _i224 = 0; _i224 < _map223.size; ++_i224)
-                  {
-                    org.apache.accumulo.core.data.thrift.TKeyExtent _key225; // required
-                    List<org.apache.accumulo.core.data.thrift.TConditionalMutation> _val226; // required
-                    _key225 = new org.apache.accumulo.core.data.thrift.TKeyExtent();
-                    _key225.read(iprot);
-                    {
-                      org.apache.thrift.protocol.TList _list227 = iprot.readListBegin();
-                      _val226 = new ArrayList<org.apache.accumulo.core.data.thrift.TConditionalMutation>(_list227.size);
-                      for (int _i228 = 0; _i228 < _list227.size; ++_i228)
-                      {
-                        org.apache.accumulo.core.data.thrift.TConditionalMutation _elem229; // required
-                        _elem229 = new org.apache.accumulo.core.data.thrift.TConditionalMutation();
-                        _elem229.read(iprot);
-                        _val226.add(_elem229);
-                      }
-                      iprot.readListEnd();
-                    }
-                    struct.mutations.put(_key225, _val226);
-                  }
-                  iprot.readMapEnd();
-                }
-                struct.setMutationsIsSet(true);
-              } else { 
-                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-              }
-              break;
-            case 5: // SYMBOLS
-              if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
-                {
-                  org.apache.thrift.protocol.TList _list230 = iprot.readListBegin();
-                  struct.symbols = new ArrayList<String>(_list230.size);
-                  for (int _i231 = 0; _i231 < _list230.size; ++_i231)
-                  {
-                    String _elem232; // required
-                    _elem232 = iprot.readString();
-                    struct.symbols.add(_elem232);
-                  }
-                  iprot.readListEnd();
-                }
-                struct.setSymbolsIsSet(true);
+            case 4: // TABLE_ID
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+                struct.tableID = iprot.readString();
+                struct.setTableIDIsSet(true);
               } else { 
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
               }
@@ -14618,7 +14645,7 @@ import org.slf4j.LoggerFactory;
         struct.validate();
       }
 
-      public void write(org.apache.thrift.protocol.TProtocol oprot, conditionalUpdate_args struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol oprot, startConditionalUpdate_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
         oprot.writeStructBegin(STRUCT_DESC);
@@ -14636,44 +14663,17 @@ import org.slf4j.LoggerFactory;
           oprot.writeFieldBegin(AUTHORIZATIONS_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, struct.authorizations.size()));
-            for (ByteBuffer _iter233 : struct.authorizations)
+            for (ByteBuffer _iter223 : struct.authorizations)
             {
-              oprot.writeBinary(_iter233);
+              oprot.writeBinary(_iter223);
             }
             oprot.writeListEnd();
           }
           oprot.writeFieldEnd();
         }
-        if (struct.mutations != null) {
-          oprot.writeFieldBegin(MUTATIONS_FIELD_DESC);
-          {
-            oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRUCT, org.apache.thrift.protocol.TType.LIST, struct.mutations.size()));
-            for (Map.Entry<org.apache.accumulo.core.data.thrift.TKeyExtent, List<org.apache.accumulo.core.data.thrift.TConditionalMutation>> _iter234 : struct.mutations.entrySet())
-            {
-              _iter234.getKey().write(oprot);
-              {
-                oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, _iter234.getValue().size()));
-                for (org.apache.accumulo.core.data.thrift.TConditionalMutation _iter235 : _iter234.getValue())
-                {
-                  _iter235.write(oprot);
-                }
-                oprot.writeListEnd();
-              }
-            }
-            oprot.writeMapEnd();
-          }
-          oprot.writeFieldEnd();
-        }
-        if (struct.symbols != null) {
-          oprot.writeFieldBegin(SYMBOLS_FIELD_DESC);
-          {
-            oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, struct.symbols.size()));
-            for (String _iter236 : struct.symbols)
-            {
-              oprot.writeString(_iter236);
-            }
-            oprot.writeListEnd();
-          }
+        if (struct.tableID != null) {
+          oprot.writeFieldBegin(TABLE_ID_FIELD_DESC);
+          oprot.writeString(struct.tableID);
           oprot.writeFieldEnd();
         }
         oprot.writeFieldStop();
@@ -14682,16 +14682,16 @@ import org.slf4j.LoggerFactory;
 
     }
 
-    private static class conditionalUpdate_argsTupleSchemeFactory implements SchemeFactory {
-      public conditionalUpdate_argsTupleScheme getScheme() {
-        return new conditionalUpdate_argsTupleScheme();
+    private static class startConditionalUpdate_argsTupleSchemeFactory implements SchemeFactory {
+      public startConditionalUpdate_argsTupleScheme getScheme() {
+        return new startConditionalUpdate_argsTupleScheme();
       }
     }
 
-    private static class conditionalUpdate_argsTupleScheme extends TupleScheme<conditionalUpdate_args> {
+    private static class startConditionalUpdate_argsTupleScheme extends TupleScheme<startConditionalUpdate_args> {
 
       @Override
-      public void write(org.apache.thrift.protocol.TProtocol prot, conditionalUpdate_args struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol prot, startConditionalUpdate_args struct) throws org.apache.thrift.TException {
         TTupleProtocol oprot = (TTupleProtocol) prot;
         BitSet optionals = new BitSet();
         if (struct.isSetTinfo()) {
@@ -14703,13 +14703,10 @@ import org.slf4j.LoggerFactory;
         if (struct.isSetAuthorizations()) {
           optionals.set(2);
         }
-        if (struct.isSetMutations()) {
+        if (struct.isSetTableID()) {
           optionals.set(3);
         }
-        if (struct.isSetSymbols()) {
-          optionals.set(4);
-        }
-        oprot.writeBitSet(optionals, 5);
+        oprot.writeBitSet(optionals, 4);
         if (struct.isSetTinfo()) {
           struct.tinfo.write(oprot);
         }
@@ -14719,43 +14716,21 @@ import org.slf4j.LoggerFactory;
         if (struct.isSetAuthorizations()) {
           {
             oprot.writeI32(struct.authorizations.size());
-            for (ByteBuffer _iter237 : struct.authorizations)
-            {
-              oprot.writeBinary(_iter237);
-            }
-          }
-        }
-        if (struct.isSetMutations()) {
-          {
-            oprot.writeI32(struct.mutations.size());
-            for (Map.Entry<org.apache.accumulo.core.data.thrift.TKeyExtent, List<org.apache.accumulo.core.data.thrift.TConditionalMutation>> _iter238 : struct.mutations.entrySet())
+            for (ByteBuffer _iter224 : struct.authorizations)
             {
-              _iter238.getKey().write(oprot);
-              {
-                oprot.writeI32(_iter238.getValue().size());
-                for (org.apache.accumulo.core.data.thrift.TConditionalMutation _iter239 : _iter238.getValue())
-                {
-                  _iter239.write(oprot);
-                }
-              }
+              oprot.writeBinary(_iter224);
             }
           }
         }
-        if (struct.isSetSymbols()) {
-          {
-            oprot.writeI32(struct.symbols.size());
-            for (String _iter240 : struct.symbols)
-            {
-              oprot.writeString(_iter240);
-            }
-          }
+        if (struct.isSetTableID()) {
+          oprot.writeString(struct.tableID);
         }
       }
 
       @Override
-      public void read(org.apache.thrift.protocol.TProtocol prot, conditionalUpdate_args struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol prot, startConditionalUpdate_args struct) throws org.apache.thrift.TException {
         TTupleProtocol iprot = (TTupleProtocol) prot;
-        BitSet incoming = iprot.readBitSet(5);
+        BitSet incoming = iprot.readBitSet(4);
         if (incoming.get(0)) {
           struct.tinfo = new org.apache.accumulo.trace.thrift.TInfo();
           struct.tinfo.read(iprot);
@@ -14768,74 +14743,39 @@ import org.slf4j.LoggerFactory;
         }
         if (incoming.get(2)) {
           {
-            org.apache.thrift.protocol.TList _list241 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
-            struct.authorizations = new ArrayList<ByteBuffer>(_list241.size);
-            for (int _i242 = 0; _i242 < _list241.size; ++_i242)
+            org.apache.thrift.protocol.TList _list225 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+            struct.authorizations = new ArrayList<ByteBuffer>(_list225.size);
+            for (int _i226 = 0; _i226 < _list225.size; ++_i226)
             {
-              ByteBuffer _elem243; // required
-              _elem243 = iprot.readBinary();
-              struct.authorizations.add(_elem243);
+              ByteBuffer _elem227; // required
+              _elem227 = iprot.readBinary();
+              struct.authorizations.add(_elem227);
             }
           }
           struct.setAuthorizationsIsSet(true);
         }
         if (incoming.get(3)) {
-          {
-            org.apache.thrift.protocol.TMap _map244 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRUCT, org.apache.thrift.protocol.TType.LIST, iprot.readI32());
-            struct.mutations = new HashMap<org.apache.accumulo.core.data.thrift.TKeyExtent,List<org.apache.accumulo.core.data.thrift.TConditionalMutation>>(2*_map244.size);
-            for (int _i245 = 0; _i245 < _map244.size; ++_i245)
-            {
-              org.apache.accumulo.core.data.thrift.TKeyExtent _key246; // required
-              List<org.apache.accumulo.core.data.thrift.TConditionalMutation> _val247; // required
-              _key246 = new org.apache.accumulo.core.data.thrift.TKeyExtent();
-              _key246.read(iprot);
-              {
-                org.apache.thrift.protocol.TList _list248 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-                _val247 = new ArrayList<org.apache.accumulo.core.data.thrift.TConditionalMutation>(_list248.size);
-                for (int _i249 = 0; _i249 < _list248.size; ++_i249)
-                {
-                  org.apache.accumulo.core.data.thrift.TConditionalMutation _elem250; // required
-                  _elem250 = new org.apache.accumulo.core.data.thrift.TConditionalMutation();
-                  _elem250.read(iprot);
-                  _val247.add(_elem250);
-                }
-              }
-              struct.mutations.put(_key246, _val247);
-            }
-          }
-          struct.setMutationsIsSet(true);
-        }
-        if (incoming.get(4)) {
-          {
-            org.apache.thrift.protocol.TList _list251 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
-            struct.symbols = new ArrayList<String>(_list251.size);
-            for (int _i252 = 0; _i252 < _list251.size; ++_i252)
-            {
-              String _elem253; // required
-              _elem253 = iprot.readString();
-              struct.symbols.add(_elem253);
-            }
-          }
-          struct.setSymbolsIsSet(true);
+          struct.tableID = iprot.readString();
+          struct.setTableIDIsSet(true);
         }
       }
     }
 
   }
 
-  public static class conditionalUpdate_result implements org.apache.thrift.TBase<conditionalUpdate_result, conditionalUpdate_result._Fields>, java.io.Serializable, Cloneable   {
-    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("conditionalUpdate_result");
+  public static class startConditionalUpdate_result implements org.apache.thrift.TBase<startConditionalUpdate_result, startConditionalUpdate_result._Fields>, java.io.Serializable, Cloneable   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("startConditionalUpdate_result");
 
-    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);
+    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.I64, (short)0);
     private static final org.apache.thrift.protocol.TField SEC_FIELD_DESC = new org.apache.thrift.protocol.TField("sec", org.apache.thrift.protocol.TType.STRUCT, (short)1);
 
     private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
     static {
-      schemes.put(StandardScheme.class, new conditionalUpdate_resultStandardSchemeFactory());
-      schemes.put(TupleScheme.class, new conditionalUpdate_resultTupleSchemeFactory());
+      schemes.put(StandardScheme.class, new startConditionalUpdate_resultStandardSchemeFactory());
+      schemes.put(TupleScheme.class, new startConditionalUpdate_resultTupleSchemeFactory());
     }
 
-    public List<org.apache.accumulo.core.data.thrift.TCMResult> success; // required
+    public long success; // required
     public org.apache.accumulo.core.client.impl.thrift.ThriftSecurityException sec; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
@@ -14900,100 +14840,82 @@ import org.slf4j.LoggerFactory;
     }
 
     // isset id assignments
+    private static final int __SUCCESS_ISSET_ID = 0;
+    private byte __isset_bitfield = 0;
     public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
     static {
       Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
       tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
-          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
-              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.accumulo.core.data.thrift.TCMResult.class))));
+          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64          , "UpdateID")));
       tmpMap.put(_Fields.SEC, new org.apache.thrift.meta_data.FieldMetaData("sec", org.apache.thrift.TFieldRequirementType.DEFAULT, 
           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
       metaDataMap = Collections.unmodifiableMap(tmpMap);
-      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(conditionalUpdate_result.class, metaDataMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(startConditionalUpdate_result.class, metaDataMap);
     }
 
-    public conditionalUpdate_result() {
+    public startConditionalUpdate_result() {
     }
 
-    public conditionalUpdate_result(
-      List<org.apache.accumulo.core.data.thrift.TCMResult> success,
+    public startConditionalUpdate_result(
+      long success,
       org.apache.accumulo.core.client.impl.thrift.ThriftSecurityException sec)
     {
       this();
       this.success = success;
+      setSuccessIsSet(true);
       this.sec = sec;
     }
 
     /**
      * Performs a deep copy on <i>other</i>.
      */
-    public conditionalUpdate_result(conditionalUpdate_result other) {
-      if (other.isSetSuccess()) {
-        List<org.apache.accumulo.core.data.thrift.TCMResult> __this__success = new ArrayList<org.apache.accumulo.core.data.thrift.TCMResult>();
-        for (org.apache.accumulo.core.data.thrift.TCMResult other_element : other.success) {
-          __this__success.add(new org.apache.accumulo.core.data.thrift.TCMResult(other_element));
-        }
-        this.success = __this__success;
-      }
+    public startConditionalUpdate_result(startConditionalUpdate_result other) {
+      __isset_bitfield = other.__isset_bitfield;
+      this.success = other.success;
       if (other.isSetSec()) {
         this.sec = new org.apache.accumulo.core.client.impl.thrift.ThriftSecurityException(other.sec);
       }
     }
 
-    public conditionalUpdate_result deepCopy() {
-      return new conditionalUpdate_result(this);
+    public startConditionalUpdate_result deepCopy() {
+      return new startConditionalUpdate_result(this);
     }
 
     @Override
     public void clear() {
-      this.success = null;
+      setSuccessIsSet(false);
+      this.success = 0;
       this.sec = null;
     }
 
-    public int getSuccessSize() {
-      return (this.success == null) ? 0 : this.success.size();
-    }
-
-    public java.util.Iterator<org.apache.accumulo.core.data.thrift.TCMResult> getSuccessIterator() {
-      return (this.success == null) ? null : this.success.iterator();
-    }
-
-    public void addToSuccess(org.apache.accumulo.core.data.thrift.TCMResult elem) {
-      if (this.success == null) {
-        this.success = new ArrayList<org.apache.accumulo.core.data.thrift.TCMResult>();
-      }
-      this.success.add(elem);
-    }
-
-    public List<org.apache.accumulo.core.data.thrift.TCMResult> getSuccess() {
+    public long getSuccess() {
       return this.success;
     }
 
-    public conditionalUpdate_result setSuccess(List<org.apache.accumulo.core.data.thrift.TCMResult> success) {
+    public startConditionalUpdate_result setSuccess(long success) {
       this.success = success;
+      setSuccessIsSet(true);
       return this;
     }
 
     public void unsetSuccess() {
-      this.success = null;
+      __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __SUCCESS_ISSET_ID);
     }
 
     /** Returns true if field success is set (has been assigned a value) and false otherwise */
     public boolean isSetSuccess() {
-      return this.success != null;
+      return EncodingUtils.testBit(__isset_bitfield, __SUCCESS_ISSET_ID);
     }
 
     public void setSuccessIsSet(boolean value) {
-      if (!value) {
-        this.success = null;
-      }
+      __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
     public org.apache.accumulo.core.client.impl.thrift.ThriftSecurityException getSec() {
       return this.sec;
     }
 
-    public conditionalUpdate_result setSec(org.apache.accumulo.core.client.impl.thrift.ThriftSecurityException sec) {
+    public startConditionalUpdate_result setSec(org.apache.accumulo.core.client.impl.thrift.ThriftSecurityException sec) {
       this.sec = sec;
       return this;
     }
@@ -15019,7 +14941,7 @@ import org.slf4j.LoggerFactory;
         if (value == null) {
           unsetSuccess();
         } else {
-          setSuccess((List<org.apache.accumulo.core.data.thrift.TCMResult>)value);
+          setSuccess((Long)value);
         }
         break;
 
@@ -15037,7 +14959,7 @@ import org.slf4j.LoggerFactory;
     public Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
-        return getSuccess();
+        return Long.valueOf(getSuccess());
 
       case SEC:
         return getSec();
@@ -15065,21 +14987,21 @@ import org.slf4j.LoggerFactory;
     public boolean equals(Object that) {
       if (that == null)
         return false;
-      if (that instanceof conditionalUpdate_result)
-        return this.equals((conditionalUpdate_result)that);
+      if (that instanceof startConditionalUpdate_result)
+        return this.equals((startConditionalUpdate_result)that);
       return false;
     }
 
-    public boolean equals(conditionalUpdate_result that) {
+    public boolean equals(startConditionalUpdate_result that) {
       if (that == null)
         return false;
 
-      boolean this_present_success = true && this.isSetSuccess();
-      boolean that_present_success = true && that.isSetSuccess();
+      boolean this_present_success = true;
+      boolean that_present_success = true;
       if (this_present_success || that_present_success) {
         if (!(this_present_success && that_present_success))
           return false;
-        if (!this.success.equals(that.success))
+        if (this.success != that.success)
           return false;
       }
 
@@ -15100,13 +15022,13 @@ import org.slf4j.LoggerFactory;
       return 0;
     }
 
-    public int compareTo(conditionalUpdate_result other) {
+    public int compareTo(startConditionalUpdate_result other) {
       if (!getClass().equals(other.getClass())) {
         return getClass().getName().compareTo(other.getClass().getName());
       }
 
       int lastComparison = 0;
-      conditionalUpdate_result typedOther = (conditionalUpdate_result)other;
+      startConditionalUpdate_result typedOther = (startConditionalUpdate_result)other;
 
       lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
       if (lastComparison != 0) {
@@ -15145,15 +15067,11 @@ import org.slf4j.LoggerFactory;
 
     @Override
     public String toString() {
-      StringBuilder sb = new StringBuilder("conditionalUpdate_result(");
+      StringBuilder sb = new StringBuilder("startConditionalUpdate_result(");
       boolean first = true;
 
       sb.append("success:");
-      if (this.success == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.success);
-      }
+      sb.append(this.success);
       first = false;
       if (!first) sb.append(", ");
       sb.append("sec:");
@@ -15182,21 +15100,23 @@ import org.slf4j.LoggerFactory;
 
     private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
       try {
+        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
+        __isset_bitfield = 0;
         read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
       } catch (org.apache.thrift.TException te) {
         throw new java.io.IOException(te);
       }
     }
 
-    private static class conditionalUpdate_resultStandardSchemeFactory implements SchemeFactory {
-      public conditionalUpdate_resultStandardScheme getScheme() {
-        return new conditionalUpdate_resultStandardScheme();
+    private static class startConditionalUpdate_resultStandardSchemeFactory implements SchemeFactory {
+      public startConditionalUpdate_resultStandardScheme getScheme() {
+        return new startConditionalUpdate_resultStandardScheme();
       }
     }
 
-    private static class conditionalUpdate_resultStandardScheme extends StandardScheme<conditionalUpdate_result> {
+    private static class startConditionalUpdate_resultStandardScheme extends StandardScheme<startConditionalUpdate_result> {
 
-      public void read(org.apache.thrift.protocol.TProtocol iprot, conditionalUpdate_result struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol iprot, startConditionalUpdate_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
         while (true)
@@ -15207,19 +15127,8 @@ import org.slf4j.LoggerFactory;
           }
           switch (schemeField.id) {
             case 0: // SUCCESS
-              if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
-                {
-                  org.apache.thrift.protocol.TList _list254 = iprot.readListBegin();
-                  struct.success = new ArrayList<org.apache.accumulo.core.data.thrift.TCMResult>(_list254.size);
-                  for (int _i255 = 0; _i255 < _list254.size; ++_i255)
-                  {
-                    org.apache.accumulo.core.data.thrift.TCMResult _elem256; // required
-                    _elem256 = new org.apache.accumulo.core.data.thrift.TCMResult();
-                    _elem256.read(iprot);
-                    struct.success.add(_elem256);
-                  }
-                  iprot.readListEnd();
-                }
+              if (schemeField.type == org.apache.thrift.protocol.TType.I64) {
+                struct.success = iprot.readI64();
                 struct.setSuccessIsSet(true);
               } else { 
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
@@ -15245,20 +15154,13 @@ import org.slf4j.LoggerFactory;
         struct.validate();
       }
 
-      public void write(org.apache.thrift.protocol.TProtocol oprot, conditionalUpdate_result struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol oprot, startConditionalUpdate_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
         oprot.writeStructBegin(STRUCT_DESC);
-        if (struct.success != null) {
+        if (struct.isSetSuccess()) {
           oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
-          {
-            oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.success.size()));
-            for (org.apache.accumulo.core.data.thrift.TCMResult _iter257 : struct.success)
-            {
-              _iter257.write(oprot);
-            }
-            oprot.writeListEnd();
-          }
+          oprot.writeI64(struct.success);
           oprot.writeFieldEnd();
         }
         if (struct.sec != null) {
@@ -15272,16 +15174,16 @@ import org.slf4j.LoggerFactory;
 
     }
 
-    private static class conditionalUpdate_resultTupleSchemeFactory implements SchemeFactory {
-      public conditionalUpdate_resultTupleScheme getScheme() {
-        return new conditionalUpdate_resultTupleScheme();
+    private static class startConditionalUpdate_resultTupleSchemeFactory implements SchemeFactory {
+      public startConditionalUpdate_resultTupleScheme getScheme() {
+        return new startConditionalUpdate_resultTupleScheme();
       }
     }
 
-    private static class conditionalUpdate_resultTupleScheme extends TupleScheme<conditionalUpdate_result> {
+    private static class startConditionalUpdate_resultTupleScheme extends TupleScheme<startConditionalUpdate_result> {
 
       @Override
-      public void write(org.apache.thrift.protocol.TProtocol prot, conditionalUpdate_result struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol prot, startConditionalUpdate_result struct) throws org.apache.thrift.TException {
         TTupleProtocol oprot = (TTupleProtocol) prot;
         BitSet optionals = new BitSet();
         if (struct.isSetSuccess()) {
@@ -15292,13 +15194,7 @@ import org.slf4j.LoggerFactory;
         }
         oprot.writeBitSet(optionals, 2);
         if (struct.isSetSuccess()) {
-          {
-            oprot.writeI32(struct.success.size());
-            for (org.apache.accumulo.core.data.thrift.TCMResult _iter258 : struct.success)
-            {
-              _iter258.write(oprot);
-            }
-          }
+          oprot.writeI64(struct.success);
         }
         if (struct.isSetSec()) {
           struct.sec.write(oprot);
@@ -15306,21 +15202,11 @@ import org.slf4j.LoggerFactory;
       }
 
       @Override
-      public void read(org.apache.thrift.protocol.TProtocol prot, conditionalUpdate_result struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol prot, startConditionalUpdate_result struct) throws org.apache.thrift.TException {
         TTupleProtocol iprot = (TTupleProtocol) prot;
         BitSet incoming = iprot.readBitSet(2);
         if (incoming.get(0)) {
-          {
-            org.apache.thrift.protocol.TList _list259 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-            struct.success = new ArrayList<org.apache.accumulo.core.data.thrift.TCMResult>(_list259.size);
-            for (int _i260 = 0; _i260 < _list259.size; ++_i260)
-            {
-              org.apache.accumulo.core.data.thrift.TCMResult _elem261; // required
-              _elem261 = new org.apache.accumulo.core.data.thrift.TCMResult();
-              _elem261.read(iprot);
-              struct.success.add(_elem261);
-            }
-          }
+          struct.success = iprot.readI64();
           struct.setSuccessIsSet(true);
         }
         if (incoming.get(1)) {
@@ -15333,6 +15219,2013 @@ import org.slf4j.LoggerFactory;
 
   }
 
+  public static class conditionalUpdate_args implements org.apache.thrift.TBase<conditionalUpdate_args, conditionalUpdate_args._Fields>, java.io.Serializable, Cloneable   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("conditionalUpdate_args");
+
+    private static final org.apache.thrift.protocol.TField TINFO_FIELD_DESC = new org.apache.thrift.protocol.TField("tinfo", org.apache.thrift.protocol.TType.STRUCT, (short)1);
+    private static final org.apache.thrift.protocol.TField SESS_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("sessID", org.apache.thrift.protocol.TType.I64, (short)2);
+    private static final org.apache.thrift.protocol.TField MUTATIONS_FIELD_DESC = new org.apache.thrift.protocol.TField("mutations", org.apache.thrift.protocol.TType.MAP, (short)3);
+    private static final org.apache.thrift.protocol.TField SYMBOLS_FIELD_DESC = new org.apache.thrift.protocol.TField("symbols", org.apache.thrift.protocol.TType.LIST, (short)4);
+
+    private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
+    static {
+      schemes.put(StandardScheme.class, new conditionalUpdate_argsStandardSchemeFactory());
+      schemes.put(TupleScheme.class, new conditionalUpdate_argsTupleSchemeFactory());
+    }
+
+    public org.apache.accumulo.trace.thrift.TInfo tinfo; // required
+    public long sessID; // required
+    public Map<org.apache.accumulo.core.data.thrift.TKeyExtent,List<org.apache.accumulo.core.data.thrift.TConditionalMutation>> mutations; // required
+    public List<String> symbols; // required
+
+    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
+    @SuppressWarnings("all") public enum _Fields implements org.apache.thrift.TFieldIdEnum {
+      TINFO((short)1, "tinfo"),
+      SESS_ID((short)2, "sessID"),
+      MUTATIONS((short)3, "mutations"),
+      SYMBOLS((short)4, "symbols");
+
+      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
+
+      static {
+        for (_Fields field : EnumSet.allOf(_Fields.class)) {
+          byName.put(field.getFieldName(), field);
+        }
+      }
+
+      /**
+       * Find the _Fields constant that matches fieldId, or null if its not found.
+       */
+      public static _Fields findByThriftId(int fieldId) {
+        switch(fieldId) {
+          case 1: // TINFO
+            return TINFO;
+          case 2: // SESS_ID
+            return SESS_ID;
+          case 3: // MUTATIONS
+            return MUTATIONS;
+          case 4: // SYMBOLS
+            return SYMBOLS;
+          default:
+            return null;
+        }
+      }
+
+      /**
+       * Find the _Fields constant that matches fieldId, throwing an exception
+       * if it is not found.
+       */
+      public static _Fields findByThriftIdOrThrow(int fieldId) {
+        _Fields fields = findByThriftId(fieldId);
+        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
+        return fields;
+      }
+
+      /**
+       * Find the _Fields constant that matches name, or null if its not found.
+       */
+      public static _Fields findByName(String name) {
+        return byName.get(name);
+      }
+
+      private final short _thriftId;
+      private final String _fieldName;
+
+      _Fields(short thriftId, String fieldName) {
+        _thriftId = thriftId;
+        _fieldName = fieldName;
+      }
+
+      public short getThriftFieldId() {
+        return _thriftId;
+      }
+
+      public String getFieldName() {
+        return _fieldName;
+      }
+    }
+
+    // isset id assignments
+    private static final int __SESSID_ISSET_ID = 0;
+    private byte __isset_bitfield = 0;
+    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
+    static {
+      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
+      tmpMap.put(_Fields.TINFO, new org.apache.thrift.meta_data.FieldMetaData("tinfo", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.accumulo.trace.thrift.TInfo.class)));
+      tmpMap.put(_Fields.SESS_ID, new org.apache.thrift.meta_data.FieldMetaData("sessID", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64          , "UpdateID")));
+      tmpMap.put(_Fields.MUTATIONS, new org.apache.thrift.meta_data.FieldMetaData("mutations", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.MAP          , "CMBatch")));
+      tmpMap.put(_Fields.SYMBOLS, new org.apache.thrift.meta_data.FieldMetaData("symbols", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
+              new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))));
+      metaDataMap = Collections.unmodifiableMap(tmpMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(conditionalUpdate_args.class, metaDataMap);
+    }
+
+    public conditionalUpdate_args() {
+    }
+
+    public conditionalUpdate_args(
+      org.apache.accumulo.trace.thrift.TInfo tinfo,
+      long sessID,
+      Map<org.apache.accumulo.core.data.thrift.TKeyExtent,List<org.apache.accumulo.core.data.thrift.TConditionalMutation>> mutations,
+      List<String> symbols)
+    {
+      this();
+      this.tinfo = tinfo;
+      this.sessID = sessID;
+      setSessIDIsSet(true);
+      this.mutations = mutations;
+      this.symbols = symbols;
+    }
+
+    /**
+     * Performs a deep copy on <i>other</i>.
+     */
+    public conditionalUpdate_args(conditionalUpdate_args other) {
+      __isset_bitfield = other.__isset_bitfield;
+      if (other.isSetTinfo()) {
+        this.tinfo = new org.apache.accumulo.trace.thrift.TInfo(other.tinfo);
+      }
+      this.sessID = other.sessID;
+      if (other.isSetMutations()) {
+        this.mutations = other.mutations;
+      }
+      if (other.isSetSymbols()) {
+        List<String> __this__symbols = new ArrayList<String>();
+        for (String other_element : other.symbols) {
+          __this__symbols.add(other_element);
+        }
+        this.symbols = __this__symbols;
+      }
+    }
+
+    public conditionalUpdate_args deepCopy() {
+      return new conditionalUpdate_args(this);
+    }
+
+    @Override
+    public void clear() {
+      this.tinfo = null;
+      setSessIDIsSet(false);
+      this.sessID = 0;
+      this.mutations = null;
+      this.symbols = null;
+    }
+
+    public org.apache.accumulo.trace.thrift.TInfo getTinfo() {
+      return this.tinfo;
+    }
+
+    public conditionalUpdate_args setTinfo(org.apache.accumulo.trace.thrift.TInfo tinfo) {
+      this.tinfo = tinfo;
+      return this;
+    }
+
+    public void unsetTinfo() {
+      this.tinfo = null;
+    }
+
+    /** Returns true if field tinfo is set (has been assigned a value) and false otherwise */
+    public boolean isSetTinfo() {
+      return this.tinfo != null;
+    }
+
+    public void setTinfoIsSet(boolean value) {
+      if (!value) {
+        this.tinfo = null;
+      }
+    }
+
+    public long getSessID() {
+      return this.sessID;
+    }
+
+    public conditionalUpdate_args setSessID(long sessID) {
+      this.sessID = sessID;
+      setSessIDIsSet(true);
+      return this;
+    }
+
+    public void unsetSessID() {
+      __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __SESSID_ISSET_ID);
+    }
+
+    /** Returns true if field sessID is set (has been assigned a value) and false otherwise */
+    public boolean isSetSessID() {
+      return EncodingUtils.testBit(__isset_bitfield, __SESSID_ISSET_ID);
+    }
+
+    public void setSessIDIsSet(boolean value) {
+      __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __SESSID_ISSET_ID, value);
+    }
+
+    public int getMutationsSize() {
+      return (this.mutations == null) ? 0 : this.mutations.size();
+    }
+
+    public void putToMutations(org.apache.accumulo.core.data.thrift.TKeyExtent key, List<org.apache.accumulo.core.data.thrift.TConditionalMutation> val) {
+      if (this.mutations == null) {
+        this.mutations = new HashMap<org.apache.accumulo.core.data.thrift.TKeyExtent,List<org.apache.accumulo.core.data.thrift.TConditionalMutation>>();
+      }
+      this.mutations.put(key, val);
+    }
+
+    public Map<org.apache.accumulo.core.data.thrift.TKeyExtent,List<org.apache.accumulo.core.data.thrift.TConditionalMutation>> getMutations() {
+      return this.mutations;
+    }
+
+    public conditionalUpdate_args setMutations(Map<org.apache.accumulo.core.data.thrift.TKeyExtent,List<org.apache.accumulo.core.data.thrift.TConditionalMutation>> mutations) {
+      this.mutations = mutations;
+      return this;
+    }
+
+    public void unsetMutations() {
+      this.mutations = null;
+    }
+
+    /** Returns true if field mutations is set (has been assigned a value) and false otherwise */
+    public boolean isSetMutations() {
+      return this.mutations != null;
+    }
+
+    public void setMutationsIsSet(boolean value) {
+      if (!value) {
+        this.mutations = null;
+      }
+    }
+
+    public int getSymbolsSize() {
+      return (this.symbols == null) ? 0 : this.symbols.size();
+    }
+
+    public java.util.Iterator<String> getSymbolsIterator() {
+      return (this.symbols == null) ? null : this.symbols.iterator();
+    }
+
+    public void addToSymbols(String elem) {
+      if (this.symbols == null) {
+        this.symbols = new ArrayList<String>();
+      }
+      this.symbols.add(elem);
+    }
+
+    public List<String> getSymbols() {
+      return this.symbols;
+    }
+
+    public conditionalUpdate_args setSymbols(List<String> symbols) {
+      this.symbols = symbols;
+      return this;
+    }
+
+    public void unsetSymbols() {
+      this.symbols = null;
+    }
+
+    /** Returns true if field symbols is set (has been assigned a value) and false otherwise */
+    public boolean isSetSymbols() {
+      return this.symbols != null;
+    }
+
+    public void setSymbolsIsSet(boolean value) {
+      if (!value) {
+        this.symbols = null;
+      }
+    }
+
+    public void setFieldValue(_Fields field, Object value) {
+      switch (field) {
+      case TINFO:
+        if (value == null) {
+          unsetTinfo();
+        } else {
+          setTinfo((org.apache.accumulo.trace.thrift.TInfo)value);
+        }
+        break;
+
+      case SESS_ID:
+        if (value == null) {
+          unsetSessID();
+        } else {
+          setSessID((Long)value);
+        }
+        break;
+
+      case MUTATIONS:
+        if (value == null) {
+          unsetMutations();
+        } else {
+          setMutations((Map<org.apache.accumulo.core.data.thrift.TKeyExtent,List<org.apache.accumulo.core.data.thrift.TConditionalMutation>>)value);
+        }
+        break;
+
+      case SYMBOLS:
+        if (value == null) {
+          unsetSymbols();
+        } else {
+          setSymbols((List<String>)value);
+        }
+        break;
+
+      }
+    }
+
+    public Object getFieldValue(_Fields field) {
+      switch (field) {
+      case TINFO:
+        return getTinfo();
+
+      case SESS_ID:
+        return Long.valueOf(getSessID());
+
+      case MUTATIONS:
+        return getMutations();
+
+      case SYMBOLS:
+        return getSymbols();
+
+      }
+      throw new IllegalStateException();
+    }
+
+    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    public boolean isSet(_Fields field) {
+      if (field == null) {
+        throw new IllegalArgumentException();
+      }
+
+      switch (field) {
+      case TINFO:
+        return isSetTinfo();
+      case SESS_ID:
+        return isSetSessID();
+      case MUTATIONS:
+        return isSetMutations();
+      case SYMBOLS:
+        return isSetSymbols();
+      }
+      throw new IllegalStateException();
+    }
+
+    @Override
+    public boolean equals(Object that) {
+      if (that == null)
+        return false;
+      if (that instanceof conditionalUpdate_args)
+        return this.equals((conditionalUpdate_args)that);
+      return false;
+    }
+
+    public boolean equals(conditionalUpdate_args that) {
+      if (that == null)
+        return false;
+
+      boolean this_present_tinfo = true && this.isSetTinfo();
+      boolean that_present_tinfo = true && that.isSetTinfo();
+      if (this_present_tinfo || that_present_tinfo) {
+        if (!(this_present_tinfo && that_present_tinfo))
+          return false;
+        if (!this.tinfo.equals(that.tinfo))
+          return false;
+      }
+
+      boolean this_present_sessID = true;
+      boolean that_present_sessID = true;
+      if (this_present_sessID || that_present_sessID) {
+        if (!(this_present_sessID && that_present_sessID))
+          return false;
+        if (this.sessID != that.sessID)
+          return false;
+      }
+
+      boolean this_present_mutations = true && this.isSetMutations();
+      boolean that_present_mutations = true && that.isSetMutations();
+      if (this_present_mutations || that_present_mutations) {
+        if (!(this_present_mutations && that_present_mutations))
+          return false;
+        if (!this.mutations.equals(that.mutations))
+          return false;
+      }
+
+      boolean this_present_symbols = true && this.isSetSymbols();
+      boolean that_present_symbols = true && that.isSetSymbols();
+      if (this_present_symbols || that_present_symbols) {
+        if (!(this_present_symbols && that_present_symbols))
+          return false;
+        if (!this.symbols.equals(that.symbols))
+          return false;
+      }
+
+      return true;
+    }
+
+    @Override
+    public int hashCode() {
+      return 0;
+    }
+
+    public int compareTo(conditionalUpdate_args other) {
+      if (!getClass().equals(other.getClass())) {
+        return getClass().getName().compareTo(other.getClass().getName());
+      }
+
+      int lastComparison = 0;
+      conditionalUpdate_args typedOther = (conditionalUpdate_args)other;
+
+      lastComparison = Boolean.valueOf(isSetTinfo()).compareTo(typedOther.isSetTinfo());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetTinfo()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.tinfo, typedOther.tinfo);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
+      lastComparison = Boolean.valueOf(isSetSessID()).compareTo(typedOther.isSetSessID());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetSessID()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.sessID, typedOther.sessID);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
+      lastComparison = Boolean.valueOf(isSetMutations()).compareTo(typedOther.isSetMutations());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetMutations()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.mutations, typedOther.mutations);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
+      lastC

<TRUNCATED>

Mime
View raw message