incubator-blur-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From amccu...@apache.org
Subject [4/9] Adding missing thrift method for getting the location of shards in the cluster. Also added a new attribute to queryargs.
Date Mon, 31 Dec 2012 20:44:03 GMT
http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/d783db83/interface/gen-java/org/apache/blur/thrift/generated/Blur.java
----------------------------------------------------------------------
diff --git a/interface/gen-java/org/apache/blur/thrift/generated/Blur.java b/interface/gen-java/org/apache/blur/thrift/generated/Blur.java
index dc00f8e..6a3527a 100644
--- a/interface/gen-java/org/apache/blur/thrift/generated/Blur.java
+++ b/interface/gen-java/org/apache/blur/thrift/generated/Blur.java
@@ -54,7 +54,9 @@ public class Blur {
   public interface Iface {
 
     /**
-     * Creating a session snapshots the readers during search and document fetching.  This provides a static view of the indexes so the document ids will remain the same during a session.
+     * Creating a session snapshots the readers during search and document
+     * fetching.  This provides a static view of the indexes so the document
+     * ids will remain the same during a session.
      * @param table the table name.
      * @return the new Session.
      * 
@@ -95,9 +97,11 @@ public class Blur {
     public void closeReadSession(Session session) throws BlurException, org.apache.thrift.TException;
 
     /**
-     * Add Documents to the given table in the provided shard.  If the table or shard is not found on this shard server a BlurException will be thrown.
+     * Add Documents to the given table in the provided shard.  If the table or
+     * shard is not found on this shard server a BlurException will be thrown.
      * @param options the MutateOptions provide the table name, shard index, etc.
-     * @param documents the documents to be added.  NOTE: All documents provided to be indexed in a single segment.
+     * @param documents the documents to be added.  NOTE: All documents
+     * provided to be indexed in a single segment.
      * 
      * @param options
      * @param documents
@@ -105,7 +109,8 @@ public class Blur {
     public List<Generation> addDocuments(MutateOptions options, List<Document> documents) throws BlurException, org.apache.thrift.TException;
 
     /**
-     * Delete Documents to the given table in the provided shard.  If the table or shard is not found on this shard server a BlurException will be thrown.
+     * Delete Documents to the given table in the provided shard.  If the table
+     * or shard is not found on this shard server a BlurException will be thrown.
      * @param options the MutateOptions provide the table name, shard index, etc.
      * @param queries the Queries that will executed and mark there resulting documents as deleted.
      * 
@@ -115,7 +120,8 @@ public class Blur {
     public List<Generation> deleteDocumentsByQueries(MutateOptions options, List<ByteBuffer> queries) throws BlurException, org.apache.thrift.TException;
 
     /**
-     * Delete Documents to the given table in the provided shard.  If the table or shard is not found on this shard server a BlurException will be thrown.
+     * Delete Documents to the given table in the provided shard.  If the table
+     * or shard is not found on this shard server a BlurException will be thrown.
      * @param options the MutateOptions provide the table name, shard index, etc.
      * @param queries the Terms that will be found and mark deleted all the documents to be deleted.
      * 
@@ -125,9 +131,11 @@ public class Blur {
     public List<Generation> deleteDocuments(MutateOptions options, List<Term> terms) throws BlurException, org.apache.thrift.TException;
 
     /**
-     * Update Documents to the given table in the provided shard.  If the table or shard is not found on this shard server a BlurException will be thrown.
+     * Update Documents to the given table in the provided shard.  If the table
+     * or shard is not found on this shard server a BlurException will be thrown.
      * @param options the MutateOptions provide the table name, shard index, etc.
-     * @param updatePackages the documents to be updated.  NOTE: All documents within a update document object are indexed in a single segment.
+     * @param updatePackages the documents to be updated.  NOTE: All documents
+     * within a update document object are indexed in a single segment.
      * 
      * @param options
      * @param updatePackages
@@ -137,7 +145,8 @@ public class Blur {
     /**
      * This method blocks until all the given generations are visible for reading.
      * @param generations the list of Generation objects.
-     * @param forceRefresh forces a refresh of the indexes if true, if false will block until natural refresh occurs.
+     * @param forceRefresh forces a refresh of the indexes if true, if false will
+     * block until natural refresh occurs.
      * 
      * @param generations
      * @param forceRefresh
@@ -162,6 +171,15 @@ public class Blur {
     public List<Integer> serverLayout(String table, String server) throws BlurException, org.apache.thrift.TException;
 
     /**
+     * Gets the shard layout for each server in the cluster for the given table.
+     * @param table the table name.
+     * @return map of servers to shard layout object.
+     * 
+     * @param table
+     */
+    public Map<String,ShardLayout> shardLayout(String table) throws BlurException, org.apache.thrift.TException;
+
+    /**
      * Gets a list of the table names.
      * @return list of table names.
      */
@@ -216,7 +234,8 @@ public class Blur {
     public TableDescriptor describe(String table) throws BlurException, org.apache.thrift.TException;
 
     /**
-     * Cancels a query that is executing against the given table with the given uuid.  Note, the cancel call maybe take some time for the query actually stops executing.
+     * Cancels a query that is executing against the given table with the given uuid.
+     * NOTE, the cancel call maybe take some time for the query actually stops executing.
      * @param table the table name.
      * @param uuid the uuid of the query.
      * 
@@ -275,6 +294,8 @@ public class Blur {
 
     public void serverLayout(String table, String server, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.serverLayout_call> resultHandler) throws org.apache.thrift.TException;
 
+    public void shardLayout(String table, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.shardLayout_call> resultHandler) throws org.apache.thrift.TException;
+
     public void tableList(org.apache.thrift.async.AsyncMethodCallback<AsyncClient.tableList_call> resultHandler) throws org.apache.thrift.TException;
 
     public void isInSafeMode(org.apache.thrift.async.AsyncMethodCallback<AsyncClient.isInSafeMode_call> resultHandler) throws org.apache.thrift.TException;
@@ -609,6 +630,32 @@ public class Blur {
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "serverLayout failed: unknown result");
     }
 
+    public Map<String,ShardLayout> shardLayout(String table) throws BlurException, org.apache.thrift.TException
+    {
+      send_shardLayout(table);
+      return recv_shardLayout();
+    }
+
+    public void send_shardLayout(String table) throws org.apache.thrift.TException
+    {
+      shardLayout_args args = new shardLayout_args();
+      args.setTable(table);
+      sendBase("shardLayout", args);
+    }
+
+    public Map<String,ShardLayout> recv_shardLayout() throws BlurException, org.apache.thrift.TException
+    {
+      shardLayout_result result = new shardLayout_result();
+      receiveBase(result, "shardLayout");
+      if (result.isSetSuccess()) {
+        return result.success;
+      }
+      if (result.ex != null) {
+        throw result.ex;
+      }
+      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "shardLayout failed: unknown result");
+    }
+
     public List<String> tableList() throws BlurException, org.apache.thrift.TException
     {
       send_tableList();
@@ -1301,6 +1348,38 @@ public class Blur {
       }
     }
 
+    public void shardLayout(String table, org.apache.thrift.async.AsyncMethodCallback<shardLayout_call> resultHandler) throws org.apache.thrift.TException {
+      checkReady();
+      shardLayout_call method_call = new shardLayout_call(table, resultHandler, this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    public static class shardLayout_call extends org.apache.thrift.async.TAsyncMethodCall {
+      private String table;
+      public shardLayout_call(String table, org.apache.thrift.async.AsyncMethodCallback<shardLayout_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+        super(client, protocolFactory, transport, resultHandler, false);
+        this.table = table;
+      }
+
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("shardLayout", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        shardLayout_args args = new shardLayout_args();
+        args.setTable(table);
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      public Map<String,ShardLayout> getResult() throws BlurException, org.apache.thrift.TException {
+        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
+          throw new IllegalStateException("Method call not finished!");
+        }
+        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
+        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
+        return (new Client(prot)).recv_shardLayout();
+      }
+    }
+
     public void tableList(org.apache.thrift.async.AsyncMethodCallback<tableList_call> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       tableList_call method_call = new tableList_call(resultHandler, this, ___protocolFactory, ___transport);
@@ -1712,6 +1791,7 @@ public class Blur {
       processMap.put("blockUntilGenerationIsVisible", new blockUntilGenerationIsVisible());
       processMap.put("serverList", new serverList());
       processMap.put("serverLayout", new serverLayout());
+      processMap.put("shardLayout", new shardLayout());
       processMap.put("tableList", new tableList());
       processMap.put("isInSafeMode", new isInSafeMode());
       processMap.put("createTable", new createTable());
@@ -1991,6 +2071,30 @@ public class Blur {
       }
     }
 
+    public static class shardLayout<I extends Iface> extends org.apache.thrift.ProcessFunction<I, shardLayout_args> {
+      public shardLayout() {
+        super("shardLayout");
+      }
+
+      public shardLayout_args getEmptyArgsInstance() {
+        return new shardLayout_args();
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public shardLayout_result getResult(I iface, shardLayout_args args) throws org.apache.thrift.TException {
+        shardLayout_result result = new shardLayout_result();
+        try {
+          result.success = iface.shardLayout(args.table);
+        } catch (BlurException ex) {
+          result.ex = ex;
+        }
+        return result;
+      }
+    }
+
     public static class tableList<I extends Iface> extends org.apache.thrift.ProcessFunction<I, tableList_args> {
       public tableList() {
         super("tableList");
@@ -3947,14 +4051,14 @@ public class Blur {
             case 0: // SUCCESS
               if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
                 {
-                  org.apache.thrift.protocol.TList _list120 = iprot.readListBegin();
-                  struct.success = new ArrayList<TopFieldDocs>(_list120.size);
-                  for (int _i121 = 0; _i121 < _list120.size; ++_i121)
+                  org.apache.thrift.protocol.TList _list128 = iprot.readListBegin();
+                  struct.success = new ArrayList<TopFieldDocs>(_list128.size);
+                  for (int _i129 = 0; _i129 < _list128.size; ++_i129)
                   {
-                    TopFieldDocs _elem122; // required
-                    _elem122 = new TopFieldDocs();
-                    _elem122.read(iprot);
-                    struct.success.add(_elem122);
+                    TopFieldDocs _elem130; // required
+                    _elem130 = new TopFieldDocs();
+                    _elem130.read(iprot);
+                    struct.success.add(_elem130);
                   }
                   iprot.readListEnd();
                 }
@@ -3991,9 +4095,9 @@ public class Blur {
           oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.success.size()));
-            for (TopFieldDocs _iter123 : struct.success)
+            for (TopFieldDocs _iter131 : struct.success)
             {
-              _iter123.write(oprot);
+              _iter131.write(oprot);
             }
             oprot.writeListEnd();
           }
@@ -4032,9 +4136,9 @@ public class Blur {
         if (struct.isSetSuccess()) {
           {
             oprot.writeI32(struct.success.size());
-            for (TopFieldDocs _iter124 : struct.success)
+            for (TopFieldDocs _iter132 : struct.success)
             {
-              _iter124.write(oprot);
+              _iter132.write(oprot);
             }
           }
         }
@@ -4049,14 +4153,14 @@ public class Blur {
         BitSet incoming = iprot.readBitSet(2);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list125 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-            struct.success = new ArrayList<TopFieldDocs>(_list125.size);
-            for (int _i126 = 0; _i126 < _list125.size; ++_i126)
+            org.apache.thrift.protocol.TList _list133 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+            struct.success = new ArrayList<TopFieldDocs>(_list133.size);
+            for (int _i134 = 0; _i134 < _list133.size; ++_i134)
             {
-              TopFieldDocs _elem127; // required
-              _elem127 = new TopFieldDocs();
-              _elem127.read(iprot);
-              struct.success.add(_elem127);
+              TopFieldDocs _elem135; // required
+              _elem135 = new TopFieldDocs();
+              _elem135.read(iprot);
+              struct.success.add(_elem135);
             }
           }
           struct.setSuccessIsSet(true);
@@ -4566,13 +4670,13 @@ public class Blur {
             case 2: // DOC_LOCATIONS
               if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
                 {
-                  org.apache.thrift.protocol.TList _list128 = iprot.readListBegin();
-                  struct.docLocations = new ArrayList<Long>(_list128.size);
-                  for (int _i129 = 0; _i129 < _list128.size; ++_i129)
+                  org.apache.thrift.protocol.TList _list136 = iprot.readListBegin();
+                  struct.docLocations = new ArrayList<Long>(_list136.size);
+                  for (int _i137 = 0; _i137 < _list136.size; ++_i137)
                   {
-                    long _elem130; // required
-                    _elem130 = iprot.readI64();
-                    struct.docLocations.add(_elem130);
+                    long _elem138; // required
+                    _elem138 = iprot.readI64();
+                    struct.docLocations.add(_elem138);
                   }
                   iprot.readListEnd();
                 }
@@ -4584,13 +4688,13 @@ public class Blur {
             case 4: // FIELDS
               if (schemeField.type == org.apache.thrift.protocol.TType.SET) {
                 {
-                  org.apache.thrift.protocol.TSet _set131 = iprot.readSetBegin();
-                  struct.fields = new HashSet<String>(2*_set131.size);
-                  for (int _i132 = 0; _i132 < _set131.size; ++_i132)
+                  org.apache.thrift.protocol.TSet _set139 = iprot.readSetBegin();
+                  struct.fields = new HashSet<String>(2*_set139.size);
+                  for (int _i140 = 0; _i140 < _set139.size; ++_i140)
                   {
-                    String _elem133; // required
-                    _elem133 = iprot.readString();
-                    struct.fields.add(_elem133);
+                    String _elem141; // required
+                    _elem141 = iprot.readString();
+                    struct.fields.add(_elem141);
                   }
                   iprot.readSetEnd();
                 }
@@ -4623,9 +4727,9 @@ public class Blur {
           oprot.writeFieldBegin(DOC_LOCATIONS_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.I64, struct.docLocations.size()));
-            for (long _iter134 : struct.docLocations)
+            for (long _iter142 : struct.docLocations)
             {
-              oprot.writeI64(_iter134);
+              oprot.writeI64(_iter142);
             }
             oprot.writeListEnd();
           }
@@ -4635,9 +4739,9 @@ public class Blur {
           oprot.writeFieldBegin(FIELDS_FIELD_DESC);
           {
             oprot.writeSetBegin(new org.apache.thrift.protocol.TSet(org.apache.thrift.protocol.TType.STRING, struct.fields.size()));
-            for (String _iter135 : struct.fields)
+            for (String _iter143 : struct.fields)
             {
-              oprot.writeString(_iter135);
+              oprot.writeString(_iter143);
             }
             oprot.writeSetEnd();
           }
@@ -4677,18 +4781,18 @@ public class Blur {
         if (struct.isSetDocLocations()) {
           {
             oprot.writeI32(struct.docLocations.size());
-            for (long _iter136 : struct.docLocations)
+            for (long _iter144 : struct.docLocations)
             {
-              oprot.writeI64(_iter136);
+              oprot.writeI64(_iter144);
             }
           }
         }
         if (struct.isSetFields()) {
           {
             oprot.writeI32(struct.fields.size());
-            for (String _iter137 : struct.fields)
+            for (String _iter145 : struct.fields)
             {
-              oprot.writeString(_iter137);
+              oprot.writeString(_iter145);
             }
           }
         }
@@ -4705,26 +4809,26 @@ public class Blur {
         }
         if (incoming.get(1)) {
           {
-            org.apache.thrift.protocol.TList _list138 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.I64, iprot.readI32());
-            struct.docLocations = new ArrayList<Long>(_list138.size);
-            for (int _i139 = 0; _i139 < _list138.size; ++_i139)
+            org.apache.thrift.protocol.TList _list146 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.I64, iprot.readI32());
+            struct.docLocations = new ArrayList<Long>(_list146.size);
+            for (int _i147 = 0; _i147 < _list146.size; ++_i147)
             {
-              long _elem140; // required
-              _elem140 = iprot.readI64();
-              struct.docLocations.add(_elem140);
+              long _elem148; // required
+              _elem148 = iprot.readI64();
+              struct.docLocations.add(_elem148);
             }
           }
           struct.setDocLocationsIsSet(true);
         }
         if (incoming.get(2)) {
           {
-            org.apache.thrift.protocol.TSet _set141 = new org.apache.thrift.protocol.TSet(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
-            struct.fields = new HashSet<String>(2*_set141.size);
-            for (int _i142 = 0; _i142 < _set141.size; ++_i142)
+            org.apache.thrift.protocol.TSet _set149 = new org.apache.thrift.protocol.TSet(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+            struct.fields = new HashSet<String>(2*_set149.size);
+            for (int _i150 = 0; _i150 < _set149.size; ++_i150)
             {
-              String _elem143; // required
-              _elem143 = iprot.readString();
-              struct.fields.add(_elem143);
+              String _elem151; // required
+              _elem151 = iprot.readString();
+              struct.fields.add(_elem151);
             }
           }
           struct.setFieldsIsSet(true);
@@ -5120,14 +5224,14 @@ public class Blur {
             case 0: // SUCCESS
               if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
                 {
-                  org.apache.thrift.protocol.TList _list144 = iprot.readListBegin();
-                  struct.success = new ArrayList<Document>(_list144.size);
-                  for (int _i145 = 0; _i145 < _list144.size; ++_i145)
+                  org.apache.thrift.protocol.TList _list152 = iprot.readListBegin();
+                  struct.success = new ArrayList<Document>(_list152.size);
+                  for (int _i153 = 0; _i153 < _list152.size; ++_i153)
                   {
-                    Document _elem146; // required
-                    _elem146 = new Document();
-                    _elem146.read(iprot);
-                    struct.success.add(_elem146);
+                    Document _elem154; // required
+                    _elem154 = new Document();
+                    _elem154.read(iprot);
+                    struct.success.add(_elem154);
                   }
                   iprot.readListEnd();
                 }
@@ -5164,9 +5268,9 @@ public class Blur {
           oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.success.size()));
-            for (Document _iter147 : struct.success)
+            for (Document _iter155 : struct.success)
             {
-              _iter147.write(oprot);
+              _iter155.write(oprot);
             }
             oprot.writeListEnd();
           }
@@ -5205,9 +5309,9 @@ public class Blur {
         if (struct.isSetSuccess()) {
           {
             oprot.writeI32(struct.success.size());
-            for (Document _iter148 : struct.success)
+            for (Document _iter156 : struct.success)
             {
-              _iter148.write(oprot);
+              _iter156.write(oprot);
             }
           }
         }
@@ -5222,14 +5326,14 @@ public class Blur {
         BitSet incoming = iprot.readBitSet(2);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list149 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-            struct.success = new ArrayList<Document>(_list149.size);
-            for (int _i150 = 0; _i150 < _list149.size; ++_i150)
+            org.apache.thrift.protocol.TList _list157 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+            struct.success = new ArrayList<Document>(_list157.size);
+            for (int _i158 = 0; _i158 < _list157.size; ++_i158)
             {
-              Document _elem151; // required
-              _elem151 = new Document();
-              _elem151.read(iprot);
-              struct.success.add(_elem151);
+              Document _elem159; // required
+              _elem159 = new Document();
+              _elem159.read(iprot);
+              struct.success.add(_elem159);
             }
           }
           struct.setSuccessIsSet(true);
@@ -6357,14 +6461,14 @@ public class Blur {
             case 2: // DOCUMENTS
               if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
                 {
-                  org.apache.thrift.protocol.TList _list152 = iprot.readListBegin();
-                  struct.documents = new ArrayList<Document>(_list152.size);
-                  for (int _i153 = 0; _i153 < _list152.size; ++_i153)
+                  org.apache.thrift.protocol.TList _list160 = iprot.readListBegin();
+                  struct.documents = new ArrayList<Document>(_list160.size);
+                  for (int _i161 = 0; _i161 < _list160.size; ++_i161)
                   {
-                    Document _elem154; // required
-                    _elem154 = new Document();
-                    _elem154.read(iprot);
-                    struct.documents.add(_elem154);
+                    Document _elem162; // required
+                    _elem162 = new Document();
+                    _elem162.read(iprot);
+                    struct.documents.add(_elem162);
                   }
                   iprot.readListEnd();
                 }
@@ -6397,9 +6501,9 @@ public class Blur {
           oprot.writeFieldBegin(DOCUMENTS_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.documents.size()));
-            for (Document _iter155 : struct.documents)
+            for (Document _iter163 : struct.documents)
             {
-              _iter155.write(oprot);
+              _iter163.write(oprot);
             }
             oprot.writeListEnd();
           }
@@ -6436,9 +6540,9 @@ public class Blur {
         if (struct.isSetDocuments()) {
           {
             oprot.writeI32(struct.documents.size());
-            for (Document _iter156 : struct.documents)
+            for (Document _iter164 : struct.documents)
             {
-              _iter156.write(oprot);
+              _iter164.write(oprot);
             }
           }
         }
@@ -6455,14 +6559,14 @@ public class Blur {
         }
         if (incoming.get(1)) {
           {
-            org.apache.thrift.protocol.TList _list157 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-            struct.documents = new ArrayList<Document>(_list157.size);
-            for (int _i158 = 0; _i158 < _list157.size; ++_i158)
+            org.apache.thrift.protocol.TList _list165 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+            struct.documents = new ArrayList<Document>(_list165.size);
+            for (int _i166 = 0; _i166 < _list165.size; ++_i166)
             {
-              Document _elem159; // required
-              _elem159 = new Document();
-              _elem159.read(iprot);
-              struct.documents.add(_elem159);
+              Document _elem167; // required
+              _elem167 = new Document();
+              _elem167.read(iprot);
+              struct.documents.add(_elem167);
             }
           }
           struct.setDocumentsIsSet(true);
@@ -6858,14 +6962,14 @@ public class Blur {
             case 0: // SUCCESS
               if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
                 {
-                  org.apache.thrift.protocol.TList _list160 = iprot.readListBegin();
-                  struct.success = new ArrayList<Generation>(_list160.size);
-                  for (int _i161 = 0; _i161 < _list160.size; ++_i161)
+                  org.apache.thrift.protocol.TList _list168 = iprot.readListBegin();
+                  struct.success = new ArrayList<Generation>(_list168.size);
+                  for (int _i169 = 0; _i169 < _list168.size; ++_i169)
                   {
-                    Generation _elem162; // required
-                    _elem162 = new Generation();
-                    _elem162.read(iprot);
-                    struct.success.add(_elem162);
+                    Generation _elem170; // required
+                    _elem170 = new Generation();
+                    _elem170.read(iprot);
+                    struct.success.add(_elem170);
                   }
                   iprot.readListEnd();
                 }
@@ -6902,9 +7006,9 @@ public class Blur {
           oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.success.size()));
-            for (Generation _iter163 : struct.success)
+            for (Generation _iter171 : struct.success)
             {
-              _iter163.write(oprot);
+              _iter171.write(oprot);
             }
             oprot.writeListEnd();
           }
@@ -6943,9 +7047,9 @@ public class Blur {
         if (struct.isSetSuccess()) {
           {
             oprot.writeI32(struct.success.size());
-            for (Generation _iter164 : struct.success)
+            for (Generation _iter172 : struct.success)
             {
-              _iter164.write(oprot);
+              _iter172.write(oprot);
             }
           }
         }
@@ -6960,14 +7064,14 @@ public class Blur {
         BitSet incoming = iprot.readBitSet(2);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list165 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-            struct.success = new ArrayList<Generation>(_list165.size);
-            for (int _i166 = 0; _i166 < _list165.size; ++_i166)
+            org.apache.thrift.protocol.TList _list173 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+            struct.success = new ArrayList<Generation>(_list173.size);
+            for (int _i174 = 0; _i174 < _list173.size; ++_i174)
             {
-              Generation _elem167; // required
-              _elem167 = new Generation();
-              _elem167.read(iprot);
-              struct.success.add(_elem167);
+              Generation _elem175; // required
+              _elem175 = new Generation();
+              _elem175.read(iprot);
+              struct.success.add(_elem175);
             }
           }
           struct.setSuccessIsSet(true);
@@ -7382,13 +7486,13 @@ public class Blur {
             case 2: // QUERIES
               if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
                 {
-                  org.apache.thrift.protocol.TList _list168 = iprot.readListBegin();
-                  struct.queries = new ArrayList<ByteBuffer>(_list168.size);
-                  for (int _i169 = 0; _i169 < _list168.size; ++_i169)
+                  org.apache.thrift.protocol.TList _list176 = iprot.readListBegin();
+                  struct.queries = new ArrayList<ByteBuffer>(_list176.size);
+                  for (int _i177 = 0; _i177 < _list176.size; ++_i177)
                   {
-                    ByteBuffer _elem170; // required
-                    _elem170 = iprot.readBinary();
-                    struct.queries.add(_elem170);
+                    ByteBuffer _elem178; // required
+                    _elem178 = iprot.readBinary();
+                    struct.queries.add(_elem178);
                   }
                   iprot.readListEnd();
                 }
@@ -7421,9 +7525,9 @@ public class Blur {
           oprot.writeFieldBegin(QUERIES_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, struct.queries.size()));
-            for (ByteBuffer _iter171 : struct.queries)
+            for (ByteBuffer _iter179 : struct.queries)
             {
-              oprot.writeBinary(_iter171);
+              oprot.writeBinary(_iter179);
             }
             oprot.writeListEnd();
           }
@@ -7460,9 +7564,9 @@ public class Blur {
         if (struct.isSetQueries()) {
           {
             oprot.writeI32(struct.queries.size());
-            for (ByteBuffer _iter172 : struct.queries)
+            for (ByteBuffer _iter180 : struct.queries)
             {
-              oprot.writeBinary(_iter172);
+              oprot.writeBinary(_iter180);
             }
           }
         }
@@ -7479,13 +7583,13 @@ public class Blur {
         }
         if (incoming.get(1)) {
           {
-            org.apache.thrift.protocol.TList _list173 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
-            struct.queries = new ArrayList<ByteBuffer>(_list173.size);
-            for (int _i174 = 0; _i174 < _list173.size; ++_i174)
+            org.apache.thrift.protocol.TList _list181 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+            struct.queries = new ArrayList<ByteBuffer>(_list181.size);
+            for (int _i182 = 0; _i182 < _list181.size; ++_i182)
             {
-              ByteBuffer _elem175; // required
-              _elem175 = iprot.readBinary();
-              struct.queries.add(_elem175);
+              ByteBuffer _elem183; // required
+              _elem183 = iprot.readBinary();
+              struct.queries.add(_elem183);
             }
           }
           struct.setQueriesIsSet(true);
@@ -7881,14 +7985,14 @@ public class Blur {
             case 0: // SUCCESS
               if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
                 {
-                  org.apache.thrift.protocol.TList _list176 = iprot.readListBegin();
-                  struct.success = new ArrayList<Generation>(_list176.size);
-                  for (int _i177 = 0; _i177 < _list176.size; ++_i177)
+                  org.apache.thrift.protocol.TList _list184 = iprot.readListBegin();
+                  struct.success = new ArrayList<Generation>(_list184.size);
+                  for (int _i185 = 0; _i185 < _list184.size; ++_i185)
                   {
-                    Generation _elem178; // required
-                    _elem178 = new Generation();
-                    _elem178.read(iprot);
-                    struct.success.add(_elem178);
+                    Generation _elem186; // required
+                    _elem186 = new Generation();
+                    _elem186.read(iprot);
+                    struct.success.add(_elem186);
                   }
                   iprot.readListEnd();
                 }
@@ -7925,9 +8029,9 @@ public class Blur {
           oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.success.size()));
-            for (Generation _iter179 : struct.success)
+            for (Generation _iter187 : struct.success)
             {
-              _iter179.write(oprot);
+              _iter187.write(oprot);
             }
             oprot.writeListEnd();
           }
@@ -7966,9 +8070,9 @@ public class Blur {
         if (struct.isSetSuccess()) {
           {
             oprot.writeI32(struct.success.size());
-            for (Generation _iter180 : struct.success)
+            for (Generation _iter188 : struct.success)
             {
-              _iter180.write(oprot);
+              _iter188.write(oprot);
             }
           }
         }
@@ -7983,14 +8087,14 @@ public class Blur {
         BitSet incoming = iprot.readBitSet(2);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list181 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-            struct.success = new ArrayList<Generation>(_list181.size);
-            for (int _i182 = 0; _i182 < _list181.size; ++_i182)
+            org.apache.thrift.protocol.TList _list189 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+            struct.success = new ArrayList<Generation>(_list189.size);
+            for (int _i190 = 0; _i190 < _list189.size; ++_i190)
             {
-              Generation _elem183; // required
-              _elem183 = new Generation();
-              _elem183.read(iprot);
-              struct.success.add(_elem183);
+              Generation _elem191; // required
+              _elem191 = new Generation();
+              _elem191.read(iprot);
+              struct.success.add(_elem191);
             }
           }
           struct.setSuccessIsSet(true);
@@ -8403,14 +8507,14 @@ public class Blur {
             case 2: // TERMS
               if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
                 {
-                  org.apache.thrift.protocol.TList _list184 = iprot.readListBegin();
-                  struct.terms = new ArrayList<Term>(_list184.size);
-                  for (int _i185 = 0; _i185 < _list184.size; ++_i185)
+                  org.apache.thrift.protocol.TList _list192 = iprot.readListBegin();
+                  struct.terms = new ArrayList<Term>(_list192.size);
+                  for (int _i193 = 0; _i193 < _list192.size; ++_i193)
                   {
-                    Term _elem186; // required
-                    _elem186 = new Term();
-                    _elem186.read(iprot);
-                    struct.terms.add(_elem186);
+                    Term _elem194; // required
+                    _elem194 = new Term();
+                    _elem194.read(iprot);
+                    struct.terms.add(_elem194);
                   }
                   iprot.readListEnd();
                 }
@@ -8443,9 +8547,9 @@ public class Blur {
           oprot.writeFieldBegin(TERMS_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.terms.size()));
-            for (Term _iter187 : struct.terms)
+            for (Term _iter195 : struct.terms)
             {
-              _iter187.write(oprot);
+              _iter195.write(oprot);
             }
             oprot.writeListEnd();
           }
@@ -8482,9 +8586,9 @@ public class Blur {
         if (struct.isSetTerms()) {
           {
             oprot.writeI32(struct.terms.size());
-            for (Term _iter188 : struct.terms)
+            for (Term _iter196 : struct.terms)
             {
-              _iter188.write(oprot);
+              _iter196.write(oprot);
             }
           }
         }
@@ -8501,14 +8605,14 @@ public class Blur {
         }
         if (incoming.get(1)) {
           {
-            org.apache.thrift.protocol.TList _list189 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-            struct.terms = new ArrayList<Term>(_list189.size);
-            for (int _i190 = 0; _i190 < _list189.size; ++_i190)
+            org.apache.thrift.protocol.TList _list197 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+            struct.terms = new ArrayList<Term>(_list197.size);
+            for (int _i198 = 0; _i198 < _list197.size; ++_i198)
             {
-              Term _elem191; // required
-              _elem191 = new Term();
-              _elem191.read(iprot);
-              struct.terms.add(_elem191);
+              Term _elem199; // required
+              _elem199 = new Term();
+              _elem199.read(iprot);
+              struct.terms.add(_elem199);
             }
           }
           struct.setTermsIsSet(true);
@@ -8904,14 +9008,14 @@ public class Blur {
             case 0: // SUCCESS
               if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
                 {
-                  org.apache.thrift.protocol.TList _list192 = iprot.readListBegin();
-                  struct.success = new ArrayList<Generation>(_list192.size);
-                  for (int _i193 = 0; _i193 < _list192.size; ++_i193)
+                  org.apache.thrift.protocol.TList _list200 = iprot.readListBegin();
+                  struct.success = new ArrayList<Generation>(_list200.size);
+                  for (int _i201 = 0; _i201 < _list200.size; ++_i201)
                   {
-                    Generation _elem194; // required
-                    _elem194 = new Generation();
-                    _elem194.read(iprot);
-                    struct.success.add(_elem194);
+                    Generation _elem202; // required
+                    _elem202 = new Generation();
+                    _elem202.read(iprot);
+                    struct.success.add(_elem202);
                   }
                   iprot.readListEnd();
                 }
@@ -8948,9 +9052,9 @@ public class Blur {
           oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.success.size()));
-            for (Generation _iter195 : struct.success)
+            for (Generation _iter203 : struct.success)
             {
-              _iter195.write(oprot);
+              _iter203.write(oprot);
             }
             oprot.writeListEnd();
           }
@@ -8989,9 +9093,9 @@ public class Blur {
         if (struct.isSetSuccess()) {
           {
             oprot.writeI32(struct.success.size());
-            for (Generation _iter196 : struct.success)
+            for (Generation _iter204 : struct.success)
             {
-              _iter196.write(oprot);
+              _iter204.write(oprot);
             }
           }
         }
@@ -9006,14 +9110,14 @@ public class Blur {
         BitSet incoming = iprot.readBitSet(2);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list197 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-            struct.success = new ArrayList<Generation>(_list197.size);
-            for (int _i198 = 0; _i198 < _list197.size; ++_i198)
+            org.apache.thrift.protocol.TList _list205 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+            struct.success = new ArrayList<Generation>(_list205.size);
+            for (int _i206 = 0; _i206 < _list205.size; ++_i206)
             {
-              Generation _elem199; // required
-              _elem199 = new Generation();
-              _elem199.read(iprot);
-              struct.success.add(_elem199);
+              Generation _elem207; // required
+              _elem207 = new Generation();
+              _elem207.read(iprot);
+              struct.success.add(_elem207);
             }
           }
           struct.setSuccessIsSet(true);
@@ -9426,14 +9530,14 @@ public class Blur {
             case 2: // UPDATE_PACKAGES
               if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
                 {
-                  org.apache.thrift.protocol.TList _list200 = iprot.readListBegin();
-                  struct.updatePackages = new ArrayList<UpdatePackage>(_list200.size);
-                  for (int _i201 = 0; _i201 < _list200.size; ++_i201)
+                  org.apache.thrift.protocol.TList _list208 = iprot.readListBegin();
+                  struct.updatePackages = new ArrayList<UpdatePackage>(_list208.size);
+                  for (int _i209 = 0; _i209 < _list208.size; ++_i209)
                   {
-                    UpdatePackage _elem202; // required
-                    _elem202 = new UpdatePackage();
-                    _elem202.read(iprot);
-                    struct.updatePackages.add(_elem202);
+                    UpdatePackage _elem210; // required
+                    _elem210 = new UpdatePackage();
+                    _elem210.read(iprot);
+                    struct.updatePackages.add(_elem210);
                   }
                   iprot.readListEnd();
                 }
@@ -9466,9 +9570,9 @@ public class Blur {
           oprot.writeFieldBegin(UPDATE_PACKAGES_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.updatePackages.size()));
-            for (UpdatePackage _iter203 : struct.updatePackages)
+            for (UpdatePackage _iter211 : struct.updatePackages)
             {
-              _iter203.write(oprot);
+              _iter211.write(oprot);
             }
             oprot.writeListEnd();
           }
@@ -9505,9 +9609,9 @@ public class Blur {
         if (struct.isSetUpdatePackages()) {
           {
             oprot.writeI32(struct.updatePackages.size());
-            for (UpdatePackage _iter204 : struct.updatePackages)
+            for (UpdatePackage _iter212 : struct.updatePackages)
             {
-              _iter204.write(oprot);
+              _iter212.write(oprot);
             }
           }
         }
@@ -9524,14 +9628,14 @@ public class Blur {
         }
         if (incoming.get(1)) {
           {
-            org.apache.thrift.protocol.TList _list205 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-            struct.updatePackages = new ArrayList<UpdatePackage>(_list205.size);
-            for (int _i206 = 0; _i206 < _list205.size; ++_i206)
+            org.apache.thrift.protocol.TList _list213 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+            struct.updatePackages = new ArrayList<UpdatePackage>(_list213.size);
+            for (int _i214 = 0; _i214 < _list213.size; ++_i214)
             {
-              UpdatePackage _elem207; // required
-              _elem207 = new UpdatePackage();
-              _elem207.read(iprot);
-              struct.updatePackages.add(_elem207);
+              UpdatePackage _elem215; // required
+              _elem215 = new UpdatePackage();
+              _elem215.read(iprot);
+              struct.updatePackages.add(_elem215);
             }
           }
           struct.setUpdatePackagesIsSet(true);
@@ -9927,14 +10031,14 @@ public class Blur {
             case 0: // SUCCESS
               if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
                 {
-                  org.apache.thrift.protocol.TList _list208 = iprot.readListBegin();
-                  struct.success = new ArrayList<Generation>(_list208.size);
-                  for (int _i209 = 0; _i209 < _list208.size; ++_i209)
+                  org.apache.thrift.protocol.TList _list216 = iprot.readListBegin();
+                  struct.success = new ArrayList<Generation>(_list216.size);
+                  for (int _i217 = 0; _i217 < _list216.size; ++_i217)
                   {
-                    Generation _elem210; // required
-                    _elem210 = new Generation();
-                    _elem210.read(iprot);
-                    struct.success.add(_elem210);
+                    Generation _elem218; // required
+                    _elem218 = new Generation();
+                    _elem218.read(iprot);
+                    struct.success.add(_elem218);
                   }
                   iprot.readListEnd();
                 }
@@ -9971,9 +10075,9 @@ public class Blur {
           oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.success.size()));
-            for (Generation _iter211 : struct.success)
+            for (Generation _iter219 : struct.success)
             {
-              _iter211.write(oprot);
+              _iter219.write(oprot);
             }
             oprot.writeListEnd();
           }
@@ -10012,9 +10116,9 @@ public class Blur {
         if (struct.isSetSuccess()) {
           {
             oprot.writeI32(struct.success.size());
-            for (Generation _iter212 : struct.success)
+            for (Generation _iter220 : struct.success)
             {
-              _iter212.write(oprot);
+              _iter220.write(oprot);
             }
           }
         }
@@ -10029,14 +10133,14 @@ public class Blur {
         BitSet incoming = iprot.readBitSet(2);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list213 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-            struct.success = new ArrayList<Generation>(_list213.size);
-            for (int _i214 = 0; _i214 < _list213.size; ++_i214)
+            org.apache.thrift.protocol.TList _list221 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+            struct.success = new ArrayList<Generation>(_list221.size);
+            for (int _i222 = 0; _i222 < _list221.size; ++_i222)
             {
-              Generation _elem215; // required
-              _elem215 = new Generation();
-              _elem215.read(iprot);
-              struct.success.add(_elem215);
+              Generation _elem223; // required
+              _elem223 = new Generation();
+              _elem223.read(iprot);
+              struct.success.add(_elem223);
             }
           }
           struct.setSuccessIsSet(true);
@@ -10437,14 +10541,14 @@ public class Blur {
             case 1: // GENERATIONS
               if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
                 {
-                  org.apache.thrift.protocol.TList _list216 = iprot.readListBegin();
-                  struct.generations = new ArrayList<Generation>(_list216.size);
-                  for (int _i217 = 0; _i217 < _list216.size; ++_i217)
+                  org.apache.thrift.protocol.TList _list224 = iprot.readListBegin();
+                  struct.generations = new ArrayList<Generation>(_list224.size);
+                  for (int _i225 = 0; _i225 < _list224.size; ++_i225)
                   {
-                    Generation _elem218; // required
-                    _elem218 = new Generation();
-                    _elem218.read(iprot);
-                    struct.generations.add(_elem218);
+                    Generation _elem226; // required
+                    _elem226 = new Generation();
+                    _elem226.read(iprot);
+                    struct.generations.add(_elem226);
                   }
                   iprot.readListEnd();
                 }
@@ -10480,9 +10584,9 @@ public class Blur {
           oprot.writeFieldBegin(GENERATIONS_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.generations.size()));
-            for (Generation _iter219 : struct.generations)
+            for (Generation _iter227 : struct.generations)
             {
-              _iter219.write(oprot);
+              _iter227.write(oprot);
             }
             oprot.writeListEnd();
           }
@@ -10519,9 +10623,9 @@ public class Blur {
         if (struct.isSetGenerations()) {
           {
             oprot.writeI32(struct.generations.size());
-            for (Generation _iter220 : struct.generations)
+            for (Generation _iter228 : struct.generations)
             {
-              _iter220.write(oprot);
+              _iter228.write(oprot);
             }
           }
         }
@@ -10536,14 +10640,14 @@ public class Blur {
         BitSet incoming = iprot.readBitSet(2);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list221 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-            struct.generations = new ArrayList<Generation>(_list221.size);
-            for (int _i222 = 0; _i222 < _list221.size; ++_i222)
+            org.apache.thrift.protocol.TList _list229 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+            struct.generations = new ArrayList<Generation>(_list229.size);
+            for (int _i230 = 0; _i230 < _list229.size; ++_i230)
             {
-              Generation _elem223; // required
-              _elem223 = new Generation();
-              _elem223.read(iprot);
-              struct.generations.add(_elem223);
+              Generation _elem231; // required
+              _elem231 = new Generation();
+              _elem231.read(iprot);
+              struct.generations.add(_elem231);
             }
           }
           struct.setGenerationsIsSet(true);
@@ -11545,13 +11649,13 @@ public class Blur {
             case 0: // SUCCESS
               if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
                 {
-                  org.apache.thrift.protocol.TList _list224 = iprot.readListBegin();
-                  struct.success = new ArrayList<String>(_list224.size);
-                  for (int _i225 = 0; _i225 < _list224.size; ++_i225)
+                  org.apache.thrift.protocol.TList _list232 = iprot.readListBegin();
+                  struct.success = new ArrayList<String>(_list232.size);
+                  for (int _i233 = 0; _i233 < _list232.size; ++_i233)
                   {
-                    String _elem226; // required
-                    _elem226 = iprot.readString();
-                    struct.success.add(_elem226);
+                    String _elem234; // required
+                    _elem234 = iprot.readString();
+                    struct.success.add(_elem234);
                   }
                   iprot.readListEnd();
                 }
@@ -11588,9 +11692,9 @@ public class Blur {
           oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, struct.success.size()));
-            for (String _iter227 : struct.success)
+            for (String _iter235 : struct.success)
             {
-              oprot.writeString(_iter227);
+              oprot.writeString(_iter235);
             }
             oprot.writeListEnd();
           }
@@ -11629,9 +11733,9 @@ public class Blur {
         if (struct.isSetSuccess()) {
           {
             oprot.writeI32(struct.success.size());
-            for (String _iter228 : struct.success)
+            for (String _iter236 : struct.success)
             {
-              oprot.writeString(_iter228);
+              oprot.writeString(_iter236);
             }
           }
         }
@@ -11646,13 +11750,13 @@ public class Blur {
         BitSet incoming = iprot.readBitSet(2);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list229 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
-            struct.success = new ArrayList<String>(_list229.size);
-            for (int _i230 = 0; _i230 < _list229.size; ++_i230)
+            org.apache.thrift.protocol.TList _list237 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+            struct.success = new ArrayList<String>(_list237.size);
+            for (int _i238 = 0; _i238 < _list237.size; ++_i238)
             {
-              String _elem231; // required
-              _elem231 = iprot.readString();
-              struct.success.add(_elem231);
+              String _elem239; // required
+              _elem239 = iprot.readString();
+              struct.success.add(_elem239);
             }
           }
           struct.setSuccessIsSet(true);
@@ -12507,13 +12611,13 @@ public class Blur {
             case 0: // SUCCESS
               if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
                 {
-                  org.apache.thrift.protocol.TList _list232 = iprot.readListBegin();
-                  struct.success = new ArrayList<Integer>(_list232.size);
-                  for (int _i233 = 0; _i233 < _list232.size; ++_i233)
+                  org.apache.thrift.protocol.TList _list240 = iprot.readListBegin();
+                  struct.success = new ArrayList<Integer>(_list240.size);
+                  for (int _i241 = 0; _i241 < _list240.size; ++_i241)
                   {
-                    int _elem234; // required
-                    _elem234 = iprot.readI32();
-                    struct.success.add(_elem234);
+                    int _elem242; // required
+                    _elem242 = iprot.readI32();
+                    struct.success.add(_elem242);
                   }
                   iprot.readListEnd();
                 }
@@ -12550,9 +12654,9 @@ public class Blur {
           oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.I32, struct.success.size()));
-            for (int _iter235 : struct.success)
+            for (int _iter243 : struct.success)
             {
-              oprot.writeI32(_iter235);
+              oprot.writeI32(_iter243);
             }
             oprot.writeListEnd();
           }
@@ -12591,9 +12695,9 @@ public class Blur {
         if (struct.isSetSuccess()) {
           {
             oprot.writeI32(struct.success.size());
-            for (int _iter236 : struct.success)
+            for (int _iter244 : struct.success)
             {
-              oprot.writeI32(_iter236);
+              oprot.writeI32(_iter244);
             }
           }
         }
@@ -12608,13 +12712,13 @@ public class Blur {
         BitSet incoming = iprot.readBitSet(2);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list237 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.I32, iprot.readI32());
-            struct.success = new ArrayList<Integer>(_list237.size);
-            for (int _i238 = 0; _i238 < _list237.size; ++_i238)
+            org.apache.thrift.protocol.TList _list245 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.I32, iprot.readI32());
+            struct.success = new ArrayList<Integer>(_list245.size);
+            for (int _i246 = 0; _i246 < _list245.size; ++_i246)
             {
-              int _elem239; // required
-              _elem239 = iprot.readI32();
-              struct.success.add(_elem239);
+              int _elem247; // required
+              _elem247 = iprot.readI32();
+              struct.success.add(_elem247);
             }
           }
           struct.setSuccessIsSet(true);
@@ -12629,20 +12733,22 @@ public class Blur {
 
   }
 
-  public static class tableList_args implements org.apache.thrift.TBase<tableList_args, tableList_args._Fields>, java.io.Serializable, Cloneable   {
-    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("tableList_args");
+  public static class shardLayout_args implements org.apache.thrift.TBase<shardLayout_args, shardLayout_args._Fields>, java.io.Serializable, Cloneable   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("shardLayout_args");
 
+    private static final org.apache.thrift.protocol.TField TABLE_FIELD_DESC = new org.apache.thrift.protocol.TField("table", org.apache.thrift.protocol.TType.STRING, (short)1);
 
     private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
     static {
-      schemes.put(StandardScheme.class, new tableList_argsStandardSchemeFactory());
-      schemes.put(TupleScheme.class, new tableList_argsTupleSchemeFactory());
+      schemes.put(StandardScheme.class, new shardLayout_argsStandardSchemeFactory());
+      schemes.put(TupleScheme.class, new shardLayout_argsTupleSchemeFactory());
     }
 
+    public String table; // 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 {
-;
+      TABLE((short)1, "table");
 
       private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
 
@@ -12657,6 +12763,8 @@ public class Blur {
        */
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
+          case 1: // TABLE
+            return TABLE;
           default:
             return null;
         }
@@ -12695,24 +12803,895 @@ public class Blur {
         return _fieldName;
       }
     }
+
+    // isset id assignments
     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.TABLE, new org.apache.thrift.meta_data.FieldMetaData("table", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
       metaDataMap = Collections.unmodifiableMap(tmpMap);
-      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(tableList_args.class, metaDataMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(shardLayout_args.class, metaDataMap);
     }
 
-    public tableList_args() {
+    public shardLayout_args() {
+    }
+
+    public shardLayout_args(
+      String table)
+    {
+      this();
+      this.table = table;
     }
 
     /**
      * Performs a deep copy on <i>other</i>.
      */
-    public tableList_args(tableList_args other) {
+    public shardLayout_args(shardLayout_args other) {
+      if (other.isSetTable()) {
+        this.table = other.table;
+      }
     }
 
-    public tableList_args deepCopy() {
-      return new tableList_args(this);
+    public shardLayout_args deepCopy() {
+      return new shardLayout_args(this);
+    }
+
+    @Override
+    public void clear() {
+      this.table = null;
+    }
+
+    public String getTable() {
+      return this.table;
+    }
+
+    public shardLayout_args setTable(String table) {
+      this.table = table;
+      return this;
+    }
+
+    public void unsetTable() {
+      this.table = null;
+    }
+
+    /** Returns true if field table is set (has been assigned a value) and false otherwise */
+    public boolean isSetTable() {
+      return this.table != null;
+    }
+
+    public void setTableIsSet(boolean value) {
+      if (!value) {
+        this.table = null;
+      }
+    }
+
+    public void setFieldValue(_Fields field, Object value) {
+      switch (field) {
+      case TABLE:
+        if (value == null) {
+          unsetTable();
+        } else {
+          setTable((String)value);
+        }
+        break;
+
+      }
+    }
+
+    public Object getFieldValue(_Fields field) {
+      switch (field) {
+      case TABLE:
+        return getTable();
+
+      }
+      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 TABLE:
+        return isSetTable();
+      }
+      throw new IllegalStateException();
+    }
+
+    @Override
+    public boolean equals(Object that) {
+      if (that == null)
+        return false;
+      if (that instanceof shardLayout_args)
+        return this.equals((shardLayout_args)that);
+      return false;
+    }
+
+    public boolean equals(shardLayout_args that) {
+      if (that == null)
+        return false;
+
+      boolean this_present_table = true && this.isSetTable();
+      boolean that_present_table = true && that.isSetTable();
+      if (this_present_table || that_present_table) {
+        if (!(this_present_table && that_present_table))
+          return false;
+        if (!this.table.equals(that.table))
+          return false;
+      }
+
+      return true;
+    }
+
+    @Override
+    public int hashCode() {
+      return 0;
+    }
+
+    public int compareTo(shardLayout_args other) {
+      if (!getClass().equals(other.getClass())) {
+        return getClass().getName().compareTo(other.getClass().getName());
+      }
+
+      int lastComparison = 0;
+      shardLayout_args typedOther = (shardLayout_args)other;
+
+      lastComparison = Boolean.valueOf(isSetTable()).compareTo(typedOther.isSetTable());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetTable()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.table, typedOther.table);
+        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("shardLayout_args(");
+      boolean first = true;
+
+      sb.append("table:");
+      if (this.table == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.table);
+      }
+      first = false;
+      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 shardLayout_argsStandardSchemeFactory implements SchemeFactory {
+      public shardLayout_argsStandardScheme getScheme() {
+        return new shardLayout_argsStandardScheme();
+      }
+    }
+
+    private static class shardLayout_argsStandardScheme extends StandardScheme<shardLayout_args> {
+
+      public void read(org.apache.thrift.protocol.TProtocol iprot, shardLayout_args 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: // TABLE
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+                struct.table = iprot.readString();
+                struct.setTableIsSet(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, shardLayout_args struct) throws org.apache.thrift.TException {
+        struct.validate();
+
+        oprot.writeStructBegin(STRUCT_DESC);
+        if (struct.table != null) {
+          oprot.writeFieldBegin(TABLE_FIELD_DESC);
+          oprot.writeString(struct.table);
+          oprot.writeFieldEnd();
+        }
+        oprot.writeFieldStop();
+        oprot.writeStructEnd();
+      }
+
+    }
+
+    private static class shardLayout_argsTupleSchemeFactory implements SchemeFactory {
+      public shardLayout_argsTupleScheme getScheme() {
+        return new shardLayout_argsTupleScheme();
+      }
+    }
+
+    private static class shardLayout_argsTupleScheme extends TupleScheme<shardLayout_args> {
+
+      @Override
+      public void write(org.apache.thrift.protocol.TProtocol prot, shardLayout_args struct) throws org.apache.thrift.TException {
+        TTupleProtocol oprot = (TTupleProtocol) prot;
+        BitSet optionals = new BitSet();
+        if (struct.isSetTable()) {
+          optionals.set(0);
+        }
+        oprot.writeBitSet(optionals, 1);
+        if (struct.isSetTable()) {
+          oprot.writeString(struct.table);
+        }
+      }
+
+      @Override
+      public void read(org.apache.thrift.protocol.TProtocol prot, shardLayout_args struct) throws org.apache.thrift.TException {
+        TTupleProtocol iprot = (TTupleProtocol) prot;
+        BitSet incoming = iprot.readBitSet(1);
+        if (incoming.get(0)) {
+          struct.table = iprot.readString();
+          struct.setTableIsSet(true);
+        }
+      }
+    }
+
+  }
+
+  public static class shardLayout_result implements org.apache.thrift.TBase<shardLayout_result, shardLayout_result._Fields>, java.io.Serializable, Cloneable   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("shardLayout_result");
+
+    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.MAP, (short)0);
+    private static final org.apache.thrift.protocol.TField EX_FIELD_DESC = new org.apache.thrift.protocol.TField("ex", org.apache.thrift.protocol.TType.STRUCT, (short)1);
+
+    private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
+    static {
+      schemes.put(StandardScheme.class, new shardLayout_resultStandardSchemeFactory());
+      schemes.put(TupleScheme.class, new shardLayout_resultTupleSchemeFactory());
+    }
+
+    public Map<String,ShardLayout> success; // required
+    public BlurException ex; // 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"),
+      EX((short)1, "ex");
+
+      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 0: // SUCCESS
+            return SUCCESS;
+          case 1: // EX
+            return EX;
+          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
+    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
+    static {
+      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
+      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+          new org.apache.thrift.meta_data.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.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, ShardLayout.class))));
+      tmpMap.put(_Fields.EX, new org.apache.thrift.meta_data.FieldMetaData("ex", 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(shardLayout_result.class, metaDataMap);
+    }
+
+    public shardLayout_result() {
+    }
+
+    public shardLayout_result(
+      Map<String,ShardLayout> success,
+      BlurException ex)
+    {
+      this();
+      this.success = success;
+      this.ex = ex;
+    }
+
+    /**
+     * Performs a deep copy on <i>other</i>.
+     */
+    public shardLayout_result(shardLayout_result other) {
+      if (other.isSetSuccess()) {
+        Map<String,ShardLayout> __this__success = new HashMap<String,ShardLayout>();
+        for (Map.Entry<String, ShardLayout> other_element : other.success.entrySet()) {
+
+          String other_element_key = other_element.getKey();
+          ShardLayout other_element_value = other_element.getValue();
+
+          String __this__success_copy_key = other_element_key;
+
+          ShardLayout __this__success_copy_value = new ShardLayout(other_element_value);
+
+          __this__success.put(__this__success_copy_key, __this__success_copy_value);
+        }
+        this.success = __this__success;
+      }
+      if (other.isSetEx()) {
+        this.ex = new BlurException(other.ex);
+      }
+    }
+
+    public shardLayout_result deepCopy() {
+      return new shardLayout_result(this);
+    }
+
+    @Override
+    public void clear() {
+      this.success = null;
+      this.ex = null;
+    }
+
+    public int getSuccessSize() {
+      return (this.success == null) ? 0 : this.success.size();
+    }
+
+    public void putToSuccess(String key, ShardLayout val) {
+      if (this.success == null) {
+        this.success = new HashMap<String,ShardLayout>();
+      }
+      this.success.put(key, val);
+    }
+
+    public Map<String,ShardLayout> getSuccess() {
+      return this.success;
+    }
+
+    public shardLayout_result setSuccess(Map<String,ShardLayout> success) {
+      this.success = success;
+      return this;
+    }
+
+    public void unsetSuccess() {
+      this.success = null;
+    }
+
+    /** Returns true if field success is set (has been assigned a value) and false otherwise */
+    public boolean isSetSuccess() {
+      return this.success != null;
+    }
+
+    public void setSuccessIsSet(boolean value) {
+      if (!value) {
+        this.success = null;
+      }
+    }
+
+    public BlurException getEx() {
+      return this.ex;
+    }
+
+    public shardLayout_result setEx(BlurException ex) {
+      this.ex = ex;
+      return this;
+    }
+
+    public void unsetEx() {
+      this.ex = null;
+    }
+
+    /** Returns true if field ex is set (has been assigned a value) and false otherwise */
+    public boolean isSetEx() {
+      return this.ex != null;
+    }
+
+    public void setExIsSet(boolean value) {
+      if (!value) {
+        this.ex = null;
+      }
+    }
+
+    public void setFieldValue(_Fields field, Object value) {
+      switch (field) {
+      case SUCCESS:
+        if (value == null) {
+          unsetSuccess();
+        } else {
+          setSuccess((Map<String,ShardLayout>)value);
+        }
+        break;
+
+      case EX:
+        if (value == null) {
+          unsetEx();
+        } else {
+          setEx((BlurException)value);
+        }
+        break;
+
+      }
+    }
+
+    public Object getFieldValue(_Fields field) {
+      switch (field) {
+      case SUCCESS:
+        return getSuccess();
+
+      case EX:
+        return getEx();
+
+      }
+      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 SUCCESS:
+        return isSetSuccess();
+      case EX:
+        return isSetEx();
+      }
+      throw new IllegalStateException();
+    }
+
+    @Override
+    public boolean equals(Object that) {
+      if (that == null)
+        return false;
+      if (that instanceof shardLayout_result)
+        return this.equals((shardLayout_result)that);
+      return false;
+    }
+
+    public boolean equals(shardLayout_result that) {
+      if (that == null)
+        return false;
+
+      boolean this_present_success = true && this.isSetSuccess();
+      boolean that_present_success = true && that.isSetSuccess();
+      if (this_present_success || that_present_success) {
+        if (!(this_present_success && that_present_success))
+          return false;
+        if (!this.success.equals(that.success))
+          return false;
+      }
+
+      boolean this_present_ex = true && this.isSetEx();
+      boolean that_present_ex = true && that.isSetEx();
+      if (this_present_ex || that_present_ex) {
+        if (!(this_present_ex && that_present_ex))
+          return false;
+        if (!this.ex.equals(that.ex))
+          return false;
+      }
+
+      return true;
+    }
+
+    @Override
+    public int hashCode() {
+      return 0;
+    }
+
+    public int compareTo(shardLayout_result other) {
+      if (!getClass().equals(other.getClass())) {
+        return getClass().getName().compareTo(other.getClass().getName());
+      }
+
+      int lastComparison = 0;
+      shardLayout_result typedOther = (shardLayout_result)other;
+
+      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetSuccess()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
+      lastComparison = Boolean.valueOf(isSetEx()).compareTo(typedOther.isSetEx());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetEx()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ex, typedOther.ex);
+        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("shardLayout_result(");
+      boolean first = true;
+
+      sb.append("success:");
+      if (this.success == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.success);
+      }
+      first = false;
+      if (!first) sb.append(", ");
+      sb.append("ex:");
+      if (this.ex == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.ex);
+      }
+      first = false;
+      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 shardLayout_resultStandardSchemeFactory implements SchemeFactory {
+      public shardLayout_resultStandardScheme getScheme() {
+        return new shardLayout_resultStandardScheme();
+      }
+    }
+
+    private static class shardLayout_resultStandardScheme extends StandardScheme<shardLayout_result> {
+
+      public void read(org.apache.thrift.protocol.TProtocol iprot, shardLayout_result 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 0: // SUCCESS
+              if (schemeField.type == org.apache.thrift.protocol.TType.MAP) {
+                {
+                  org.apache.thrift.protocol.TMap _map248 = iprot.readMapBegin();
+                  struct.success = new HashMap<String,ShardLayout>(2*_map248.size);
+                  for (int _i249 = 0; _i249 < _map248.size; ++_i249)
+                  {
+                    String _key250; // required
+                    ShardLayout _val251; // optional
+                    _key250 = iprot.readString();
+                    _val251 = new ShardLayout();
+                    _val251.read(iprot);
+                    struct.success.put(_key250, _val251);
+                  }
+                  iprot.readMapEnd();
+                }
+                struct.setSuccessIsSet(true);
+              } else { 
+                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+              }
+              break;
+            case 1: // EX
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+                struct.ex = new BlurException();
+                struct.ex.read(iprot);
+                struct.setExIsSet(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, shardLayout_result struct) throws org.apache.thrift.TException {
+        struct.validate();
+
+        oprot.writeStructBegin(STRUCT_DESC);
+        if (struct.success != null) {
+          oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
+          {
+            oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRUCT, struct.success.size()));
+            for (Map.Entry<String, ShardLayout> _iter252 : struct.success.entrySet())
+            {
+              oprot.writeString(_iter252.getKey());
+              _iter252.getValue().write(oprot);
+            }
+            oprot.writeMapEnd();
+          }
+          oprot.writeFieldEnd();
+        }
+        if (struct.ex != null) {
+          oprot.writeFieldBegin(EX_FIELD_DESC);
+          struct.ex.write(oprot);
+          oprot.writeFieldEnd();
+        }
+        oprot.writeFieldStop();
+        oprot.writeStructEnd();
+      }
+
+    }
+
+    private static class shardLayout_resultTupleSchemeFactory implements SchemeFactory {
+      public shardLayout_resultTupleScheme getScheme() {
+        return new shardLayout_resultTupleScheme();
+      }
+    }
+
+    private static class shardLayout_resultTupleScheme extends TupleScheme<shardLayout_result> {
+
+      @Override
+      public void write(org.apache.thrift.protocol.TProtocol prot, shardLayout_result struct) throws org.apache.thrift.TException {
+        TTupleProtocol oprot = (TTupleProtocol) prot;
+        BitSet optionals = new BitSet();
+        if (struct.isSetSuccess()) {
+          optionals.set(0);
+        }
+        if (struct.isSetEx()) {
+          optionals.set(1);
+        }
+        oprot.writeBitSet(optionals, 2);
+        if (struct.isSetSuccess()) {
+          {
+            oprot.writeI32(struct.success.size());
+            for (Map.Entry<String, ShardLayout> _iter253 : struct.success.entrySet())
+            {
+              oprot.writeString(_iter253.getKey());
+              _iter253.getValue().write(oprot);
+            }
+          }
+        }
+        if (struct.isSetEx()) {
+          struct.ex.write(oprot);
+        }
+      }
+
+      @Override
+      public void read(org.apache.thrift.protocol.TProtocol prot, shardLayout_result struct) throws org.apache.thrift.TException {
+        TTupleProtocol iprot = (TTupleProtocol) prot;
+        BitSet incoming = iprot.readBitSet(2);
+        if (incoming.get(0)) {
+          {
+            org.apache.thrift.protocol.TMap _map254 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+            struct.success = new HashMap<String,ShardLayout>(2*_map254.size);
+            for (int _i255 = 0; _i255 < _map254.size; ++_i255)
+            {
+              String _key256; // required
+              ShardLayout _val257; // optional
+              _key256 = iprot.readString();
+              _val257 = new ShardLayout();
+              _val257.read(iprot);
+              struct.success.put(_key256, _val257);
+            }
+          }
+          struct.setSuccessIsSet(true);
+        }
+        if (incoming.get(1)) {
+          struct.ex = new BlurException();
+          struct.ex.read(iprot);
+          struct.setExIsSet(true);
+        }
+      }
+    }
+
+  }
+
+  public static class tableList_args implements org.apache.thrift.TBase<tableList_args, tableList_args._Fields>, java.io.Serializable, Cloneable   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("tableList_args");
+
+
+    private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
+    static {
+      schemes.put(StandardScheme.class, new tableList_argsStandardSchemeFactory());
+      schemes.put(TupleScheme.class, new tableList_argsTupleSchemeFactory());
+    }
+
+
+    /** 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

<TRUNCATED>

Mime
View raw message