accumulo-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ktur...@apache.org
Subject svn commit: r1435371 [1/3] - in /accumulo/trunk: core/src/main/java/org/apache/accumulo/core/client/admin/ core/src/main/java/org/apache/accumulo/core/client/mock/ core/src/main/java/org/apache/accumulo/core/tabletserver/thrift/ core/src/main/java/org/...
Date Fri, 18 Jan 2013 22:06:45 GMT
Author: kturner
Date: Fri Jan 18 22:06:44 2013
New Revision: 1435371

URL: http://svn.apache.org/viewvc?rev=1435371&view=rev
Log:
ACCUMULO-875 added API and shell command for listing active compactions on a tablet server

Added:
    accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/admin/ActiveCompaction.java
    accumulo/trunk/core/src/main/java/org/apache/accumulo/core/tabletserver/thrift/ActiveCompaction.java
    accumulo/trunk/core/src/main/java/org/apache/accumulo/core/tabletserver/thrift/CompactionReason.java
    accumulo/trunk/core/src/main/java/org/apache/accumulo/core/tabletserver/thrift/CompactionType.java
    accumulo/trunk/core/src/main/java/org/apache/accumulo/core/util/shell/commands/ActiveCompactionIterator.java
    accumulo/trunk/core/src/main/java/org/apache/accumulo/core/util/shell/commands/ListCompactionsCommand.java
Modified:
    accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/admin/InstanceOperations.java
    accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/admin/InstanceOperationsImpl.java
    accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/mock/MockInstanceOperations.java
    accumulo/trunk/core/src/main/java/org/apache/accumulo/core/tabletserver/thrift/IteratorConfig.java
    accumulo/trunk/core/src/main/java/org/apache/accumulo/core/tabletserver/thrift/TIteratorSetting.java
    accumulo/trunk/core/src/main/java/org/apache/accumulo/core/tabletserver/thrift/TabletClientService.java
    accumulo/trunk/core/src/main/java/org/apache/accumulo/core/util/shell/Shell.java
    accumulo/trunk/core/src/main/thrift/tabletserver.thrift
    accumulo/trunk/server/src/main/java/org/apache/accumulo/server/tabletserver/Compactor.java
    accumulo/trunk/server/src/main/java/org/apache/accumulo/server/tabletserver/MinorCompactor.java
    accumulo/trunk/server/src/main/java/org/apache/accumulo/server/tabletserver/Tablet.java
    accumulo/trunk/server/src/main/java/org/apache/accumulo/server/tabletserver/TabletServer.java
    accumulo/trunk/server/src/main/java/org/apache/accumulo/server/tabletserver/TabletServerResourceManager.java
    accumulo/trunk/server/src/main/java/org/apache/accumulo/server/test/performance/thrift/NullTserver.java

Added: accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/admin/ActiveCompaction.java
URL: http://svn.apache.org/viewvc/accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/admin/ActiveCompaction.java?rev=1435371&view=auto
==============================================================================
--- accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/admin/ActiveCompaction.java (added)
+++ accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/admin/ActiveCompaction.java Fri Jan 18 22:06:44 2013
@@ -0,0 +1,184 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.accumulo.core.client.admin;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.accumulo.core.client.Instance;
+import org.apache.accumulo.core.client.IteratorSetting;
+import org.apache.accumulo.core.client.TableNotFoundException;
+import org.apache.accumulo.core.client.impl.Tables;
+import org.apache.accumulo.core.data.KeyExtent;
+import org.apache.accumulo.core.data.thrift.IterInfo;
+
+
+/**
+ * 
+ */
+public class ActiveCompaction {
+  
+  private org.apache.accumulo.core.tabletserver.thrift.ActiveCompaction tac;
+  private Instance instance;
+
+  ActiveCompaction(Instance instance, org.apache.accumulo.core.tabletserver.thrift.ActiveCompaction tac) {
+    this.tac = tac;
+    this.instance = instance;
+  }
+
+  static enum CompactionType {
+    /**
+     * compaction to flush a tablets memory
+     */
+    MINOR,
+    /**
+     * compaction to flush a tablets memory and merge it with the tablets smallest file. This type compaction is done when a tablet has too many files
+     */
+    MERGE,
+    /**
+     * compaction that merges a subset of a tablets files into one file
+     */
+    MAJOR,
+    /**
+     * compaction that merges all of a tablets files into one file
+     */
+    FULL
+  };
+  
+  static enum CompactionReason {
+    /**
+     * compaction initiated by user
+     */
+    USER,
+    /**
+     * Compaction initiated by system
+     */
+    SYSTEM,
+    /**
+     * Compaction initiated by merge operation
+     */
+    CHOP,
+    /**
+     * idle compaction
+     */
+    IDLE,
+    /**
+     * Compaction initiated to close a unload a tablet
+     */
+    CLOSE
+  };
+  
+  /**
+   * 
+   * @return name of the table the compaction is running against
+   * @throws TableNotFoundException
+   */
+  
+  public String getTable() throws TableNotFoundException {
+    return Tables.getTableName(instance, getExtent().getTableId().toString());
+  }
+  
+  /**
+   * @return tablet thats is compacting
+   */
+
+  public KeyExtent getExtent() {
+    return new KeyExtent(tac.getExtent());
+  }
+  
+  /**
+   * @return how long the compaction has been running in milliseconds
+   */
+
+  public long getAge() {
+    return tac.getAge();
+  }
+  
+  /**
+   * @return number of files compaction is reading
+   */
+
+  public int getInputFiles() {
+    return tac.getInputFiles();
+  }
+  
+  /**
+   * @return file compactions is writing too
+   */
+
+  public String getOutputFile() {
+    return tac.getOutputFile();
+  }
+  
+  /**
+   * @return the type of compaction
+   */
+  public CompactionType getType() {
+    return CompactionType.valueOf(tac.getType().name());
+  }
+  
+  /**
+   * @return the reason the compaction was started
+   */
+
+  public CompactionReason getReason() {
+    return CompactionReason.valueOf(tac.getReason().name());
+  }
+  
+  /**
+   * @return the locality group that is compacting
+   */
+
+  public String getLocalityGroup() {
+    return tac.getLocalityGroup();
+  }
+  
+  /**
+   * @return the number of key/values read by the compaction
+   */
+
+  public long getEntriesRead() {
+    return tac.getEntriesRead();
+  }
+  
+  /**
+   * @return the number of key/values written by the compaction
+   */
+
+  public long getEntriesWritten() {
+    return tac.getEntriesWritten();
+  }
+  
+  /**
+   * @return the per compaction iterators configured
+   */
+
+  public List<IteratorSetting> getIterators() {
+    ArrayList<IteratorSetting> ret = new ArrayList<IteratorSetting>();
+    
+    for (IterInfo ii : tac.getSsiList()) {
+      IteratorSetting settings = new IteratorSetting(ii.getPriority(), ii.getIterName(), ii.getClassName());
+      Map<String,String> options = tac.getSsio().get(ii.getIterName());
+      settings.addOptions(options);
+      
+      ret.add(settings);
+    }
+    
+    return ret;
+  }
+}

Modified: accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/admin/InstanceOperations.java
URL: http://svn.apache.org/viewvc/accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/admin/InstanceOperations.java?rev=1435371&r1=1435370&r2=1435371&view=diff
==============================================================================
--- accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/admin/InstanceOperations.java (original)
+++ accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/admin/InstanceOperations.java Fri Jan 18 22:06:44 2013
@@ -78,6 +78,18 @@ public interface InstanceOperations {
   public List<ActiveScan> getActiveScans(String tserver) throws AccumuloException, AccumuloSecurityException;
   
   /**
+   * List the active compaction running on a tablet server
+   * 
+   * @param tserver
+   *          The tablet server address should be of the form <ip address>:<port>
+   * @return
+   * @throws AccumuloException
+   * @throws AccumuloSecurityException
+   */
+
+  public List<ActiveCompaction> getActiveCompactions(String tserver) throws AccumuloException, AccumuloSecurityException;
+
+  /**
    * Test to see if the instance can load the given class as the given type.
    * 
    * @param className

Modified: accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/admin/InstanceOperationsImpl.java
URL: http://svn.apache.org/viewvc/accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/admin/InstanceOperationsImpl.java?rev=1435371&r1=1435370&r2=1435371&view=diff
==============================================================================
--- accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/admin/InstanceOperationsImpl.java (original)
+++ accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/admin/InstanceOperationsImpl.java Fri Jan 18 22:06:44 2013
@@ -173,4 +173,25 @@ public class InstanceOperationsImpl impl
       }
     });
   }
+  
+  /*
+   * (non-Javadoc)
+   * 
+   * @see org.apache.accumulo.core.client.admin.InstanceOperations#getActiveCompactions(java.lang.String)
+   */
+  @Override
+  public List<ActiveCompaction> getActiveCompactions(String tserver) throws AccumuloException, AccumuloSecurityException {
+    List<org.apache.accumulo.core.tabletserver.thrift.ActiveCompaction> tas = ThriftUtil.execute(tserver, instance.getConfiguration(),
+        new ClientExecReturn<List<org.apache.accumulo.core.tabletserver.thrift.ActiveCompaction>,TabletClientService.Client>() {
+          @Override
+          public List<org.apache.accumulo.core.tabletserver.thrift.ActiveCompaction> execute(TabletClientService.Client client) throws Exception {
+            return client.getActiveCompactions(Tracer.traceInfo(), credentials);
+          }
+        });
+    List<ActiveCompaction> as = new ArrayList<ActiveCompaction>();
+    for (org.apache.accumulo.core.tabletserver.thrift.ActiveCompaction activeCompaction : tas) {
+      as.add(new ActiveCompaction(instance, activeCompaction));
+    }
+    return as;
+  }
 }

Modified: accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/mock/MockInstanceOperations.java
URL: http://svn.apache.org/viewvc/accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/mock/MockInstanceOperations.java?rev=1435371&r1=1435370&r2=1435371&view=diff
==============================================================================
--- accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/mock/MockInstanceOperations.java (original)
+++ accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/mock/MockInstanceOperations.java Fri Jan 18 22:06:44 2013
@@ -22,6 +22,7 @@ import java.util.Map;
 
 import org.apache.accumulo.core.client.AccumuloException;
 import org.apache.accumulo.core.client.AccumuloSecurityException;
+import org.apache.accumulo.core.client.admin.ActiveCompaction;
 import org.apache.accumulo.core.client.admin.ActiveScan;
 import org.apache.accumulo.core.client.admin.InstanceOperations;
 import org.apache.accumulo.start.classloader.vfs.AccumuloVFSClassLoader;
@@ -114,4 +115,14 @@ public class MockInstanceOperations impl
     }
     return true;
   }
+  
+  /*
+   * (non-Javadoc)
+   * 
+   * @see org.apache.accumulo.core.client.admin.InstanceOperations#getActiveCompactions(java.lang.String)
+   */
+  @Override
+  public List<ActiveCompaction> getActiveCompactions(String tserver) throws AccumuloException, AccumuloSecurityException {
+    return new ArrayList<ActiveCompaction>();
+  }
 }

Added: accumulo/trunk/core/src/main/java/org/apache/accumulo/core/tabletserver/thrift/ActiveCompaction.java
URL: http://svn.apache.org/viewvc/accumulo/trunk/core/src/main/java/org/apache/accumulo/core/tabletserver/thrift/ActiveCompaction.java?rev=1435371&view=auto
==============================================================================
--- accumulo/trunk/core/src/main/java/org/apache/accumulo/core/tabletserver/thrift/ActiveCompaction.java (added)
+++ accumulo/trunk/core/src/main/java/org/apache/accumulo/core/tabletserver/thrift/ActiveCompaction.java Fri Jan 18 22:06:44 2013
@@ -0,0 +1,1587 @@
+/*
+ * 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.0)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+package org.apache.accumulo.core.tabletserver.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 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 org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+@SuppressWarnings("all") public class ActiveCompaction implements org.apache.thrift.TBase<ActiveCompaction, ActiveCompaction._Fields>, java.io.Serializable, Cloneable {
+  private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ActiveCompaction");
+
+  private static final org.apache.thrift.protocol.TField EXTENT_FIELD_DESC = new org.apache.thrift.protocol.TField("extent", org.apache.thrift.protocol.TType.STRUCT, (short)1);
+  private static final org.apache.thrift.protocol.TField AGE_FIELD_DESC = new org.apache.thrift.protocol.TField("age", org.apache.thrift.protocol.TType.I64, (short)2);
+  private static final org.apache.thrift.protocol.TField INPUT_FILES_FIELD_DESC = new org.apache.thrift.protocol.TField("inputFiles", org.apache.thrift.protocol.TType.I32, (short)3);
+  private static final org.apache.thrift.protocol.TField OUTPUT_FILE_FIELD_DESC = new org.apache.thrift.protocol.TField("outputFile", org.apache.thrift.protocol.TType.STRING, (short)4);
+  private static final org.apache.thrift.protocol.TField TYPE_FIELD_DESC = new org.apache.thrift.protocol.TField("type", org.apache.thrift.protocol.TType.I32, (short)5);
+  private static final org.apache.thrift.protocol.TField REASON_FIELD_DESC = new org.apache.thrift.protocol.TField("reason", org.apache.thrift.protocol.TType.I32, (short)6);
+  private static final org.apache.thrift.protocol.TField LOCALITY_GROUP_FIELD_DESC = new org.apache.thrift.protocol.TField("localityGroup", org.apache.thrift.protocol.TType.STRING, (short)7);
+  private static final org.apache.thrift.protocol.TField ENTRIES_READ_FIELD_DESC = new org.apache.thrift.protocol.TField("entriesRead", org.apache.thrift.protocol.TType.I64, (short)8);
+  private static final org.apache.thrift.protocol.TField ENTRIES_WRITTEN_FIELD_DESC = new org.apache.thrift.protocol.TField("entriesWritten", org.apache.thrift.protocol.TType.I64, (short)9);
+  private static final org.apache.thrift.protocol.TField SSI_LIST_FIELD_DESC = new org.apache.thrift.protocol.TField("ssiList", org.apache.thrift.protocol.TType.LIST, (short)10);
+  private static final org.apache.thrift.protocol.TField SSIO_FIELD_DESC = new org.apache.thrift.protocol.TField("ssio", org.apache.thrift.protocol.TType.MAP, (short)11);
+
+  private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
+  static {
+    schemes.put(StandardScheme.class, new ActiveCompactionStandardSchemeFactory());
+    schemes.put(TupleScheme.class, new ActiveCompactionTupleSchemeFactory());
+  }
+
+  public org.apache.accumulo.core.data.thrift.TKeyExtent extent; // required
+  public long age; // required
+  public int inputFiles; // required
+  public String outputFile; // required
+  /**
+   * 
+   * @see CompactionType
+   */
+  public CompactionType type; // required
+  /**
+   * 
+   * @see CompactionReason
+   */
+  public CompactionReason reason; // required
+  public String localityGroup; // required
+  public long entriesRead; // required
+  public long entriesWritten; // required
+  public List<org.apache.accumulo.core.data.thrift.IterInfo> ssiList; // required
+  public Map<String,Map<String,String>> ssio; // 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 {
+    EXTENT((short)1, "extent"),
+    AGE((short)2, "age"),
+    INPUT_FILES((short)3, "inputFiles"),
+    OUTPUT_FILE((short)4, "outputFile"),
+    /**
+     * 
+     * @see CompactionType
+     */
+    TYPE((short)5, "type"),
+    /**
+     * 
+     * @see CompactionReason
+     */
+    REASON((short)6, "reason"),
+    LOCALITY_GROUP((short)7, "localityGroup"),
+    ENTRIES_READ((short)8, "entriesRead"),
+    ENTRIES_WRITTEN((short)9, "entriesWritten"),
+    SSI_LIST((short)10, "ssiList"),
+    SSIO((short)11, "ssio");
+
+    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: // EXTENT
+          return EXTENT;
+        case 2: // AGE
+          return AGE;
+        case 3: // INPUT_FILES
+          return INPUT_FILES;
+        case 4: // OUTPUT_FILE
+          return OUTPUT_FILE;
+        case 5: // TYPE
+          return TYPE;
+        case 6: // REASON
+          return REASON;
+        case 7: // LOCALITY_GROUP
+          return LOCALITY_GROUP;
+        case 8: // ENTRIES_READ
+          return ENTRIES_READ;
+        case 9: // ENTRIES_WRITTEN
+          return ENTRIES_WRITTEN;
+        case 10: // SSI_LIST
+          return SSI_LIST;
+        case 11: // SSIO
+          return SSIO;
+        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 __AGE_ISSET_ID = 0;
+  private static final int __INPUTFILES_ISSET_ID = 1;
+  private static final int __ENTRIESREAD_ISSET_ID = 2;
+  private static final int __ENTRIESWRITTEN_ISSET_ID = 3;
+  private 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.EXTENT, new org.apache.thrift.meta_data.FieldMetaData("extent", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+        new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.accumulo.core.data.thrift.TKeyExtent.class)));
+    tmpMap.put(_Fields.AGE, new org.apache.thrift.meta_data.FieldMetaData("age", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
+    tmpMap.put(_Fields.INPUT_FILES, new org.apache.thrift.meta_data.FieldMetaData("inputFiles", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
+    tmpMap.put(_Fields.OUTPUT_FILE, new org.apache.thrift.meta_data.FieldMetaData("outputFile", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    tmpMap.put(_Fields.TYPE, new org.apache.thrift.meta_data.FieldMetaData("type", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+        new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, CompactionType.class)));
+    tmpMap.put(_Fields.REASON, new org.apache.thrift.meta_data.FieldMetaData("reason", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+        new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, CompactionReason.class)));
+    tmpMap.put(_Fields.LOCALITY_GROUP, new org.apache.thrift.meta_data.FieldMetaData("localityGroup", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    tmpMap.put(_Fields.ENTRIES_READ, new org.apache.thrift.meta_data.FieldMetaData("entriesRead", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
+    tmpMap.put(_Fields.ENTRIES_WRITTEN, new org.apache.thrift.meta_data.FieldMetaData("entriesWritten", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
+    tmpMap.put(_Fields.SSI_LIST, new org.apache.thrift.meta_data.FieldMetaData("ssiList", 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.IterInfo.class))));
+    tmpMap.put(_Fields.SSIO, new org.apache.thrift.meta_data.FieldMetaData("ssio", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+        new org.apache.thrift.meta_data.MapMetaData(org.apache.thrift.protocol.TType.MAP, 
+            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING), 
+            new org.apache.thrift.meta_data.MapMetaData(org.apache.thrift.protocol.TType.MAP, 
+                new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING), 
+                new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)))));
+    metaDataMap = Collections.unmodifiableMap(tmpMap);
+    org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(ActiveCompaction.class, metaDataMap);
+  }
+
+  public ActiveCompaction() {
+  }
+
+  public ActiveCompaction(
+    org.apache.accumulo.core.data.thrift.TKeyExtent extent,
+    long age,
+    int inputFiles,
+    String outputFile,
+    CompactionType type,
+    CompactionReason reason,
+    String localityGroup,
+    long entriesRead,
+    long entriesWritten,
+    List<org.apache.accumulo.core.data.thrift.IterInfo> ssiList,
+    Map<String,Map<String,String>> ssio)
+  {
+    this();
+    this.extent = extent;
+    this.age = age;
+    setAgeIsSet(true);
+    this.inputFiles = inputFiles;
+    setInputFilesIsSet(true);
+    this.outputFile = outputFile;
+    this.type = type;
+    this.reason = reason;
+    this.localityGroup = localityGroup;
+    this.entriesRead = entriesRead;
+    setEntriesReadIsSet(true);
+    this.entriesWritten = entriesWritten;
+    setEntriesWrittenIsSet(true);
+    this.ssiList = ssiList;
+    this.ssio = ssio;
+  }
+
+  /**
+   * Performs a deep copy on <i>other</i>.
+   */
+  public ActiveCompaction(ActiveCompaction other) {
+    __isset_bitfield = other.__isset_bitfield;
+    if (other.isSetExtent()) {
+      this.extent = new org.apache.accumulo.core.data.thrift.TKeyExtent(other.extent);
+    }
+    this.age = other.age;
+    this.inputFiles = other.inputFiles;
+    if (other.isSetOutputFile()) {
+      this.outputFile = other.outputFile;
+    }
+    if (other.isSetType()) {
+      this.type = other.type;
+    }
+    if (other.isSetReason()) {
+      this.reason = other.reason;
+    }
+    if (other.isSetLocalityGroup()) {
+      this.localityGroup = other.localityGroup;
+    }
+    this.entriesRead = other.entriesRead;
+    this.entriesWritten = other.entriesWritten;
+    if (other.isSetSsiList()) {
+      List<org.apache.accumulo.core.data.thrift.IterInfo> __this__ssiList = new ArrayList<org.apache.accumulo.core.data.thrift.IterInfo>();
+      for (org.apache.accumulo.core.data.thrift.IterInfo other_element : other.ssiList) {
+        __this__ssiList.add(new org.apache.accumulo.core.data.thrift.IterInfo(other_element));
+      }
+      this.ssiList = __this__ssiList;
+    }
+    if (other.isSetSsio()) {
+      Map<String,Map<String,String>> __this__ssio = new HashMap<String,Map<String,String>>();
+      for (Map.Entry<String, Map<String,String>> other_element : other.ssio.entrySet()) {
+
+        String other_element_key = other_element.getKey();
+        Map<String,String> other_element_value = other_element.getValue();
+
+        String __this__ssio_copy_key = other_element_key;
+
+        Map<String,String> __this__ssio_copy_value = new HashMap<String,String>();
+        for (Map.Entry<String, String> other_element_value_element : other_element_value.entrySet()) {
+
+          String other_element_value_element_key = other_element_value_element.getKey();
+          String other_element_value_element_value = other_element_value_element.getValue();
+
+          String __this__ssio_copy_value_copy_key = other_element_value_element_key;
+
+          String __this__ssio_copy_value_copy_value = other_element_value_element_value;
+
+          __this__ssio_copy_value.put(__this__ssio_copy_value_copy_key, __this__ssio_copy_value_copy_value);
+        }
+
+        __this__ssio.put(__this__ssio_copy_key, __this__ssio_copy_value);
+      }
+      this.ssio = __this__ssio;
+    }
+  }
+
+  public ActiveCompaction deepCopy() {
+    return new ActiveCompaction(this);
+  }
+
+  @Override
+  public void clear() {
+    this.extent = null;
+    setAgeIsSet(false);
+    this.age = 0;
+    setInputFilesIsSet(false);
+    this.inputFiles = 0;
+    this.outputFile = null;
+    this.type = null;
+    this.reason = null;
+    this.localityGroup = null;
+    setEntriesReadIsSet(false);
+    this.entriesRead = 0;
+    setEntriesWrittenIsSet(false);
+    this.entriesWritten = 0;
+    this.ssiList = null;
+    this.ssio = null;
+  }
+
+  public org.apache.accumulo.core.data.thrift.TKeyExtent getExtent() {
+    return this.extent;
+  }
+
+  public ActiveCompaction setExtent(org.apache.accumulo.core.data.thrift.TKeyExtent extent) {
+    this.extent = extent;
+    return this;
+  }
+
+  public void unsetExtent() {
+    this.extent = null;
+  }
+
+  /** Returns true if field extent is set (has been assigned a value) and false otherwise */
+  public boolean isSetExtent() {
+    return this.extent != null;
+  }
+
+  public void setExtentIsSet(boolean value) {
+    if (!value) {
+      this.extent = null;
+    }
+  }
+
+  public long getAge() {
+    return this.age;
+  }
+
+  public ActiveCompaction setAge(long age) {
+    this.age = age;
+    setAgeIsSet(true);
+    return this;
+  }
+
+  public void unsetAge() {
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __AGE_ISSET_ID);
+  }
+
+  /** Returns true if field age is set (has been assigned a value) and false otherwise */
+  public boolean isSetAge() {
+    return EncodingUtils.testBit(__isset_bitfield, __AGE_ISSET_ID);
+  }
+
+  public void setAgeIsSet(boolean value) {
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __AGE_ISSET_ID, value);
+  }
+
+  public int getInputFiles() {
+    return this.inputFiles;
+  }
+
+  public ActiveCompaction setInputFiles(int inputFiles) {
+    this.inputFiles = inputFiles;
+    setInputFilesIsSet(true);
+    return this;
+  }
+
+  public void unsetInputFiles() {
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __INPUTFILES_ISSET_ID);
+  }
+
+  /** Returns true if field inputFiles is set (has been assigned a value) and false otherwise */
+  public boolean isSetInputFiles() {
+    return EncodingUtils.testBit(__isset_bitfield, __INPUTFILES_ISSET_ID);
+  }
+
+  public void setInputFilesIsSet(boolean value) {
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __INPUTFILES_ISSET_ID, value);
+  }
+
+  public String getOutputFile() {
+    return this.outputFile;
+  }
+
+  public ActiveCompaction setOutputFile(String outputFile) {
+    this.outputFile = outputFile;
+    return this;
+  }
+
+  public void unsetOutputFile() {
+    this.outputFile = null;
+  }
+
+  /** Returns true if field outputFile is set (has been assigned a value) and false otherwise */
+  public boolean isSetOutputFile() {
+    return this.outputFile != null;
+  }
+
+  public void setOutputFileIsSet(boolean value) {
+    if (!value) {
+      this.outputFile = null;
+    }
+  }
+
+  /**
+   * 
+   * @see CompactionType
+   */
+  public CompactionType getType() {
+    return this.type;
+  }
+
+  /**
+   * 
+   * @see CompactionType
+   */
+  public ActiveCompaction setType(CompactionType type) {
+    this.type = type;
+    return this;
+  }
+
+  public void unsetType() {
+    this.type = null;
+  }
+
+  /** Returns true if field type is set (has been assigned a value) and false otherwise */
+  public boolean isSetType() {
+    return this.type != null;
+  }
+
+  public void setTypeIsSet(boolean value) {
+    if (!value) {
+      this.type = null;
+    }
+  }
+
+  /**
+   * 
+   * @see CompactionReason
+   */
+  public CompactionReason getReason() {
+    return this.reason;
+  }
+
+  /**
+   * 
+   * @see CompactionReason
+   */
+  public ActiveCompaction setReason(CompactionReason reason) {
+    this.reason = reason;
+    return this;
+  }
+
+  public void unsetReason() {
+    this.reason = null;
+  }
+
+  /** Returns true if field reason is set (has been assigned a value) and false otherwise */
+  public boolean isSetReason() {
+    return this.reason != null;
+  }
+
+  public void setReasonIsSet(boolean value) {
+    if (!value) {
+      this.reason = null;
+    }
+  }
+
+  public String getLocalityGroup() {
+    return this.localityGroup;
+  }
+
+  public ActiveCompaction setLocalityGroup(String localityGroup) {
+    this.localityGroup = localityGroup;
+    return this;
+  }
+
+  public void unsetLocalityGroup() {
+    this.localityGroup = null;
+  }
+
+  /** Returns true if field localityGroup is set (has been assigned a value) and false otherwise */
+  public boolean isSetLocalityGroup() {
+    return this.localityGroup != null;
+  }
+
+  public void setLocalityGroupIsSet(boolean value) {
+    if (!value) {
+      this.localityGroup = null;
+    }
+  }
+
+  public long getEntriesRead() {
+    return this.entriesRead;
+  }
+
+  public ActiveCompaction setEntriesRead(long entriesRead) {
+    this.entriesRead = entriesRead;
+    setEntriesReadIsSet(true);
+    return this;
+  }
+
+  public void unsetEntriesRead() {
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __ENTRIESREAD_ISSET_ID);
+  }
+
+  /** Returns true if field entriesRead is set (has been assigned a value) and false otherwise */
+  public boolean isSetEntriesRead() {
+    return EncodingUtils.testBit(__isset_bitfield, __ENTRIESREAD_ISSET_ID);
+  }
+
+  public void setEntriesReadIsSet(boolean value) {
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __ENTRIESREAD_ISSET_ID, value);
+  }
+
+  public long getEntriesWritten() {
+    return this.entriesWritten;
+  }
+
+  public ActiveCompaction setEntriesWritten(long entriesWritten) {
+    this.entriesWritten = entriesWritten;
+    setEntriesWrittenIsSet(true);
+    return this;
+  }
+
+  public void unsetEntriesWritten() {
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __ENTRIESWRITTEN_ISSET_ID);
+  }
+
+  /** Returns true if field entriesWritten is set (has been assigned a value) and false otherwise */
+  public boolean isSetEntriesWritten() {
+    return EncodingUtils.testBit(__isset_bitfield, __ENTRIESWRITTEN_ISSET_ID);
+  }
+
+  public void setEntriesWrittenIsSet(boolean value) {
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __ENTRIESWRITTEN_ISSET_ID, value);
+  }
+
+  public int getSsiListSize() {
+    return (this.ssiList == null) ? 0 : this.ssiList.size();
+  }
+
+  public java.util.Iterator<org.apache.accumulo.core.data.thrift.IterInfo> getSsiListIterator() {
+    return (this.ssiList == null) ? null : this.ssiList.iterator();
+  }
+
+  public void addToSsiList(org.apache.accumulo.core.data.thrift.IterInfo elem) {
+    if (this.ssiList == null) {
+      this.ssiList = new ArrayList<org.apache.accumulo.core.data.thrift.IterInfo>();
+    }
+    this.ssiList.add(elem);
+  }
+
+  public List<org.apache.accumulo.core.data.thrift.IterInfo> getSsiList() {
+    return this.ssiList;
+  }
+
+  public ActiveCompaction setSsiList(List<org.apache.accumulo.core.data.thrift.IterInfo> ssiList) {
+    this.ssiList = ssiList;
+    return this;
+  }
+
+  public void unsetSsiList() {
+    this.ssiList = null;
+  }
+
+  /** Returns true if field ssiList is set (has been assigned a value) and false otherwise */
+  public boolean isSetSsiList() {
+    return this.ssiList != null;
+  }
+
+  public void setSsiListIsSet(boolean value) {
+    if (!value) {
+      this.ssiList = null;
+    }
+  }
+
+  public int getSsioSize() {
+    return (this.ssio == null) ? 0 : this.ssio.size();
+  }
+
+  public void putToSsio(String key, Map<String,String> val) {
+    if (this.ssio == null) {
+      this.ssio = new HashMap<String,Map<String,String>>();
+    }
+    this.ssio.put(key, val);
+  }
+
+  public Map<String,Map<String,String>> getSsio() {
+    return this.ssio;
+  }
+
+  public ActiveCompaction setSsio(Map<String,Map<String,String>> ssio) {
+    this.ssio = ssio;
+    return this;
+  }
+
+  public void unsetSsio() {
+    this.ssio = null;
+  }
+
+  /** Returns true if field ssio is set (has been assigned a value) and false otherwise */
+  public boolean isSetSsio() {
+    return this.ssio != null;
+  }
+
+  public void setSsioIsSet(boolean value) {
+    if (!value) {
+      this.ssio = null;
+    }
+  }
+
+  public void setFieldValue(_Fields field, Object value) {
+    switch (field) {
+    case EXTENT:
+      if (value == null) {
+        unsetExtent();
+      } else {
+        setExtent((org.apache.accumulo.core.data.thrift.TKeyExtent)value);
+      }
+      break;
+
+    case AGE:
+      if (value == null) {
+        unsetAge();
+      } else {
+        setAge((Long)value);
+      }
+      break;
+
+    case INPUT_FILES:
+      if (value == null) {
+        unsetInputFiles();
+      } else {
+        setInputFiles((Integer)value);
+      }
+      break;
+
+    case OUTPUT_FILE:
+      if (value == null) {
+        unsetOutputFile();
+      } else {
+        setOutputFile((String)value);
+      }
+      break;
+
+    case TYPE:
+      if (value == null) {
+        unsetType();
+      } else {
+        setType((CompactionType)value);
+      }
+      break;
+
+    case REASON:
+      if (value == null) {
+        unsetReason();
+      } else {
+        setReason((CompactionReason)value);
+      }
+      break;
+
+    case LOCALITY_GROUP:
+      if (value == null) {
+        unsetLocalityGroup();
+      } else {
+        setLocalityGroup((String)value);
+      }
+      break;
+
+    case ENTRIES_READ:
+      if (value == null) {
+        unsetEntriesRead();
+      } else {
+        setEntriesRead((Long)value);
+      }
+      break;
+
+    case ENTRIES_WRITTEN:
+      if (value == null) {
+        unsetEntriesWritten();
+      } else {
+        setEntriesWritten((Long)value);
+      }
+      break;
+
+    case SSI_LIST:
+      if (value == null) {
+        unsetSsiList();
+      } else {
+        setSsiList((List<org.apache.accumulo.core.data.thrift.IterInfo>)value);
+      }
+      break;
+
+    case SSIO:
+      if (value == null) {
+        unsetSsio();
+      } else {
+        setSsio((Map<String,Map<String,String>>)value);
+      }
+      break;
+
+    }
+  }
+
+  public Object getFieldValue(_Fields field) {
+    switch (field) {
+    case EXTENT:
+      return getExtent();
+
+    case AGE:
+      return Long.valueOf(getAge());
+
+    case INPUT_FILES:
+      return Integer.valueOf(getInputFiles());
+
+    case OUTPUT_FILE:
+      return getOutputFile();
+
+    case TYPE:
+      return getType();
+
+    case REASON:
+      return getReason();
+
+    case LOCALITY_GROUP:
+      return getLocalityGroup();
+
+    case ENTRIES_READ:
+      return Long.valueOf(getEntriesRead());
+
+    case ENTRIES_WRITTEN:
+      return Long.valueOf(getEntriesWritten());
+
+    case SSI_LIST:
+      return getSsiList();
+
+    case SSIO:
+      return getSsio();
+
+    }
+    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 EXTENT:
+      return isSetExtent();
+    case AGE:
+      return isSetAge();
+    case INPUT_FILES:
+      return isSetInputFiles();
+    case OUTPUT_FILE:
+      return isSetOutputFile();
+    case TYPE:
+      return isSetType();
+    case REASON:
+      return isSetReason();
+    case LOCALITY_GROUP:
+      return isSetLocalityGroup();
+    case ENTRIES_READ:
+      return isSetEntriesRead();
+    case ENTRIES_WRITTEN:
+      return isSetEntriesWritten();
+    case SSI_LIST:
+      return isSetSsiList();
+    case SSIO:
+      return isSetSsio();
+    }
+    throw new IllegalStateException();
+  }
+
+  @Override
+  public boolean equals(Object that) {
+    if (that == null)
+      return false;
+    if (that instanceof ActiveCompaction)
+      return this.equals((ActiveCompaction)that);
+    return false;
+  }
+
+  public boolean equals(ActiveCompaction that) {
+    if (that == null)
+      return false;
+
+    boolean this_present_extent = true && this.isSetExtent();
+    boolean that_present_extent = true && that.isSetExtent();
+    if (this_present_extent || that_present_extent) {
+      if (!(this_present_extent && that_present_extent))
+        return false;
+      if (!this.extent.equals(that.extent))
+        return false;
+    }
+
+    boolean this_present_age = true;
+    boolean that_present_age = true;
+    if (this_present_age || that_present_age) {
+      if (!(this_present_age && that_present_age))
+        return false;
+      if (this.age != that.age)
+        return false;
+    }
+
+    boolean this_present_inputFiles = true;
+    boolean that_present_inputFiles = true;
+    if (this_present_inputFiles || that_present_inputFiles) {
+      if (!(this_present_inputFiles && that_present_inputFiles))
+        return false;
+      if (this.inputFiles != that.inputFiles)
+        return false;
+    }
+
+    boolean this_present_outputFile = true && this.isSetOutputFile();
+    boolean that_present_outputFile = true && that.isSetOutputFile();
+    if (this_present_outputFile || that_present_outputFile) {
+      if (!(this_present_outputFile && that_present_outputFile))
+        return false;
+      if (!this.outputFile.equals(that.outputFile))
+        return false;
+    }
+
+    boolean this_present_type = true && this.isSetType();
+    boolean that_present_type = true && that.isSetType();
+    if (this_present_type || that_present_type) {
+      if (!(this_present_type && that_present_type))
+        return false;
+      if (!this.type.equals(that.type))
+        return false;
+    }
+
+    boolean this_present_reason = true && this.isSetReason();
+    boolean that_present_reason = true && that.isSetReason();
+    if (this_present_reason || that_present_reason) {
+      if (!(this_present_reason && that_present_reason))
+        return false;
+      if (!this.reason.equals(that.reason))
+        return false;
+    }
+
+    boolean this_present_localityGroup = true && this.isSetLocalityGroup();
+    boolean that_present_localityGroup = true && that.isSetLocalityGroup();
+    if (this_present_localityGroup || that_present_localityGroup) {
+      if (!(this_present_localityGroup && that_present_localityGroup))
+        return false;
+      if (!this.localityGroup.equals(that.localityGroup))
+        return false;
+    }
+
+    boolean this_present_entriesRead = true;
+    boolean that_present_entriesRead = true;
+    if (this_present_entriesRead || that_present_entriesRead) {
+      if (!(this_present_entriesRead && that_present_entriesRead))
+        return false;
+      if (this.entriesRead != that.entriesRead)
+        return false;
+    }
+
+    boolean this_present_entriesWritten = true;
+    boolean that_present_entriesWritten = true;
+    if (this_present_entriesWritten || that_present_entriesWritten) {
+      if (!(this_present_entriesWritten && that_present_entriesWritten))
+        return false;
+      if (this.entriesWritten != that.entriesWritten)
+        return false;
+    }
+
+    boolean this_present_ssiList = true && this.isSetSsiList();
+    boolean that_present_ssiList = true && that.isSetSsiList();
+    if (this_present_ssiList || that_present_ssiList) {
+      if (!(this_present_ssiList && that_present_ssiList))
+        return false;
+      if (!this.ssiList.equals(that.ssiList))
+        return false;
+    }
+
+    boolean this_present_ssio = true && this.isSetSsio();
+    boolean that_present_ssio = true && that.isSetSsio();
+    if (this_present_ssio || that_present_ssio) {
+      if (!(this_present_ssio && that_present_ssio))
+        return false;
+      if (!this.ssio.equals(that.ssio))
+        return false;
+    }
+
+    return true;
+  }
+
+  @Override
+  public int hashCode() {
+    return 0;
+  }
+
+  public int compareTo(ActiveCompaction other) {
+    if (!getClass().equals(other.getClass())) {
+      return getClass().getName().compareTo(other.getClass().getName());
+    }
+
+    int lastComparison = 0;
+    ActiveCompaction typedOther = (ActiveCompaction)other;
+
+    lastComparison = Boolean.valueOf(isSetExtent()).compareTo(typedOther.isSetExtent());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetExtent()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.extent, typedOther.extent);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetAge()).compareTo(typedOther.isSetAge());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetAge()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.age, typedOther.age);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetInputFiles()).compareTo(typedOther.isSetInputFiles());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetInputFiles()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.inputFiles, typedOther.inputFiles);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetOutputFile()).compareTo(typedOther.isSetOutputFile());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetOutputFile()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.outputFile, typedOther.outputFile);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetType()).compareTo(typedOther.isSetType());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetType()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.type, typedOther.type);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetReason()).compareTo(typedOther.isSetReason());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetReason()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.reason, typedOther.reason);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetLocalityGroup()).compareTo(typedOther.isSetLocalityGroup());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetLocalityGroup()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.localityGroup, typedOther.localityGroup);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetEntriesRead()).compareTo(typedOther.isSetEntriesRead());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetEntriesRead()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.entriesRead, typedOther.entriesRead);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetEntriesWritten()).compareTo(typedOther.isSetEntriesWritten());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetEntriesWritten()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.entriesWritten, typedOther.entriesWritten);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetSsiList()).compareTo(typedOther.isSetSsiList());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetSsiList()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ssiList, typedOther.ssiList);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetSsio()).compareTo(typedOther.isSetSsio());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetSsio()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ssio, typedOther.ssio);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    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("ActiveCompaction(");
+    boolean first = true;
+
+    sb.append("extent:");
+    if (this.extent == null) {
+      sb.append("null");
+    } else {
+      sb.append(this.extent);
+    }
+    first = false;
+    if (!first) sb.append(", ");
+    sb.append("age:");
+    sb.append(this.age);
+    first = false;
+    if (!first) sb.append(", ");
+    sb.append("inputFiles:");
+    sb.append(this.inputFiles);
+    first = false;
+    if (!first) sb.append(", ");
+    sb.append("outputFile:");
+    if (this.outputFile == null) {
+      sb.append("null");
+    } else {
+      sb.append(this.outputFile);
+    }
+    first = false;
+    if (!first) sb.append(", ");
+    sb.append("type:");
+    if (this.type == null) {
+      sb.append("null");
+    } else {
+      sb.append(this.type);
+    }
+    first = false;
+    if (!first) sb.append(", ");
+    sb.append("reason:");
+    if (this.reason == null) {
+      sb.append("null");
+    } else {
+      sb.append(this.reason);
+    }
+    first = false;
+    if (!first) sb.append(", ");
+    sb.append("localityGroup:");
+    if (this.localityGroup == null) {
+      sb.append("null");
+    } else {
+      sb.append(this.localityGroup);
+    }
+    first = false;
+    if (!first) sb.append(", ");
+    sb.append("entriesRead:");
+    sb.append(this.entriesRead);
+    first = false;
+    if (!first) sb.append(", ");
+    sb.append("entriesWritten:");
+    sb.append(this.entriesWritten);
+    first = false;
+    if (!first) sb.append(", ");
+    sb.append("ssiList:");
+    if (this.ssiList == null) {
+      sb.append("null");
+    } else {
+      sb.append(this.ssiList);
+    }
+    first = false;
+    if (!first) sb.append(", ");
+    sb.append("ssio:");
+    if (this.ssio == null) {
+      sb.append("null");
+    } else {
+      sb.append(this.ssio);
+    }
+    first = false;
+    sb.append(")");
+    return sb.toString();
+  }
+
+  public void validate() throws org.apache.thrift.TException {
+    // check for required fields
+    // check for sub-struct validity
+    if (extent != null) {
+      extent.validate();
+    }
+  }
+
+  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 {
+      // 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 ActiveCompactionStandardSchemeFactory implements SchemeFactory {
+    public ActiveCompactionStandardScheme getScheme() {
+      return new ActiveCompactionStandardScheme();
+    }
+  }
+
+  private static class ActiveCompactionStandardScheme extends StandardScheme<ActiveCompaction> {
+
+    public void read(org.apache.thrift.protocol.TProtocol iprot, ActiveCompaction 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) {
+          case 1: // EXTENT
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+              struct.extent = new org.apache.accumulo.core.data.thrift.TKeyExtent();
+              struct.extent.read(iprot);
+              struct.setExtentIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 2: // AGE
+            if (schemeField.type == org.apache.thrift.protocol.TType.I64) {
+              struct.age = iprot.readI64();
+              struct.setAgeIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 3: // INPUT_FILES
+            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
+              struct.inputFiles = iprot.readI32();
+              struct.setInputFilesIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 4: // OUTPUT_FILE
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.outputFile = iprot.readString();
+              struct.setOutputFileIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 5: // TYPE
+            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
+              struct.type = CompactionType.findByValue(iprot.readI32());
+              struct.setTypeIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 6: // REASON
+            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
+              struct.reason = CompactionReason.findByValue(iprot.readI32());
+              struct.setReasonIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 7: // LOCALITY_GROUP
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.localityGroup = iprot.readString();
+              struct.setLocalityGroupIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 8: // ENTRIES_READ
+            if (schemeField.type == org.apache.thrift.protocol.TType.I64) {
+              struct.entriesRead = iprot.readI64();
+              struct.setEntriesReadIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 9: // ENTRIES_WRITTEN
+            if (schemeField.type == org.apache.thrift.protocol.TType.I64) {
+              struct.entriesWritten = iprot.readI64();
+              struct.setEntriesWrittenIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 10: // SSI_LIST
+            if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
+              {
+                org.apache.thrift.protocol.TList _list52 = iprot.readListBegin();
+                struct.ssiList = new ArrayList<org.apache.accumulo.core.data.thrift.IterInfo>(_list52.size);
+                for (int _i53 = 0; _i53 < _list52.size; ++_i53)
+                {
+                  org.apache.accumulo.core.data.thrift.IterInfo _elem54; // required
+                  _elem54 = new org.apache.accumulo.core.data.thrift.IterInfo();
+                  _elem54.read(iprot);
+                  struct.ssiList.add(_elem54);
+                }
+                iprot.readListEnd();
+              }
+              struct.setSsiListIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 11: // SSIO
+            if (schemeField.type == org.apache.thrift.protocol.TType.MAP) {
+              {
+                org.apache.thrift.protocol.TMap _map55 = iprot.readMapBegin();
+                struct.ssio = new HashMap<String,Map<String,String>>(2*_map55.size);
+                for (int _i56 = 0; _i56 < _map55.size; ++_i56)
+                {
+                  String _key57; // required
+                  Map<String,String> _val58; // required
+                  _key57 = iprot.readString();
+                  {
+                    org.apache.thrift.protocol.TMap _map59 = iprot.readMapBegin();
+                    _val58 = new HashMap<String,String>(2*_map59.size);
+                    for (int _i60 = 0; _i60 < _map59.size; ++_i60)
+                    {
+                      String _key61; // required
+                      String _val62; // required
+                      _key61 = iprot.readString();
+                      _val62 = iprot.readString();
+                      _val58.put(_key61, _val62);
+                    }
+                    iprot.readMapEnd();
+                  }
+                  struct.ssio.put(_key57, _val58);
+                }
+                iprot.readMapEnd();
+              }
+              struct.setSsioIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          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, ActiveCompaction struct) throws org.apache.thrift.TException {
+      struct.validate();
+
+      oprot.writeStructBegin(STRUCT_DESC);
+      if (struct.extent != null) {
+        oprot.writeFieldBegin(EXTENT_FIELD_DESC);
+        struct.extent.write(oprot);
+        oprot.writeFieldEnd();
+      }
+      oprot.writeFieldBegin(AGE_FIELD_DESC);
+      oprot.writeI64(struct.age);
+      oprot.writeFieldEnd();
+      oprot.writeFieldBegin(INPUT_FILES_FIELD_DESC);
+      oprot.writeI32(struct.inputFiles);
+      oprot.writeFieldEnd();
+      if (struct.outputFile != null) {
+        oprot.writeFieldBegin(OUTPUT_FILE_FIELD_DESC);
+        oprot.writeString(struct.outputFile);
+        oprot.writeFieldEnd();
+      }
+      if (struct.type != null) {
+        oprot.writeFieldBegin(TYPE_FIELD_DESC);
+        oprot.writeI32(struct.type.getValue());
+        oprot.writeFieldEnd();
+      }
+      if (struct.reason != null) {
+        oprot.writeFieldBegin(REASON_FIELD_DESC);
+        oprot.writeI32(struct.reason.getValue());
+        oprot.writeFieldEnd();
+      }
+      if (struct.localityGroup != null) {
+        oprot.writeFieldBegin(LOCALITY_GROUP_FIELD_DESC);
+        oprot.writeString(struct.localityGroup);
+        oprot.writeFieldEnd();
+      }
+      oprot.writeFieldBegin(ENTRIES_READ_FIELD_DESC);
+      oprot.writeI64(struct.entriesRead);
+      oprot.writeFieldEnd();
+      oprot.writeFieldBegin(ENTRIES_WRITTEN_FIELD_DESC);
+      oprot.writeI64(struct.entriesWritten);
+      oprot.writeFieldEnd();
+      if (struct.ssiList != null) {
+        oprot.writeFieldBegin(SSI_LIST_FIELD_DESC);
+        {
+          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.ssiList.size()));
+          for (org.apache.accumulo.core.data.thrift.IterInfo _iter63 : struct.ssiList)
+          {
+            _iter63.write(oprot);
+          }
+          oprot.writeListEnd();
+        }
+        oprot.writeFieldEnd();
+      }
+      if (struct.ssio != null) {
+        oprot.writeFieldBegin(SSIO_FIELD_DESC);
+        {
+          oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.MAP, struct.ssio.size()));
+          for (Map.Entry<String, Map<String,String>> _iter64 : struct.ssio.entrySet())
+          {
+            oprot.writeString(_iter64.getKey());
+            {
+              oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, _iter64.getValue().size()));
+              for (Map.Entry<String, String> _iter65 : _iter64.getValue().entrySet())
+              {
+                oprot.writeString(_iter65.getKey());
+                oprot.writeString(_iter65.getValue());
+              }
+              oprot.writeMapEnd();
+            }
+          }
+          oprot.writeMapEnd();
+        }
+        oprot.writeFieldEnd();
+      }
+      oprot.writeFieldStop();
+      oprot.writeStructEnd();
+    }
+
+  }
+
+  private static class ActiveCompactionTupleSchemeFactory implements SchemeFactory {
+    public ActiveCompactionTupleScheme getScheme() {
+      return new ActiveCompactionTupleScheme();
+    }
+  }
+
+  private static class ActiveCompactionTupleScheme extends TupleScheme<ActiveCompaction> {
+
+    @Override
+    public void write(org.apache.thrift.protocol.TProtocol prot, ActiveCompaction struct) throws org.apache.thrift.TException {
+      TTupleProtocol oprot = (TTupleProtocol) prot;
+      BitSet optionals = new BitSet();
+      if (struct.isSetExtent()) {
+        optionals.set(0);
+      }
+      if (struct.isSetAge()) {
+        optionals.set(1);
+      }
+      if (struct.isSetInputFiles()) {
+        optionals.set(2);
+      }
+      if (struct.isSetOutputFile()) {
+        optionals.set(3);
+      }
+      if (struct.isSetType()) {
+        optionals.set(4);
+      }
+      if (struct.isSetReason()) {
+        optionals.set(5);
+      }
+      if (struct.isSetLocalityGroup()) {
+        optionals.set(6);
+      }
+      if (struct.isSetEntriesRead()) {
+        optionals.set(7);
+      }
+      if (struct.isSetEntriesWritten()) {
+        optionals.set(8);
+      }
+      if (struct.isSetSsiList()) {
+        optionals.set(9);
+      }
+      if (struct.isSetSsio()) {
+        optionals.set(10);
+      }
+      oprot.writeBitSet(optionals, 11);
+      if (struct.isSetExtent()) {
+        struct.extent.write(oprot);
+      }
+      if (struct.isSetAge()) {
+        oprot.writeI64(struct.age);
+      }
+      if (struct.isSetInputFiles()) {
+        oprot.writeI32(struct.inputFiles);
+      }
+      if (struct.isSetOutputFile()) {
+        oprot.writeString(struct.outputFile);
+      }
+      if (struct.isSetType()) {
+        oprot.writeI32(struct.type.getValue());
+      }
+      if (struct.isSetReason()) {
+        oprot.writeI32(struct.reason.getValue());
+      }
+      if (struct.isSetLocalityGroup()) {
+        oprot.writeString(struct.localityGroup);
+      }
+      if (struct.isSetEntriesRead()) {
+        oprot.writeI64(struct.entriesRead);
+      }
+      if (struct.isSetEntriesWritten()) {
+        oprot.writeI64(struct.entriesWritten);
+      }
+      if (struct.isSetSsiList()) {
+        {
+          oprot.writeI32(struct.ssiList.size());
+          for (org.apache.accumulo.core.data.thrift.IterInfo _iter66 : struct.ssiList)
+          {
+            _iter66.write(oprot);
+          }
+        }
+      }
+      if (struct.isSetSsio()) {
+        {
+          oprot.writeI32(struct.ssio.size());
+          for (Map.Entry<String, Map<String,String>> _iter67 : struct.ssio.entrySet())
+          {
+            oprot.writeString(_iter67.getKey());
+            {
+              oprot.writeI32(_iter67.getValue().size());
+              for (Map.Entry<String, String> _iter68 : _iter67.getValue().entrySet())
+              {
+                oprot.writeString(_iter68.getKey());
+                oprot.writeString(_iter68.getValue());
+              }
+            }
+          }
+        }
+      }
+    }
+
+    @Override
+    public void read(org.apache.thrift.protocol.TProtocol prot, ActiveCompaction struct) throws org.apache.thrift.TException {
+      TTupleProtocol iprot = (TTupleProtocol) prot;
+      BitSet incoming = iprot.readBitSet(11);
+      if (incoming.get(0)) {
+        struct.extent = new org.apache.accumulo.core.data.thrift.TKeyExtent();
+        struct.extent.read(iprot);
+        struct.setExtentIsSet(true);
+      }
+      if (incoming.get(1)) {
+        struct.age = iprot.readI64();
+        struct.setAgeIsSet(true);
+      }
+      if (incoming.get(2)) {
+        struct.inputFiles = iprot.readI32();
+        struct.setInputFilesIsSet(true);
+      }
+      if (incoming.get(3)) {
+        struct.outputFile = iprot.readString();
+        struct.setOutputFileIsSet(true);
+      }
+      if (incoming.get(4)) {
+        struct.type = CompactionType.findByValue(iprot.readI32());
+        struct.setTypeIsSet(true);
+      }
+      if (incoming.get(5)) {
+        struct.reason = CompactionReason.findByValue(iprot.readI32());
+        struct.setReasonIsSet(true);
+      }
+      if (incoming.get(6)) {
+        struct.localityGroup = iprot.readString();
+        struct.setLocalityGroupIsSet(true);
+      }
+      if (incoming.get(7)) {
+        struct.entriesRead = iprot.readI64();
+        struct.setEntriesReadIsSet(true);
+      }
+      if (incoming.get(8)) {
+        struct.entriesWritten = iprot.readI64();
+        struct.setEntriesWrittenIsSet(true);
+      }
+      if (incoming.get(9)) {
+        {
+          org.apache.thrift.protocol.TList _list69 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+          struct.ssiList = new ArrayList<org.apache.accumulo.core.data.thrift.IterInfo>(_list69.size);
+          for (int _i70 = 0; _i70 < _list69.size; ++_i70)
+          {
+            org.apache.accumulo.core.data.thrift.IterInfo _elem71; // required
+            _elem71 = new org.apache.accumulo.core.data.thrift.IterInfo();
+            _elem71.read(iprot);
+            struct.ssiList.add(_elem71);
+          }
+        }
+        struct.setSsiListIsSet(true);
+      }
+      if (incoming.get(10)) {
+        {
+          org.apache.thrift.protocol.TMap _map72 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.MAP, iprot.readI32());
+          struct.ssio = new HashMap<String,Map<String,String>>(2*_map72.size);
+          for (int _i73 = 0; _i73 < _map72.size; ++_i73)
+          {
+            String _key74; // required
+            Map<String,String> _val75; // required
+            _key74 = iprot.readString();
+            {
+              org.apache.thrift.protocol.TMap _map76 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+              _val75 = new HashMap<String,String>(2*_map76.size);
+              for (int _i77 = 0; _i77 < _map76.size; ++_i77)
+              {
+                String _key78; // required
+                String _val79; // required
+                _key78 = iprot.readString();
+                _val79 = iprot.readString();
+                _val75.put(_key78, _val79);
+              }
+            }
+            struct.ssio.put(_key74, _val75);
+          }
+        }
+        struct.setSsioIsSet(true);
+      }
+    }
+  }
+
+}
+

Added: accumulo/trunk/core/src/main/java/org/apache/accumulo/core/tabletserver/thrift/CompactionReason.java
URL: http://svn.apache.org/viewvc/accumulo/trunk/core/src/main/java/org/apache/accumulo/core/tabletserver/thrift/CompactionReason.java?rev=1435371&view=auto
==============================================================================
--- accumulo/trunk/core/src/main/java/org/apache/accumulo/core/tabletserver/thrift/CompactionReason.java (added)
+++ accumulo/trunk/core/src/main/java/org/apache/accumulo/core/tabletserver/thrift/CompactionReason.java Fri Jan 18 22:06:44 2013
@@ -0,0 +1,70 @@
+/*
+ * 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.0)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+package org.apache.accumulo.core.tabletserver.thrift;
+
+
+import java.util.Map;
+import java.util.HashMap;
+import org.apache.thrift.TEnum;
+
+@SuppressWarnings("all") public enum CompactionReason implements org.apache.thrift.TEnum {
+  USER(0),
+  SYSTEM(1),
+  CHOP(2),
+  IDLE(3),
+  CLOSE(4);
+
+  private final int value;
+
+  private CompactionReason(int value) {
+    this.value = value;
+  }
+
+  /**
+   * Get the integer value of this enum value, as defined in the Thrift IDL.
+   */
+  public int getValue() {
+    return value;
+  }
+
+  /**
+   * Find a the enum type by its integer value, as defined in the Thrift IDL.
+   * @return null if the value is not found.
+   */
+  public static CompactionReason findByValue(int value) { 
+    switch (value) {
+      case 0:
+        return USER;
+      case 1:
+        return SYSTEM;
+      case 2:
+        return CHOP;
+      case 3:
+        return IDLE;
+      case 4:
+        return CLOSE;
+      default:
+        return null;
+    }
+  }
+}

Added: accumulo/trunk/core/src/main/java/org/apache/accumulo/core/tabletserver/thrift/CompactionType.java
URL: http://svn.apache.org/viewvc/accumulo/trunk/core/src/main/java/org/apache/accumulo/core/tabletserver/thrift/CompactionType.java?rev=1435371&view=auto
==============================================================================
--- accumulo/trunk/core/src/main/java/org/apache/accumulo/core/tabletserver/thrift/CompactionType.java (added)
+++ accumulo/trunk/core/src/main/java/org/apache/accumulo/core/tabletserver/thrift/CompactionType.java Fri Jan 18 22:06:44 2013
@@ -0,0 +1,67 @@
+/*
+ * 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.0)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+package org.apache.accumulo.core.tabletserver.thrift;
+
+
+import java.util.Map;
+import java.util.HashMap;
+import org.apache.thrift.TEnum;
+
+@SuppressWarnings("all") public enum CompactionType implements org.apache.thrift.TEnum {
+  MINOR(0),
+  MERGE(1),
+  MAJOR(2),
+  FULL(3);
+
+  private final int value;
+
+  private CompactionType(int value) {
+    this.value = value;
+  }
+
+  /**
+   * Get the integer value of this enum value, as defined in the Thrift IDL.
+   */
+  public int getValue() {
+    return value;
+  }
+
+  /**
+   * Find a the enum type by its integer value, as defined in the Thrift IDL.
+   * @return null if the value is not found.
+   */
+  public static CompactionType findByValue(int value) { 
+    switch (value) {
+      case 0:
+        return MINOR;
+      case 1:
+        return MERGE;
+      case 2:
+        return MAJOR;
+      case 3:
+        return FULL;
+      default:
+        return null;
+    }
+  }
+}

Modified: accumulo/trunk/core/src/main/java/org/apache/accumulo/core/tabletserver/thrift/IteratorConfig.java
URL: http://svn.apache.org/viewvc/accumulo/trunk/core/src/main/java/org/apache/accumulo/core/tabletserver/thrift/IteratorConfig.java?rev=1435371&r1=1435370&r2=1435371&view=diff
==============================================================================
--- accumulo/trunk/core/src/main/java/org/apache/accumulo/core/tabletserver/thrift/IteratorConfig.java (original)
+++ accumulo/trunk/core/src/main/java/org/apache/accumulo/core/tabletserver/thrift/IteratorConfig.java Fri Jan 18 22:06:44 2013
@@ -355,14 +355,14 @@ import org.slf4j.LoggerFactory;
           case 1: // ITERATORS
             if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
               {
-                org.apache.thrift.protocol.TList _list62 = iprot.readListBegin();
-                struct.iterators = new ArrayList<TIteratorSetting>(_list62.size);
-                for (int _i63 = 0; _i63 < _list62.size; ++_i63)
+                org.apache.thrift.protocol.TList _list90 = iprot.readListBegin();
+                struct.iterators = new ArrayList<TIteratorSetting>(_list90.size);
+                for (int _i91 = 0; _i91 < _list90.size; ++_i91)
                 {
-                  TIteratorSetting _elem64; // required
-                  _elem64 = new TIteratorSetting();
-                  _elem64.read(iprot);
-                  struct.iterators.add(_elem64);
+                  TIteratorSetting _elem92; // required
+                  _elem92 = new TIteratorSetting();
+                  _elem92.read(iprot);
+                  struct.iterators.add(_elem92);
                 }
                 iprot.readListEnd();
               }
@@ -390,9 +390,9 @@ import org.slf4j.LoggerFactory;
         oprot.writeFieldBegin(ITERATORS_FIELD_DESC);
         {
           oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.iterators.size()));
-          for (TIteratorSetting _iter65 : struct.iterators)
+          for (TIteratorSetting _iter93 : struct.iterators)
           {
-            _iter65.write(oprot);
+            _iter93.write(oprot);
           }
           oprot.writeListEnd();
         }
@@ -423,9 +423,9 @@ import org.slf4j.LoggerFactory;
       if (struct.isSetIterators()) {
         {
           oprot.writeI32(struct.iterators.size());
-          for (TIteratorSetting _iter66 : struct.iterators)
+          for (TIteratorSetting _iter94 : struct.iterators)
           {
-            _iter66.write(oprot);
+            _iter94.write(oprot);
           }
         }
       }
@@ -437,14 +437,14 @@ import org.slf4j.LoggerFactory;
       BitSet incoming = iprot.readBitSet(1);
       if (incoming.get(0)) {
         {
-          org.apache.thrift.protocol.TList _list67 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-          struct.iterators = new ArrayList<TIteratorSetting>(_list67.size);
-          for (int _i68 = 0; _i68 < _list67.size; ++_i68)
+          org.apache.thrift.protocol.TList _list95 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+          struct.iterators = new ArrayList<TIteratorSetting>(_list95.size);
+          for (int _i96 = 0; _i96 < _list95.size; ++_i96)
           {
-            TIteratorSetting _elem69; // required
-            _elem69 = new TIteratorSetting();
-            _elem69.read(iprot);
-            struct.iterators.add(_elem69);
+            TIteratorSetting _elem97; // required
+            _elem97 = new TIteratorSetting();
+            _elem97.read(iprot);
+            struct.iterators.add(_elem97);
           }
         }
         struct.setIteratorsIsSet(true);

Modified: accumulo/trunk/core/src/main/java/org/apache/accumulo/core/tabletserver/thrift/TIteratorSetting.java
URL: http://svn.apache.org/viewvc/accumulo/trunk/core/src/main/java/org/apache/accumulo/core/tabletserver/thrift/TIteratorSetting.java?rev=1435371&r1=1435370&r2=1435371&view=diff
==============================================================================
--- accumulo/trunk/core/src/main/java/org/apache/accumulo/core/tabletserver/thrift/TIteratorSetting.java (original)
+++ accumulo/trunk/core/src/main/java/org/apache/accumulo/core/tabletserver/thrift/TIteratorSetting.java Fri Jan 18 22:06:44 2013
@@ -615,15 +615,15 @@ import org.slf4j.LoggerFactory;
           case 4: // PROPERTIES
             if (schemeField.type == org.apache.thrift.protocol.TType.MAP) {
               {
-                org.apache.thrift.protocol.TMap _map52 = iprot.readMapBegin();
-                struct.properties = new HashMap<String,String>(2*_map52.size);
-                for (int _i53 = 0; _i53 < _map52.size; ++_i53)
+                org.apache.thrift.protocol.TMap _map80 = iprot.readMapBegin();
+                struct.properties = new HashMap<String,String>(2*_map80.size);
+                for (int _i81 = 0; _i81 < _map80.size; ++_i81)
                 {
-                  String _key54; // required
-                  String _val55; // required
-                  _key54 = iprot.readString();
-                  _val55 = iprot.readString();
-                  struct.properties.put(_key54, _val55);
+                  String _key82; // required
+                  String _val83; // required
+                  _key82 = iprot.readString();
+                  _val83 = iprot.readString();
+                  struct.properties.put(_key82, _val83);
                 }
                 iprot.readMapEnd();
               }
@@ -664,10 +664,10 @@ import org.slf4j.LoggerFactory;
         oprot.writeFieldBegin(PROPERTIES_FIELD_DESC);
         {
           oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, struct.properties.size()));
-          for (Map.Entry<String, String> _iter56 : struct.properties.entrySet())
+          for (Map.Entry<String, String> _iter84 : struct.properties.entrySet())
           {
-            oprot.writeString(_iter56.getKey());
-            oprot.writeString(_iter56.getValue());
+            oprot.writeString(_iter84.getKey());
+            oprot.writeString(_iter84.getValue());
           }
           oprot.writeMapEnd();
         }
@@ -716,10 +716,10 @@ import org.slf4j.LoggerFactory;
       if (struct.isSetProperties()) {
         {
           oprot.writeI32(struct.properties.size());
-          for (Map.Entry<String, String> _iter57 : struct.properties.entrySet())
+          for (Map.Entry<String, String> _iter85 : struct.properties.entrySet())
           {
-            oprot.writeString(_iter57.getKey());
-            oprot.writeString(_iter57.getValue());
+            oprot.writeString(_iter85.getKey());
+            oprot.writeString(_iter85.getValue());
           }
         }
       }
@@ -743,15 +743,15 @@ import org.slf4j.LoggerFactory;
       }
       if (incoming.get(3)) {
         {
-          org.apache.thrift.protocol.TMap _map58 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, iprot.readI32());
-          struct.properties = new HashMap<String,String>(2*_map58.size);
-          for (int _i59 = 0; _i59 < _map58.size; ++_i59)
+          org.apache.thrift.protocol.TMap _map86 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+          struct.properties = new HashMap<String,String>(2*_map86.size);
+          for (int _i87 = 0; _i87 < _map86.size; ++_i87)
           {
-            String _key60; // required
-            String _val61; // required
-            _key60 = iprot.readString();
-            _val61 = iprot.readString();
-            struct.properties.put(_key60, _val61);
+            String _key88; // required
+            String _val89; // required
+            _key88 = iprot.readString();
+            _val89 = iprot.readString();
+            struct.properties.put(_key88, _val89);
           }
         }
         struct.setPropertiesIsSet(true);



Mime
View raw message