accumulo-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From els...@apache.org
Subject [3/3] accumulo git commit: ACCUMULO-4456 Add a Thrift exception to handle when a service is not the active instance
Date Thu, 15 Sep 2016 22:32:58 GMT
ACCUMULO-4456 Add a Thrift exception to handle when a service is not the active instance

If we don't use a named thrift exception, the client will not be able to implicitly
retry the operation as we want it to.

Closes apache/accumulo#152


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

Branch: refs/heads/master
Commit: 780045ce05764a896455524dafdd7e8af1a16bd3
Parents: c48a2ba
Author: Josh Elser <elserj@apache.org>
Authored: Wed Sep 14 20:24:01 2016 -0400
Committer: Josh Elser <elserj@apache.org>
Committed: Thu Sep 15 17:48:44 2016 -0400

----------------------------------------------------------------------
 .../accumulo/core/client/impl/MasterClient.java |    8 +
 .../core/client/impl/TableOperationsImpl.java   |   27 +-
 .../thrift/ThriftNotActiveServiceException.java |  301 +++
 .../core/master/thrift/FateService.java         |  532 ++++-
 .../core/master/thrift/MasterClientService.java | 2144 ++++++++++++++++--
 core/src/main/thrift/client.thrift              |    4 +
 core/src/main/thrift/master.thrift              |   40 +-
 .../impl/MiniAccumuloClusterImpl.java           |   33 +-
 ...HighlyAvailableServiceInvocationHandler.java |   19 +-
 .../server/rpc/NotActiveServiceException.java   |   26 -
 .../java/org/apache/accumulo/master/Master.java |    2 +-
 .../shell/commands/ListBulkCommand.java         |   24 +-
 .../test/DetectDeadTabletServersIT.java         |   23 +-
 .../apache/accumulo/test/GetMasterStats.java    |   24 +-
 .../continuous/ContinuousStatsCollector.java    |   59 +-
 .../functional/BalanceAfterCommsFailureIT.java  |   22 +-
 .../BalanceInPresenceOfOfflineTableIT.java      |   33 +-
 .../test/functional/DynamicThreadPoolsIT.java   |   19 +-
 .../test/functional/MetadataMaxFilesIT.java     |    5 +
 .../functional/SimpleBalancerFairnessIT.java    |   19 +-
 20 files changed, 3062 insertions(+), 302 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/accumulo/blob/780045ce/core/src/main/java/org/apache/accumulo/core/client/impl/MasterClient.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/accumulo/core/client/impl/MasterClient.java b/core/src/main/java/org/apache/accumulo/core/client/impl/MasterClient.java
index 894e29a..a73a3ad 100644
--- a/core/src/main/java/org/apache/accumulo/core/client/impl/MasterClient.java
+++ b/core/src/main/java/org/apache/accumulo/core/client/impl/MasterClient.java
@@ -26,6 +26,7 @@ import org.apache.accumulo.core.client.AccumuloException;
 import org.apache.accumulo.core.client.AccumuloSecurityException;
 import org.apache.accumulo.core.client.NamespaceNotFoundException;
 import org.apache.accumulo.core.client.TableNotFoundException;
+import org.apache.accumulo.core.client.impl.thrift.ThriftNotActiveServiceException;
 import org.apache.accumulo.core.client.impl.thrift.ThriftSecurityException;
 import org.apache.accumulo.core.client.impl.thrift.ThriftTableOperationException;
 import org.apache.accumulo.core.master.thrift.MasterClientService;
@@ -112,6 +113,10 @@ public class MasterClient {
           default:
             throw new AccumuloException(e);
         }
+      } catch (ThriftNotActiveServiceException e) {
+        // Let it loop, fetching a new location
+        log.debug("Contacted a Master which is no longer active, retrying");
+        sleepUninterruptibly(100, TimeUnit.MILLISECONDS);
       } catch (Exception e) {
         throw new AccumuloException(e);
       } finally {
@@ -145,6 +150,9 @@ public class MasterClient {
           default:
             throw new AccumuloException(e);
         }
+      } catch (ThriftNotActiveServiceException e) {
+        // Let it loop, fetching a new location
+        log.debug("Contacted a Master which is no longer active, re-creating the connection to the active Master");
       } catch (Exception e) {
         throw new AccumuloException(e);
       } finally {

http://git-wip-us.apache.org/repos/asf/accumulo/blob/780045ce/core/src/main/java/org/apache/accumulo/core/client/impl/TableOperationsImpl.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/accumulo/core/client/impl/TableOperationsImpl.java b/core/src/main/java/org/apache/accumulo/core/client/impl/TableOperationsImpl.java
index 3d17a85..320616f 100644
--- a/core/src/main/java/org/apache/accumulo/core/client/impl/TableOperationsImpl.java
+++ b/core/src/main/java/org/apache/accumulo/core/client/impl/TableOperationsImpl.java
@@ -76,6 +76,7 @@ import org.apache.accumulo.core.client.impl.thrift.ClientService;
 import org.apache.accumulo.core.client.impl.thrift.ClientService.Client;
 import org.apache.accumulo.core.client.sample.SamplerConfiguration;
 import org.apache.accumulo.core.client.impl.thrift.TDiskUsage;
+import org.apache.accumulo.core.client.impl.thrift.ThriftNotActiveServiceException;
 import org.apache.accumulo.core.client.impl.thrift.ThriftSecurityException;
 import org.apache.accumulo.core.client.impl.thrift.ThriftTableOperationException;
 import org.apache.accumulo.core.conf.AccumuloConfiguration;
@@ -233,6 +234,10 @@ public class TableOperationsImpl extends TableOperationsHelper {
       } catch (TTransportException tte) {
         log.debug("Failed to call beginFateOperation(), retrying ... ", tte);
         sleepUninterruptibly(100, TimeUnit.MILLISECONDS);
+      } catch (ThriftNotActiveServiceException e) {
+        // Let it loop, fetching a new location
+        log.debug("Contacted a Master which is no longer active, retrying");
+        sleepUninterruptibly(100, TimeUnit.MILLISECONDS);
       } finally {
         MasterClient.close(client);
       }
@@ -247,10 +252,14 @@ public class TableOperationsImpl extends TableOperationsHelper {
       try {
         client = MasterClient.getConnectionWithRetry(context);
         client.executeFateOperation(Tracer.traceInfo(), context.rpcCreds(), opid, op, args, opts, autoCleanUp);
-        break;
+        return;
       } catch (TTransportException tte) {
         log.debug("Failed to call executeFateOperation(), retrying ... ", tte);
         sleepUninterruptibly(100, TimeUnit.MILLISECONDS);
+      } catch (ThriftNotActiveServiceException e) {
+        // Let it loop, fetching a new location
+        log.debug("Contacted a Master which is no longer active, retrying");
+        sleepUninterruptibly(100, TimeUnit.MILLISECONDS);
       } finally {
         MasterClient.close(client);
       }
@@ -266,6 +275,10 @@ public class TableOperationsImpl extends TableOperationsHelper {
       } catch (TTransportException tte) {
         log.debug("Failed to call waitForFateOperation(), retrying ... ", tte);
         sleepUninterruptibly(100, TimeUnit.MILLISECONDS);
+      } catch (ThriftNotActiveServiceException e) {
+        // Let it loop, fetching a new location
+        log.debug("Contacted a Master which is no longer active, retrying");
+        sleepUninterruptibly(100, TimeUnit.MILLISECONDS);
       } finally {
         MasterClient.close(client);
       }
@@ -282,6 +295,10 @@ public class TableOperationsImpl extends TableOperationsHelper {
       } catch (TTransportException tte) {
         log.debug("Failed to call finishFateOperation(), retrying ... ", tte);
         sleepUninterruptibly(100, TimeUnit.MILLISECONDS);
+      } catch (ThriftNotActiveServiceException e) {
+        // Let it loop, fetching a new location
+        log.debug("Contacted a Master which is no longer active, retrying");
+        sleepUninterruptibly(100, TimeUnit.MILLISECONDS);
       } finally {
         MasterClient.close(client);
       }
@@ -808,6 +825,10 @@ public class TableOperationsImpl extends TableOperationsHelper {
         } catch (TTransportException tte) {
           log.debug("Failed to call initiateFlush, retrying ... ", tte);
           sleepUninterruptibly(100, TimeUnit.MILLISECONDS);
+        } catch (ThriftNotActiveServiceException e) {
+          // Let it loop, fetching a new location
+          log.debug("Contacted a Master which is no longer active, retrying");
+          sleepUninterruptibly(100, TimeUnit.MILLISECONDS);
         } finally {
           MasterClient.close(client);
         }
@@ -823,6 +844,10 @@ public class TableOperationsImpl extends TableOperationsHelper {
         } catch (TTransportException tte) {
           log.debug("Failed to call initiateFlush, retrying ... ", tte);
           sleepUninterruptibly(100, TimeUnit.MILLISECONDS);
+        } catch (ThriftNotActiveServiceException e) {
+          // Let it loop, fetching a new location
+          log.debug("Contacted a Master which is no longer active, retrying");
+          sleepUninterruptibly(100, TimeUnit.MILLISECONDS);
         } finally {
           MasterClient.close(client);
         }

http://git-wip-us.apache.org/repos/asf/accumulo/blob/780045ce/core/src/main/java/org/apache/accumulo/core/client/impl/thrift/ThriftNotActiveServiceException.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/accumulo/core/client/impl/thrift/ThriftNotActiveServiceException.java b/core/src/main/java/org/apache/accumulo/core/client/impl/thrift/ThriftNotActiveServiceException.java
new file mode 100644
index 0000000..0702486
--- /dev/null
+++ b/core/src/main/java/org/apache/accumulo/core/client/impl/thrift/ThriftNotActiveServiceException.java
@@ -0,0 +1,301 @@
+/*
+ * 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.
+ */
+/**
+ * Autogenerated by Thrift Compiler (0.9.3)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+package org.apache.accumulo.core.client.impl.thrift;
+
+import org.apache.thrift.scheme.IScheme;
+import org.apache.thrift.scheme.SchemeFactory;
+import org.apache.thrift.scheme.StandardScheme;
+
+import org.apache.thrift.scheme.TupleScheme;
+import org.apache.thrift.protocol.TTupleProtocol;
+import org.apache.thrift.protocol.TProtocolException;
+import org.apache.thrift.EncodingUtils;
+import org.apache.thrift.TException;
+import org.apache.thrift.async.AsyncMethodCallback;
+import org.apache.thrift.server.AbstractNonblockingServer.*;
+import java.util.List;
+import java.util.ArrayList;
+import java.util.Map;
+import java.util.HashMap;
+import java.util.EnumMap;
+import java.util.Set;
+import java.util.HashSet;
+import java.util.EnumSet;
+import java.util.Collections;
+import java.util.BitSet;
+import java.nio.ByteBuffer;
+import java.util.Arrays;
+import javax.annotation.Generated;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)")
+public class ThriftNotActiveServiceException extends TException implements org.apache.thrift.TBase<ThriftNotActiveServiceException, ThriftNotActiveServiceException._Fields>, java.io.Serializable, Cloneable, Comparable<ThriftNotActiveServiceException> {
+  private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ThriftNotActiveServiceException");
+
+
+  private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
+  static {
+    schemes.put(StandardScheme.class, new ThriftNotActiveServiceExceptionStandardSchemeFactory());
+    schemes.put(TupleScheme.class, new ThriftNotActiveServiceExceptionTupleSchemeFactory());
+  }
+
+
+  /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
+  public enum _Fields implements org.apache.thrift.TFieldIdEnum {
+;
+
+    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) {
+        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;
+    }
+  }
+  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);
+    metaDataMap = Collections.unmodifiableMap(tmpMap);
+    org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(ThriftNotActiveServiceException.class, metaDataMap);
+  }
+
+  public ThriftNotActiveServiceException() {
+  }
+
+  /**
+   * Performs a deep copy on <i>other</i>.
+   */
+  public ThriftNotActiveServiceException(ThriftNotActiveServiceException other) {
+  }
+
+  public ThriftNotActiveServiceException deepCopy() {
+    return new ThriftNotActiveServiceException(this);
+  }
+
+  @Override
+  public void clear() {
+  }
+
+  public void setFieldValue(_Fields field, Object value) {
+    switch (field) {
+    }
+  }
+
+  public Object getFieldValue(_Fields field) {
+    switch (field) {
+    }
+    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) {
+    }
+    throw new IllegalStateException();
+  }
+
+  @Override
+  public boolean equals(Object that) {
+    if (that == null)
+      return false;
+    if (that instanceof ThriftNotActiveServiceException)
+      return this.equals((ThriftNotActiveServiceException)that);
+    return false;
+  }
+
+  public boolean equals(ThriftNotActiveServiceException that) {
+    if (that == null)
+      return false;
+
+    return true;
+  }
+
+  @Override
+  public int hashCode() {
+    List<Object> list = new ArrayList<Object>();
+
+    return list.hashCode();
+  }
+
+  @Override
+  public int compareTo(ThriftNotActiveServiceException other) {
+    if (!getClass().equals(other.getClass())) {
+      return getClass().getName().compareTo(other.getClass().getName());
+    }
+
+    int lastComparison = 0;
+
+    return 0;
+  }
+
+  public _Fields fieldForId(int fieldId) {
+    return _Fields.findByThriftId(fieldId);
+  }
+
+  public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
+    schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
+  }
+
+  public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
+    schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
+  }
+
+  @Override
+  public String toString() {
+    StringBuilder sb = new StringBuilder("ThriftNotActiveServiceException(");
+    boolean first = true;
+
+    sb.append(")");
+    return sb.toString();
+  }
+
+  public void validate() throws org.apache.thrift.TException {
+    // check for required fields
+    // check for sub-struct validity
+  }
+
+  private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
+    try {
+      write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
+    } catch (org.apache.thrift.TException te) {
+      throw new java.io.IOException(te);
+    }
+  }
+
+  private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
+    try {
+      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 ThriftNotActiveServiceExceptionStandardSchemeFactory implements SchemeFactory {
+    public ThriftNotActiveServiceExceptionStandardScheme getScheme() {
+      return new ThriftNotActiveServiceExceptionStandardScheme();
+    }
+  }
+
+  private static class ThriftNotActiveServiceExceptionStandardScheme extends StandardScheme<ThriftNotActiveServiceException> {
+
+    public void read(org.apache.thrift.protocol.TProtocol iprot, ThriftNotActiveServiceException struct) throws org.apache.thrift.TException {
+      org.apache.thrift.protocol.TField schemeField;
+      iprot.readStructBegin();
+      while (true)
+      {
+        schemeField = iprot.readFieldBegin();
+        if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
+          break;
+        }
+        switch (schemeField.id) {
+          default:
+            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+        }
+        iprot.readFieldEnd();
+      }
+      iprot.readStructEnd();
+
+      // check for required fields of primitive type, which can't be checked in the validate method
+      struct.validate();
+    }
+
+    public void write(org.apache.thrift.protocol.TProtocol oprot, ThriftNotActiveServiceException struct) throws org.apache.thrift.TException {
+      struct.validate();
+
+      oprot.writeStructBegin(STRUCT_DESC);
+      oprot.writeFieldStop();
+      oprot.writeStructEnd();
+    }
+
+  }
+
+  private static class ThriftNotActiveServiceExceptionTupleSchemeFactory implements SchemeFactory {
+    public ThriftNotActiveServiceExceptionTupleScheme getScheme() {
+      return new ThriftNotActiveServiceExceptionTupleScheme();
+    }
+  }
+
+  private static class ThriftNotActiveServiceExceptionTupleScheme extends TupleScheme<ThriftNotActiveServiceException> {
+
+    @Override
+    public void write(org.apache.thrift.protocol.TProtocol prot, ThriftNotActiveServiceException struct) throws org.apache.thrift.TException {
+      TTupleProtocol oprot = (TTupleProtocol) prot;
+    }
+
+    @Override
+    public void read(org.apache.thrift.protocol.TProtocol prot, ThriftNotActiveServiceException struct) throws org.apache.thrift.TException {
+      TTupleProtocol iprot = (TTupleProtocol) prot;
+    }
+  }
+
+}
+

http://git-wip-us.apache.org/repos/asf/accumulo/blob/780045ce/core/src/main/java/org/apache/accumulo/core/master/thrift/FateService.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/accumulo/core/master/thrift/FateService.java b/core/src/main/java/org/apache/accumulo/core/master/thrift/FateService.java
index 7fe0974..cc49eca 100644
--- a/core/src/main/java/org/apache/accumulo/core/master/thrift/FateService.java
+++ b/core/src/main/java/org/apache/accumulo/core/master/thrift/FateService.java
@@ -55,13 +55,13 @@ public class FateService {
 
   public interface Iface {
 
-    public long beginFateOperation(org.apache.accumulo.core.trace.thrift.TInfo tinfo, org.apache.accumulo.core.security.thrift.TCredentials credentials) throws org.apache.accumulo.core.client.impl.thrift.ThriftSecurityException, org.apache.thrift.TException;
+    public long beginFateOperation(org.apache.accumulo.core.trace.thrift.TInfo tinfo, org.apache.accumulo.core.security.thrift.TCredentials credentials) throws org.apache.accumulo.core.client.impl.thrift.ThriftSecurityException, org.apache.accumulo.core.client.impl.thrift.ThriftNotActiveServiceException, org.apache.thrift.TException;
 
-    public void executeFateOperation(org.apache.accumulo.core.trace.thrift.TInfo tinfo, org.apache.accumulo.core.security.thrift.TCredentials credentials, long opid, FateOperation op, List<ByteBuffer> arguments, Map<String,String> options, boolean autoClean) throws org.apache.accumulo.core.client.impl.thrift.ThriftSecurityException, org.apache.accumulo.core.client.impl.thrift.ThriftTableOperationException, org.apache.thrift.TException;
+    public void executeFateOperation(org.apache.accumulo.core.trace.thrift.TInfo tinfo, org.apache.accumulo.core.security.thrift.TCredentials credentials, long opid, FateOperation op, List<ByteBuffer> arguments, Map<String,String> options, boolean autoClean) throws org.apache.accumulo.core.client.impl.thrift.ThriftSecurityException, org.apache.accumulo.core.client.impl.thrift.ThriftTableOperationException, org.apache.accumulo.core.client.impl.thrift.ThriftNotActiveServiceException, org.apache.thrift.TException;
 
-    public String waitForFateOperation(org.apache.accumulo.core.trace.thrift.TInfo tinfo, org.apache.accumulo.core.security.thrift.TCredentials credentials, long opid) throws org.apache.accumulo.core.client.impl.thrift.ThriftSecurityException, org.apache.accumulo.core.client.impl.thrift.ThriftTableOperationException, org.apache.thrift.TException;
+    public String waitForFateOperation(org.apache.accumulo.core.trace.thrift.TInfo tinfo, org.apache.accumulo.core.security.thrift.TCredentials credentials, long opid) throws org.apache.accumulo.core.client.impl.thrift.ThriftSecurityException, org.apache.accumulo.core.client.impl.thrift.ThriftTableOperationException, org.apache.accumulo.core.client.impl.thrift.ThriftNotActiveServiceException, org.apache.thrift.TException;
 
-    public void finishFateOperation(org.apache.accumulo.core.trace.thrift.TInfo tinfo, org.apache.accumulo.core.security.thrift.TCredentials credentials, long opid) throws org.apache.accumulo.core.client.impl.thrift.ThriftSecurityException, org.apache.thrift.TException;
+    public void finishFateOperation(org.apache.accumulo.core.trace.thrift.TInfo tinfo, org.apache.accumulo.core.security.thrift.TCredentials credentials, long opid) throws org.apache.accumulo.core.client.impl.thrift.ThriftSecurityException, org.apache.accumulo.core.client.impl.thrift.ThriftNotActiveServiceException, org.apache.thrift.TException;
 
   }
 
@@ -97,7 +97,7 @@ public class FateService {
       super(iprot, oprot);
     }
 
-    public long beginFateOperation(org.apache.accumulo.core.trace.thrift.TInfo tinfo, org.apache.accumulo.core.security.thrift.TCredentials credentials) throws org.apache.accumulo.core.client.impl.thrift.ThriftSecurityException, org.apache.thrift.TException
+    public long beginFateOperation(org.apache.accumulo.core.trace.thrift.TInfo tinfo, org.apache.accumulo.core.security.thrift.TCredentials credentials) throws org.apache.accumulo.core.client.impl.thrift.ThriftSecurityException, org.apache.accumulo.core.client.impl.thrift.ThriftNotActiveServiceException, org.apache.thrift.TException
     {
       send_beginFateOperation(tinfo, credentials);
       return recv_beginFateOperation();
@@ -111,7 +111,7 @@ public class FateService {
       sendBase("beginFateOperation", args);
     }
 
-    public long recv_beginFateOperation() throws org.apache.accumulo.core.client.impl.thrift.ThriftSecurityException, org.apache.thrift.TException
+    public long recv_beginFateOperation() throws org.apache.accumulo.core.client.impl.thrift.ThriftSecurityException, org.apache.accumulo.core.client.impl.thrift.ThriftNotActiveServiceException, org.apache.thrift.TException
     {
       beginFateOperation_result result = new beginFateOperation_result();
       receiveBase(result, "beginFateOperation");
@@ -121,10 +121,13 @@ public class FateService {
       if (result.sec != null) {
         throw result.sec;
       }
+      if (result.tnase != null) {
+        throw result.tnase;
+      }
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "beginFateOperation failed: unknown result");
     }
 
-    public void executeFateOperation(org.apache.accumulo.core.trace.thrift.TInfo tinfo, org.apache.accumulo.core.security.thrift.TCredentials credentials, long opid, FateOperation op, List<ByteBuffer> arguments, Map<String,String> options, boolean autoClean) throws org.apache.accumulo.core.client.impl.thrift.ThriftSecurityException, org.apache.accumulo.core.client.impl.thrift.ThriftTableOperationException, org.apache.thrift.TException
+    public void executeFateOperation(org.apache.accumulo.core.trace.thrift.TInfo tinfo, org.apache.accumulo.core.security.thrift.TCredentials credentials, long opid, FateOperation op, List<ByteBuffer> arguments, Map<String,String> options, boolean autoClean) throws org.apache.accumulo.core.client.impl.thrift.ThriftSecurityException, org.apache.accumulo.core.client.impl.thrift.ThriftTableOperationException, org.apache.accumulo.core.client.impl.thrift.ThriftNotActiveServiceException, org.apache.thrift.TException
     {
       send_executeFateOperation(tinfo, credentials, opid, op, arguments, options, autoClean);
       recv_executeFateOperation();
@@ -143,7 +146,7 @@ public class FateService {
       sendBase("executeFateOperation", args);
     }
 
-    public void recv_executeFateOperation() throws org.apache.accumulo.core.client.impl.thrift.ThriftSecurityException, org.apache.accumulo.core.client.impl.thrift.ThriftTableOperationException, org.apache.thrift.TException
+    public void recv_executeFateOperation() throws org.apache.accumulo.core.client.impl.thrift.ThriftSecurityException, org.apache.accumulo.core.client.impl.thrift.ThriftTableOperationException, org.apache.accumulo.core.client.impl.thrift.ThriftNotActiveServiceException, org.apache.thrift.TException
     {
       executeFateOperation_result result = new executeFateOperation_result();
       receiveBase(result, "executeFateOperation");
@@ -153,10 +156,13 @@ public class FateService {
       if (result.tope != null) {
         throw result.tope;
       }
+      if (result.tnase != null) {
+        throw result.tnase;
+      }
       return;
     }
 
-    public String waitForFateOperation(org.apache.accumulo.core.trace.thrift.TInfo tinfo, org.apache.accumulo.core.security.thrift.TCredentials credentials, long opid) throws org.apache.accumulo.core.client.impl.thrift.ThriftSecurityException, org.apache.accumulo.core.client.impl.thrift.ThriftTableOperationException, org.apache.thrift.TException
+    public String waitForFateOperation(org.apache.accumulo.core.trace.thrift.TInfo tinfo, org.apache.accumulo.core.security.thrift.TCredentials credentials, long opid) throws org.apache.accumulo.core.client.impl.thrift.ThriftSecurityException, org.apache.accumulo.core.client.impl.thrift.ThriftTableOperationException, org.apache.accumulo.core.client.impl.thrift.ThriftNotActiveServiceException, org.apache.thrift.TException
     {
       send_waitForFateOperation(tinfo, credentials, opid);
       return recv_waitForFateOperation();
@@ -171,7 +177,7 @@ public class FateService {
       sendBase("waitForFateOperation", args);
     }
 
-    public String recv_waitForFateOperation() throws org.apache.accumulo.core.client.impl.thrift.ThriftSecurityException, org.apache.accumulo.core.client.impl.thrift.ThriftTableOperationException, org.apache.thrift.TException
+    public String recv_waitForFateOperation() throws org.apache.accumulo.core.client.impl.thrift.ThriftSecurityException, org.apache.accumulo.core.client.impl.thrift.ThriftTableOperationException, org.apache.accumulo.core.client.impl.thrift.ThriftNotActiveServiceException, org.apache.thrift.TException
     {
       waitForFateOperation_result result = new waitForFateOperation_result();
       receiveBase(result, "waitForFateOperation");
@@ -184,10 +190,13 @@ public class FateService {
       if (result.tope != null) {
         throw result.tope;
       }
+      if (result.tnase != null) {
+        throw result.tnase;
+      }
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "waitForFateOperation failed: unknown result");
     }
 
-    public void finishFateOperation(org.apache.accumulo.core.trace.thrift.TInfo tinfo, org.apache.accumulo.core.security.thrift.TCredentials credentials, long opid) throws org.apache.accumulo.core.client.impl.thrift.ThriftSecurityException, org.apache.thrift.TException
+    public void finishFateOperation(org.apache.accumulo.core.trace.thrift.TInfo tinfo, org.apache.accumulo.core.security.thrift.TCredentials credentials, long opid) throws org.apache.accumulo.core.client.impl.thrift.ThriftSecurityException, org.apache.accumulo.core.client.impl.thrift.ThriftNotActiveServiceException, org.apache.thrift.TException
     {
       send_finishFateOperation(tinfo, credentials, opid);
       recv_finishFateOperation();
@@ -202,13 +211,16 @@ public class FateService {
       sendBase("finishFateOperation", args);
     }
 
-    public void recv_finishFateOperation() throws org.apache.accumulo.core.client.impl.thrift.ThriftSecurityException, org.apache.thrift.TException
+    public void recv_finishFateOperation() throws org.apache.accumulo.core.client.impl.thrift.ThriftSecurityException, org.apache.accumulo.core.client.impl.thrift.ThriftNotActiveServiceException, org.apache.thrift.TException
     {
       finishFateOperation_result result = new finishFateOperation_result();
       receiveBase(result, "finishFateOperation");
       if (result.sec != null) {
         throw result.sec;
       }
+      if (result.tnase != null) {
+        throw result.tnase;
+      }
       return;
     }
 
@@ -255,7 +267,7 @@ public class FateService {
         prot.writeMessageEnd();
       }
 
-      public long getResult() throws org.apache.accumulo.core.client.impl.thrift.ThriftSecurityException, org.apache.thrift.TException {
+      public long getResult() throws org.apache.accumulo.core.client.impl.thrift.ThriftSecurityException, org.apache.accumulo.core.client.impl.thrift.ThriftNotActiveServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new IllegalStateException("Method call not finished!");
         }
@@ -305,7 +317,7 @@ public class FateService {
         prot.writeMessageEnd();
       }
 
-      public void getResult() throws org.apache.accumulo.core.client.impl.thrift.ThriftSecurityException, org.apache.accumulo.core.client.impl.thrift.ThriftTableOperationException, org.apache.thrift.TException {
+      public void getResult() throws org.apache.accumulo.core.client.impl.thrift.ThriftSecurityException, org.apache.accumulo.core.client.impl.thrift.ThriftTableOperationException, org.apache.accumulo.core.client.impl.thrift.ThriftNotActiveServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new IllegalStateException("Method call not finished!");
         }
@@ -343,7 +355,7 @@ public class FateService {
         prot.writeMessageEnd();
       }
 
-      public String getResult() throws org.apache.accumulo.core.client.impl.thrift.ThriftSecurityException, org.apache.accumulo.core.client.impl.thrift.ThriftTableOperationException, org.apache.thrift.TException {
+      public String getResult() throws org.apache.accumulo.core.client.impl.thrift.ThriftSecurityException, org.apache.accumulo.core.client.impl.thrift.ThriftTableOperationException, org.apache.accumulo.core.client.impl.thrift.ThriftNotActiveServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new IllegalStateException("Method call not finished!");
         }
@@ -381,7 +393,7 @@ public class FateService {
         prot.writeMessageEnd();
       }
 
-      public void getResult() throws org.apache.accumulo.core.client.impl.thrift.ThriftSecurityException, org.apache.thrift.TException {
+      public void getResult() throws org.apache.accumulo.core.client.impl.thrift.ThriftSecurityException, org.apache.accumulo.core.client.impl.thrift.ThriftNotActiveServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new IllegalStateException("Method call not finished!");
         }
@@ -431,6 +443,8 @@ public class FateService {
           result.setSuccessIsSet(true);
         } catch (org.apache.accumulo.core.client.impl.thrift.ThriftSecurityException sec) {
           result.sec = sec;
+        } catch (org.apache.accumulo.core.client.impl.thrift.ThriftNotActiveServiceException tnase) {
+          result.tnase = tnase;
         }
         return result;
       }
@@ -457,6 +471,8 @@ public class FateService {
           result.sec = sec;
         } catch (org.apache.accumulo.core.client.impl.thrift.ThriftTableOperationException tope) {
           result.tope = tope;
+        } catch (org.apache.accumulo.core.client.impl.thrift.ThriftNotActiveServiceException tnase) {
+          result.tnase = tnase;
         }
         return result;
       }
@@ -483,6 +499,8 @@ public class FateService {
           result.sec = sec;
         } catch (org.apache.accumulo.core.client.impl.thrift.ThriftTableOperationException tope) {
           result.tope = tope;
+        } catch (org.apache.accumulo.core.client.impl.thrift.ThriftNotActiveServiceException tnase) {
+          result.tnase = tnase;
         }
         return result;
       }
@@ -507,6 +525,8 @@ public class FateService {
           iface.finishFateOperation(args.tinfo, args.credentials, args.opid);
         } catch (org.apache.accumulo.core.client.impl.thrift.ThriftSecurityException sec) {
           result.sec = sec;
+        } catch (org.apache.accumulo.core.client.impl.thrift.ThriftNotActiveServiceException tnase) {
+          result.tnase = tnase;
         }
         return result;
       }
@@ -565,6 +585,11 @@ public class FateService {
                         result.setSecIsSet(true);
                         msg = result;
             }
+            else             if (e instanceof org.apache.accumulo.core.client.impl.thrift.ThriftNotActiveServiceException) {
+                        result.tnase = (org.apache.accumulo.core.client.impl.thrift.ThriftNotActiveServiceException) e;
+                        result.setTnaseIsSet(true);
+                        msg = result;
+            }
              else 
             {
               msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
@@ -626,6 +651,11 @@ public class FateService {
                         result.setTopeIsSet(true);
                         msg = result;
             }
+            else             if (e instanceof org.apache.accumulo.core.client.impl.thrift.ThriftNotActiveServiceException) {
+                        result.tnase = (org.apache.accumulo.core.client.impl.thrift.ThriftNotActiveServiceException) e;
+                        result.setTnaseIsSet(true);
+                        msg = result;
+            }
              else 
             {
               msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
@@ -688,6 +718,11 @@ public class FateService {
                         result.setTopeIsSet(true);
                         msg = result;
             }
+            else             if (e instanceof org.apache.accumulo.core.client.impl.thrift.ThriftNotActiveServiceException) {
+                        result.tnase = (org.apache.accumulo.core.client.impl.thrift.ThriftNotActiveServiceException) e;
+                        result.setTnaseIsSet(true);
+                        msg = result;
+            }
              else 
             {
               msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
@@ -744,6 +779,11 @@ public class FateService {
                         result.setSecIsSet(true);
                         msg = result;
             }
+            else             if (e instanceof org.apache.accumulo.core.client.impl.thrift.ThriftNotActiveServiceException) {
+                        result.tnase = (org.apache.accumulo.core.client.impl.thrift.ThriftNotActiveServiceException) e;
+                        result.setTnaseIsSet(true);
+                        msg = result;
+            }
              else 
             {
               msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
@@ -1252,6 +1292,7 @@ public class FateService {
 
     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 org.apache.thrift.protocol.TField TNASE_FIELD_DESC = new org.apache.thrift.protocol.TField("tnase", org.apache.thrift.protocol.TType.STRUCT, (short)2);
 
     private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
     static {
@@ -1261,11 +1302,13 @@ public class FateService {
 
     public long success; // required
     public org.apache.accumulo.core.client.impl.thrift.ThriftSecurityException sec; // required
+    public org.apache.accumulo.core.client.impl.thrift.ThriftNotActiveServiceException tnase; // 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 {
       SUCCESS((short)0, "success"),
-      SEC((short)1, "sec");
+      SEC((short)1, "sec"),
+      TNASE((short)2, "tnase");
 
       private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
 
@@ -1284,6 +1327,8 @@ public class FateService {
             return SUCCESS;
           case 1: // SEC
             return SEC;
+          case 2: // TNASE
+            return TNASE;
           default:
             return null;
         }
@@ -1333,6 +1378,8 @@ public class FateService {
           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
       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)));
+      tmpMap.put(_Fields.TNASE, new org.apache.thrift.meta_data.FieldMetaData("tnase", 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(beginFateOperation_result.class, metaDataMap);
     }
@@ -1342,12 +1389,14 @@ public class FateService {
 
     public beginFateOperation_result(
       long success,
-      org.apache.accumulo.core.client.impl.thrift.ThriftSecurityException sec)
+      org.apache.accumulo.core.client.impl.thrift.ThriftSecurityException sec,
+      org.apache.accumulo.core.client.impl.thrift.ThriftNotActiveServiceException tnase)
     {
       this();
       this.success = success;
       setSuccessIsSet(true);
       this.sec = sec;
+      this.tnase = tnase;
     }
 
     /**
@@ -1359,6 +1408,9 @@ public class FateService {
       if (other.isSetSec()) {
         this.sec = new org.apache.accumulo.core.client.impl.thrift.ThriftSecurityException(other.sec);
       }
+      if (other.isSetTnase()) {
+        this.tnase = new org.apache.accumulo.core.client.impl.thrift.ThriftNotActiveServiceException(other.tnase);
+      }
     }
 
     public beginFateOperation_result deepCopy() {
@@ -1370,6 +1422,7 @@ public class FateService {
       setSuccessIsSet(false);
       this.success = 0;
       this.sec = null;
+      this.tnase = null;
     }
 
     public long getSuccess() {
@@ -1419,6 +1472,30 @@ public class FateService {
       }
     }
 
+    public org.apache.accumulo.core.client.impl.thrift.ThriftNotActiveServiceException getTnase() {
+      return this.tnase;
+    }
+
+    public beginFateOperation_result setTnase(org.apache.accumulo.core.client.impl.thrift.ThriftNotActiveServiceException tnase) {
+      this.tnase = tnase;
+      return this;
+    }
+
+    public void unsetTnase() {
+      this.tnase = null;
+    }
+
+    /** Returns true if field tnase is set (has been assigned a value) and false otherwise */
+    public boolean isSetTnase() {
+      return this.tnase != null;
+    }
+
+    public void setTnaseIsSet(boolean value) {
+      if (!value) {
+        this.tnase = null;
+      }
+    }
+
     public void setFieldValue(_Fields field, Object value) {
       switch (field) {
       case SUCCESS:
@@ -1437,6 +1514,14 @@ public class FateService {
         }
         break;
 
+      case TNASE:
+        if (value == null) {
+          unsetTnase();
+        } else {
+          setTnase((org.apache.accumulo.core.client.impl.thrift.ThriftNotActiveServiceException)value);
+        }
+        break;
+
       }
     }
 
@@ -1448,6 +1533,9 @@ public class FateService {
       case SEC:
         return getSec();
 
+      case TNASE:
+        return getTnase();
+
       }
       throw new IllegalStateException();
     }
@@ -1463,6 +1551,8 @@ public class FateService {
         return isSetSuccess();
       case SEC:
         return isSetSec();
+      case TNASE:
+        return isSetTnase();
       }
       throw new IllegalStateException();
     }
@@ -1498,6 +1588,15 @@ public class FateService {
           return false;
       }
 
+      boolean this_present_tnase = true && this.isSetTnase();
+      boolean that_present_tnase = true && that.isSetTnase();
+      if (this_present_tnase || that_present_tnase) {
+        if (!(this_present_tnase && that_present_tnase))
+          return false;
+        if (!this.tnase.equals(that.tnase))
+          return false;
+      }
+
       return true;
     }
 
@@ -1515,6 +1614,11 @@ public class FateService {
       if (present_sec)
         list.add(sec);
 
+      boolean present_tnase = true && (isSetTnase());
+      list.add(present_tnase);
+      if (present_tnase)
+        list.add(tnase);
+
       return list.hashCode();
     }
 
@@ -1546,6 +1650,16 @@ public class FateService {
           return lastComparison;
         }
       }
+      lastComparison = Boolean.valueOf(isSetTnase()).compareTo(other.isSetTnase());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetTnase()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.tnase, other.tnase);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
       return 0;
     }
 
@@ -1577,6 +1691,14 @@ public class FateService {
         sb.append(this.sec);
       }
       first = false;
+      if (!first) sb.append(", ");
+      sb.append("tnase:");
+      if (this.tnase == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.tnase);
+      }
+      first = false;
       sb.append(")");
       return sb.toString();
     }
@@ -1639,6 +1761,15 @@ public class FateService {
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
               }
               break;
+            case 2: // TNASE
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+                struct.tnase = new org.apache.accumulo.core.client.impl.thrift.ThriftNotActiveServiceException();
+                struct.tnase.read(iprot);
+                struct.setTnaseIsSet(true);
+              } else { 
+                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+              }
+              break;
             default:
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
           }
@@ -1664,6 +1795,11 @@ public class FateService {
           struct.sec.write(oprot);
           oprot.writeFieldEnd();
         }
+        if (struct.tnase != null) {
+          oprot.writeFieldBegin(TNASE_FIELD_DESC);
+          struct.tnase.write(oprot);
+          oprot.writeFieldEnd();
+        }
         oprot.writeFieldStop();
         oprot.writeStructEnd();
       }
@@ -1688,19 +1824,25 @@ public class FateService {
         if (struct.isSetSec()) {
           optionals.set(1);
         }
-        oprot.writeBitSet(optionals, 2);
+        if (struct.isSetTnase()) {
+          optionals.set(2);
+        }
+        oprot.writeBitSet(optionals, 3);
         if (struct.isSetSuccess()) {
           oprot.writeI64(struct.success);
         }
         if (struct.isSetSec()) {
           struct.sec.write(oprot);
         }
+        if (struct.isSetTnase()) {
+          struct.tnase.write(oprot);
+        }
       }
 
       @Override
       public void read(org.apache.thrift.protocol.TProtocol prot, beginFateOperation_result struct) throws org.apache.thrift.TException {
         TTupleProtocol iprot = (TTupleProtocol) prot;
-        BitSet incoming = iprot.readBitSet(2);
+        BitSet incoming = iprot.readBitSet(3);
         if (incoming.get(0)) {
           struct.success = iprot.readI64();
           struct.setSuccessIsSet(true);
@@ -1710,6 +1852,11 @@ public class FateService {
           struct.sec.read(iprot);
           struct.setSecIsSet(true);
         }
+        if (incoming.get(2)) {
+          struct.tnase = new org.apache.accumulo.core.client.impl.thrift.ThriftNotActiveServiceException();
+          struct.tnase.read(iprot);
+          struct.setTnaseIsSet(true);
+        }
       }
     }
 
@@ -2830,6 +2977,7 @@ public class FateService {
 
     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 org.apache.thrift.protocol.TField TOPE_FIELD_DESC = new org.apache.thrift.protocol.TField("tope", org.apache.thrift.protocol.TType.STRUCT, (short)2);
+    private static final org.apache.thrift.protocol.TField TNASE_FIELD_DESC = new org.apache.thrift.protocol.TField("tnase", org.apache.thrift.protocol.TType.STRUCT, (short)3);
 
     private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
     static {
@@ -2839,11 +2987,13 @@ public class FateService {
 
     public org.apache.accumulo.core.client.impl.thrift.ThriftSecurityException sec; // required
     public org.apache.accumulo.core.client.impl.thrift.ThriftTableOperationException tope; // required
+    public org.apache.accumulo.core.client.impl.thrift.ThriftNotActiveServiceException tnase; // 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 {
       SEC((short)1, "sec"),
-      TOPE((short)2, "tope");
+      TOPE((short)2, "tope"),
+      TNASE((short)3, "tnase");
 
       private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
 
@@ -2862,6 +3012,8 @@ public class FateService {
             return SEC;
           case 2: // TOPE
             return TOPE;
+          case 3: // TNASE
+            return TNASE;
           default:
             return null;
         }
@@ -2909,6 +3061,8 @@ public class FateService {
           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
       tmpMap.put(_Fields.TOPE, new org.apache.thrift.meta_data.FieldMetaData("tope", org.apache.thrift.TFieldRequirementType.DEFAULT, 
           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
+      tmpMap.put(_Fields.TNASE, new org.apache.thrift.meta_data.FieldMetaData("tnase", 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(executeFateOperation_result.class, metaDataMap);
     }
@@ -2918,11 +3072,13 @@ public class FateService {
 
     public executeFateOperation_result(
       org.apache.accumulo.core.client.impl.thrift.ThriftSecurityException sec,
-      org.apache.accumulo.core.client.impl.thrift.ThriftTableOperationException tope)
+      org.apache.accumulo.core.client.impl.thrift.ThriftTableOperationException tope,
+      org.apache.accumulo.core.client.impl.thrift.ThriftNotActiveServiceException tnase)
     {
       this();
       this.sec = sec;
       this.tope = tope;
+      this.tnase = tnase;
     }
 
     /**
@@ -2935,6 +3091,9 @@ public class FateService {
       if (other.isSetTope()) {
         this.tope = new org.apache.accumulo.core.client.impl.thrift.ThriftTableOperationException(other.tope);
       }
+      if (other.isSetTnase()) {
+        this.tnase = new org.apache.accumulo.core.client.impl.thrift.ThriftNotActiveServiceException(other.tnase);
+      }
     }
 
     public executeFateOperation_result deepCopy() {
@@ -2945,6 +3104,7 @@ public class FateService {
     public void clear() {
       this.sec = null;
       this.tope = null;
+      this.tnase = null;
     }
 
     public org.apache.accumulo.core.client.impl.thrift.ThriftSecurityException getSec() {
@@ -2995,6 +3155,30 @@ public class FateService {
       }
     }
 
+    public org.apache.accumulo.core.client.impl.thrift.ThriftNotActiveServiceException getTnase() {
+      return this.tnase;
+    }
+
+    public executeFateOperation_result setTnase(org.apache.accumulo.core.client.impl.thrift.ThriftNotActiveServiceException tnase) {
+      this.tnase = tnase;
+      return this;
+    }
+
+    public void unsetTnase() {
+      this.tnase = null;
+    }
+
+    /** Returns true if field tnase is set (has been assigned a value) and false otherwise */
+    public boolean isSetTnase() {
+      return this.tnase != null;
+    }
+
+    public void setTnaseIsSet(boolean value) {
+      if (!value) {
+        this.tnase = null;
+      }
+    }
+
     public void setFieldValue(_Fields field, Object value) {
       switch (field) {
       case SEC:
@@ -3013,6 +3197,14 @@ public class FateService {
         }
         break;
 
+      case TNASE:
+        if (value == null) {
+          unsetTnase();
+        } else {
+          setTnase((org.apache.accumulo.core.client.impl.thrift.ThriftNotActiveServiceException)value);
+        }
+        break;
+
       }
     }
 
@@ -3024,6 +3216,9 @@ public class FateService {
       case TOPE:
         return getTope();
 
+      case TNASE:
+        return getTnase();
+
       }
       throw new IllegalStateException();
     }
@@ -3039,6 +3234,8 @@ public class FateService {
         return isSetSec();
       case TOPE:
         return isSetTope();
+      case TNASE:
+        return isSetTnase();
       }
       throw new IllegalStateException();
     }
@@ -3074,6 +3271,15 @@ public class FateService {
           return false;
       }
 
+      boolean this_present_tnase = true && this.isSetTnase();
+      boolean that_present_tnase = true && that.isSetTnase();
+      if (this_present_tnase || that_present_tnase) {
+        if (!(this_present_tnase && that_present_tnase))
+          return false;
+        if (!this.tnase.equals(that.tnase))
+          return false;
+      }
+
       return true;
     }
 
@@ -3091,6 +3297,11 @@ public class FateService {
       if (present_tope)
         list.add(tope);
 
+      boolean present_tnase = true && (isSetTnase());
+      list.add(present_tnase);
+      if (present_tnase)
+        list.add(tnase);
+
       return list.hashCode();
     }
 
@@ -3122,6 +3333,16 @@ public class FateService {
           return lastComparison;
         }
       }
+      lastComparison = Boolean.valueOf(isSetTnase()).compareTo(other.isSetTnase());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetTnase()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.tnase, other.tnase);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
       return 0;
     }
 
@@ -3157,6 +3378,14 @@ public class FateService {
         sb.append(this.tope);
       }
       first = false;
+      if (!first) sb.append(", ");
+      sb.append("tnase:");
+      if (this.tnase == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.tnase);
+      }
+      first = false;
       sb.append(")");
       return sb.toString();
     }
@@ -3218,6 +3447,15 @@ public class FateService {
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
               }
               break;
+            case 3: // TNASE
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+                struct.tnase = new org.apache.accumulo.core.client.impl.thrift.ThriftNotActiveServiceException();
+                struct.tnase.read(iprot);
+                struct.setTnaseIsSet(true);
+              } else { 
+                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+              }
+              break;
             default:
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
           }
@@ -3243,6 +3481,11 @@ public class FateService {
           struct.tope.write(oprot);
           oprot.writeFieldEnd();
         }
+        if (struct.tnase != null) {
+          oprot.writeFieldBegin(TNASE_FIELD_DESC);
+          struct.tnase.write(oprot);
+          oprot.writeFieldEnd();
+        }
         oprot.writeFieldStop();
         oprot.writeStructEnd();
       }
@@ -3267,19 +3510,25 @@ public class FateService {
         if (struct.isSetTope()) {
           optionals.set(1);
         }
-        oprot.writeBitSet(optionals, 2);
+        if (struct.isSetTnase()) {
+          optionals.set(2);
+        }
+        oprot.writeBitSet(optionals, 3);
         if (struct.isSetSec()) {
           struct.sec.write(oprot);
         }
         if (struct.isSetTope()) {
           struct.tope.write(oprot);
         }
+        if (struct.isSetTnase()) {
+          struct.tnase.write(oprot);
+        }
       }
 
       @Override
       public void read(org.apache.thrift.protocol.TProtocol prot, executeFateOperation_result struct) throws org.apache.thrift.TException {
         TTupleProtocol iprot = (TTupleProtocol) prot;
-        BitSet incoming = iprot.readBitSet(2);
+        BitSet incoming = iprot.readBitSet(3);
         if (incoming.get(0)) {
           struct.sec = new org.apache.accumulo.core.client.impl.thrift.ThriftSecurityException();
           struct.sec.read(iprot);
@@ -3290,6 +3539,11 @@ public class FateService {
           struct.tope.read(iprot);
           struct.setTopeIsSet(true);
         }
+        if (incoming.get(2)) {
+          struct.tnase = new org.apache.accumulo.core.client.impl.thrift.ThriftNotActiveServiceException();
+          struct.tnase.read(iprot);
+          struct.setTnaseIsSet(true);
+        }
       }
     }
 
@@ -3880,6 +4134,7 @@ public class FateService {
     private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRING, (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 org.apache.thrift.protocol.TField TOPE_FIELD_DESC = new org.apache.thrift.protocol.TField("tope", org.apache.thrift.protocol.TType.STRUCT, (short)2);
+    private static final org.apache.thrift.protocol.TField TNASE_FIELD_DESC = new org.apache.thrift.protocol.TField("tnase", org.apache.thrift.protocol.TType.STRUCT, (short)3);
 
     private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
     static {
@@ -3890,12 +4145,14 @@ public class FateService {
     public String success; // required
     public org.apache.accumulo.core.client.impl.thrift.ThriftSecurityException sec; // required
     public org.apache.accumulo.core.client.impl.thrift.ThriftTableOperationException tope; // required
+    public org.apache.accumulo.core.client.impl.thrift.ThriftNotActiveServiceException tnase; // 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 {
       SUCCESS((short)0, "success"),
       SEC((short)1, "sec"),
-      TOPE((short)2, "tope");
+      TOPE((short)2, "tope"),
+      TNASE((short)3, "tnase");
 
       private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
 
@@ -3916,6 +4173,8 @@ public class FateService {
             return SEC;
           case 2: // TOPE
             return TOPE;
+          case 3: // TNASE
+            return TNASE;
           default:
             return null;
         }
@@ -3965,6 +4224,8 @@ public class FateService {
           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
       tmpMap.put(_Fields.TOPE, new org.apache.thrift.meta_data.FieldMetaData("tope", org.apache.thrift.TFieldRequirementType.DEFAULT, 
           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
+      tmpMap.put(_Fields.TNASE, new org.apache.thrift.meta_data.FieldMetaData("tnase", 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(waitForFateOperation_result.class, metaDataMap);
     }
@@ -3975,12 +4236,14 @@ public class FateService {
     public waitForFateOperation_result(
       String success,
       org.apache.accumulo.core.client.impl.thrift.ThriftSecurityException sec,
-      org.apache.accumulo.core.client.impl.thrift.ThriftTableOperationException tope)
+      org.apache.accumulo.core.client.impl.thrift.ThriftTableOperationException tope,
+      org.apache.accumulo.core.client.impl.thrift.ThriftNotActiveServiceException tnase)
     {
       this();
       this.success = success;
       this.sec = sec;
       this.tope = tope;
+      this.tnase = tnase;
     }
 
     /**
@@ -3996,6 +4259,9 @@ public class FateService {
       if (other.isSetTope()) {
         this.tope = new org.apache.accumulo.core.client.impl.thrift.ThriftTableOperationException(other.tope);
       }
+      if (other.isSetTnase()) {
+        this.tnase = new org.apache.accumulo.core.client.impl.thrift.ThriftNotActiveServiceException(other.tnase);
+      }
     }
 
     public waitForFateOperation_result deepCopy() {
@@ -4007,6 +4273,7 @@ public class FateService {
       this.success = null;
       this.sec = null;
       this.tope = null;
+      this.tnase = null;
     }
 
     public String getSuccess() {
@@ -4081,6 +4348,30 @@ public class FateService {
       }
     }
 
+    public org.apache.accumulo.core.client.impl.thrift.ThriftNotActiveServiceException getTnase() {
+      return this.tnase;
+    }
+
+    public waitForFateOperation_result setTnase(org.apache.accumulo.core.client.impl.thrift.ThriftNotActiveServiceException tnase) {
+      this.tnase = tnase;
+      return this;
+    }
+
+    public void unsetTnase() {
+      this.tnase = null;
+    }
+
+    /** Returns true if field tnase is set (has been assigned a value) and false otherwise */
+    public boolean isSetTnase() {
+      return this.tnase != null;
+    }
+
+    public void setTnaseIsSet(boolean value) {
+      if (!value) {
+        this.tnase = null;
+      }
+    }
+
     public void setFieldValue(_Fields field, Object value) {
       switch (field) {
       case SUCCESS:
@@ -4107,6 +4398,14 @@ public class FateService {
         }
         break;
 
+      case TNASE:
+        if (value == null) {
+          unsetTnase();
+        } else {
+          setTnase((org.apache.accumulo.core.client.impl.thrift.ThriftNotActiveServiceException)value);
+        }
+        break;
+
       }
     }
 
@@ -4121,6 +4420,9 @@ public class FateService {
       case TOPE:
         return getTope();
 
+      case TNASE:
+        return getTnase();
+
       }
       throw new IllegalStateException();
     }
@@ -4138,6 +4440,8 @@ public class FateService {
         return isSetSec();
       case TOPE:
         return isSetTope();
+      case TNASE:
+        return isSetTnase();
       }
       throw new IllegalStateException();
     }
@@ -4182,6 +4486,15 @@ public class FateService {
           return false;
       }
 
+      boolean this_present_tnase = true && this.isSetTnase();
+      boolean that_present_tnase = true && that.isSetTnase();
+      if (this_present_tnase || that_present_tnase) {
+        if (!(this_present_tnase && that_present_tnase))
+          return false;
+        if (!this.tnase.equals(that.tnase))
+          return false;
+      }
+
       return true;
     }
 
@@ -4204,6 +4517,11 @@ public class FateService {
       if (present_tope)
         list.add(tope);
 
+      boolean present_tnase = true && (isSetTnase());
+      list.add(present_tnase);
+      if (present_tnase)
+        list.add(tnase);
+
       return list.hashCode();
     }
 
@@ -4245,6 +4563,16 @@ public class FateService {
           return lastComparison;
         }
       }
+      lastComparison = Boolean.valueOf(isSetTnase()).compareTo(other.isSetTnase());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetTnase()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.tnase, other.tnase);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
       return 0;
     }
 
@@ -4288,6 +4616,14 @@ public class FateService {
         sb.append(this.tope);
       }
       first = false;
+      if (!first) sb.append(", ");
+      sb.append("tnase:");
+      if (this.tnase == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.tnase);
+      }
+      first = false;
       sb.append(")");
       return sb.toString();
     }
@@ -4357,6 +4693,15 @@ public class FateService {
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
               }
               break;
+            case 3: // TNASE
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+                struct.tnase = new org.apache.accumulo.core.client.impl.thrift.ThriftNotActiveServiceException();
+                struct.tnase.read(iprot);
+                struct.setTnaseIsSet(true);
+              } else { 
+                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+              }
+              break;
             default:
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
           }
@@ -4387,6 +4732,11 @@ public class FateService {
           struct.tope.write(oprot);
           oprot.writeFieldEnd();
         }
+        if (struct.tnase != null) {
+          oprot.writeFieldBegin(TNASE_FIELD_DESC);
+          struct.tnase.write(oprot);
+          oprot.writeFieldEnd();
+        }
         oprot.writeFieldStop();
         oprot.writeStructEnd();
       }
@@ -4414,7 +4764,10 @@ public class FateService {
         if (struct.isSetTope()) {
           optionals.set(2);
         }
-        oprot.writeBitSet(optionals, 3);
+        if (struct.isSetTnase()) {
+          optionals.set(3);
+        }
+        oprot.writeBitSet(optionals, 4);
         if (struct.isSetSuccess()) {
           oprot.writeString(struct.success);
         }
@@ -4424,12 +4777,15 @@ public class FateService {
         if (struct.isSetTope()) {
           struct.tope.write(oprot);
         }
+        if (struct.isSetTnase()) {
+          struct.tnase.write(oprot);
+        }
       }
 
       @Override
       public void read(org.apache.thrift.protocol.TProtocol prot, waitForFateOperation_result struct) throws org.apache.thrift.TException {
         TTupleProtocol iprot = (TTupleProtocol) prot;
-        BitSet incoming = iprot.readBitSet(3);
+        BitSet incoming = iprot.readBitSet(4);
         if (incoming.get(0)) {
           struct.success = iprot.readString();
           struct.setSuccessIsSet(true);
@@ -4444,6 +4800,11 @@ public class FateService {
           struct.tope.read(iprot);
           struct.setTopeIsSet(true);
         }
+        if (incoming.get(3)) {
+          struct.tnase = new org.apache.accumulo.core.client.impl.thrift.ThriftNotActiveServiceException();
+          struct.tnase.read(iprot);
+          struct.setTnaseIsSet(true);
+        }
       }
     }
 
@@ -5032,6 +5393,7 @@ public class FateService {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("finishFateOperation_result");
 
     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 org.apache.thrift.protocol.TField TNASE_FIELD_DESC = new org.apache.thrift.protocol.TField("tnase", org.apache.thrift.protocol.TType.STRUCT, (short)2);
 
     private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
     static {
@@ -5040,10 +5402,12 @@ public class FateService {
     }
 
     public org.apache.accumulo.core.client.impl.thrift.ThriftSecurityException sec; // required
+    public org.apache.accumulo.core.client.impl.thrift.ThriftNotActiveServiceException tnase; // 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 {
-      SEC((short)1, "sec");
+      SEC((short)1, "sec"),
+      TNASE((short)2, "tnase");
 
       private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
 
@@ -5060,6 +5424,8 @@ public class FateService {
         switch(fieldId) {
           case 1: // SEC
             return SEC;
+          case 2: // TNASE
+            return TNASE;
           default:
             return null;
         }
@@ -5105,6 +5471,8 @@ public class FateService {
       Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
       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)));
+      tmpMap.put(_Fields.TNASE, new org.apache.thrift.meta_data.FieldMetaData("tnase", 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(finishFateOperation_result.class, metaDataMap);
     }
@@ -5113,10 +5481,12 @@ public class FateService {
     }
 
     public finishFateOperation_result(
-      org.apache.accumulo.core.client.impl.thrift.ThriftSecurityException sec)
+      org.apache.accumulo.core.client.impl.thrift.ThriftSecurityException sec,
+      org.apache.accumulo.core.client.impl.thrift.ThriftNotActiveServiceException tnase)
     {
       this();
       this.sec = sec;
+      this.tnase = tnase;
     }
 
     /**
@@ -5126,6 +5496,9 @@ public class FateService {
       if (other.isSetSec()) {
         this.sec = new org.apache.accumulo.core.client.impl.thrift.ThriftSecurityException(other.sec);
       }
+      if (other.isSetTnase()) {
+        this.tnase = new org.apache.accumulo.core.client.impl.thrift.ThriftNotActiveServiceException(other.tnase);
+      }
     }
 
     public finishFateOperation_result deepCopy() {
@@ -5135,6 +5508,7 @@ public class FateService {
     @Override
     public void clear() {
       this.sec = null;
+      this.tnase = null;
     }
 
     public org.apache.accumulo.core.client.impl.thrift.ThriftSecurityException getSec() {
@@ -5161,6 +5535,30 @@ public class FateService {
       }
     }
 
+    public org.apache.accumulo.core.client.impl.thrift.ThriftNotActiveServiceException getTnase() {
+      return this.tnase;
+    }
+
+    public finishFateOperation_result setTnase(org.apache.accumulo.core.client.impl.thrift.ThriftNotActiveServiceException tnase) {
+      this.tnase = tnase;
+      return this;
+    }
+
+    public void unsetTnase() {
+      this.tnase = null;
+    }
+
+    /** Returns true if field tnase is set (has been assigned a value) and false otherwise */
+    public boolean isSetTnase() {
+      return this.tnase != null;
+    }
+
+    public void setTnaseIsSet(boolean value) {
+      if (!value) {
+        this.tnase = null;
+      }
+    }
+
     public void setFieldValue(_Fields field, Object value) {
       switch (field) {
       case SEC:
@@ -5171,6 +5569,14 @@ public class FateService {
         }
         break;
 
+      case TNASE:
+        if (value == null) {
+          unsetTnase();
+        } else {
+          setTnase((org.apache.accumulo.core.client.impl.thrift.ThriftNotActiveServiceException)value);
+        }
+        break;
+
       }
     }
 
@@ -5179,6 +5585,9 @@ public class FateService {
       case SEC:
         return getSec();
 
+      case TNASE:
+        return getTnase();
+
       }
       throw new IllegalStateException();
     }
@@ -5192,6 +5601,8 @@ public class FateService {
       switch (field) {
       case SEC:
         return isSetSec();
+      case TNASE:
+        return isSetTnase();
       }
       throw new IllegalStateException();
     }
@@ -5218,6 +5629,15 @@ public class FateService {
           return false;
       }
 
+      boolean this_present_tnase = true && this.isSetTnase();
+      boolean that_present_tnase = true && that.isSetTnase();
+      if (this_present_tnase || that_present_tnase) {
+        if (!(this_present_tnase && that_present_tnase))
+          return false;
+        if (!this.tnase.equals(that.tnase))
+          return false;
+      }
+
       return true;
     }
 
@@ -5230,6 +5650,11 @@ public class FateService {
       if (present_sec)
         list.add(sec);
 
+      boolean present_tnase = true && (isSetTnase());
+      list.add(present_tnase);
+      if (present_tnase)
+        list.add(tnase);
+
       return list.hashCode();
     }
 
@@ -5251,6 +5676,16 @@ public class FateService {
           return lastComparison;
         }
       }
+      lastComparison = Boolean.valueOf(isSetTnase()).compareTo(other.isSetTnase());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetTnase()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.tnase, other.tnase);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
       return 0;
     }
 
@@ -5278,6 +5713,14 @@ public class FateService {
         sb.append(this.sec);
       }
       first = false;
+      if (!first) sb.append(", ");
+      sb.append("tnase:");
+      if (this.tnase == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.tnase);
+      }
+      first = false;
       sb.append(")");
       return sb.toString();
     }
@@ -5330,6 +5773,15 @@ public class FateService {
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
               }
               break;
+            case 2: // TNASE
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+                struct.tnase = new org.apache.accumulo.core.client.impl.thrift.ThriftNotActiveServiceException();
+                struct.tnase.read(iprot);
+                struct.setTnaseIsSet(true);
+              } else { 
+                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+              }
+              break;
             default:
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
           }
@@ -5350,6 +5802,11 @@ public class FateService {
           struct.sec.write(oprot);
           oprot.writeFieldEnd();
         }
+        if (struct.tnase != null) {
+          oprot.writeFieldBegin(TNASE_FIELD_DESC);
+          struct.tnase.write(oprot);
+          oprot.writeFieldEnd();
+        }
         oprot.writeFieldStop();
         oprot.writeStructEnd();
       }
@@ -5371,21 +5828,32 @@ public class FateService {
         if (struct.isSetSec()) {
           optionals.set(0);
         }
-        oprot.writeBitSet(optionals, 1);
+        if (struct.isSetTnase()) {
+          optionals.set(1);
+        }
+        oprot.writeBitSet(optionals, 2);
         if (struct.isSetSec()) {
           struct.sec.write(oprot);
         }
+        if (struct.isSetTnase()) {
+          struct.tnase.write(oprot);
+        }
       }
 
       @Override
       public void read(org.apache.thrift.protocol.TProtocol prot, finishFateOperation_result struct) throws org.apache.thrift.TException {
         TTupleProtocol iprot = (TTupleProtocol) prot;
-        BitSet incoming = iprot.readBitSet(1);
+        BitSet incoming = iprot.readBitSet(2);
         if (incoming.get(0)) {
           struct.sec = new org.apache.accumulo.core.client.impl.thrift.ThriftSecurityException();
           struct.sec.read(iprot);
           struct.setSecIsSet(true);
         }
+        if (incoming.get(1)) {
+          struct.tnase = new org.apache.accumulo.core.client.impl.thrift.ThriftNotActiveServiceException();
+          struct.tnase.read(iprot);
+          struct.setTnaseIsSet(true);
+        }
       }
     }
 


Mime
View raw message