incubator-blur-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From amccu...@apache.org
Subject [20/27] Massive changes to the the thrift API. Getting closer to the final version, this commit also removes the controller from the architecture.
Date Sun, 18 Nov 2012 00:52:59 GMT
http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/aee531c2/src/blur-thrift/src/main/java/org/apache/blur/thrift/generated/Blur.java
----------------------------------------------------------------------
diff --git a/src/blur-thrift/src/main/java/org/apache/blur/thrift/generated/Blur.java b/src/blur-thrift/src/main/java/org/apache/blur/thrift/generated/Blur.java
index 19b75db..07dd1f3 100644
--- a/src/blur-thrift/src/main/java/org/apache/blur/thrift/generated/Blur.java
+++ b/src/blur-thrift/src/main/java/org/apache/blur/thrift/generated/Blur.java
@@ -51,141 +51,222 @@ import org.slf4j.LoggerFactory;
 
 public class Blur {
 
-  /**
-   * 
-   */
   public interface Iface {
 
     /**
-     * Returns a list of all the shard clusters.
+     * 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.
+     * 
+     * @param table
      */
-    public List<String> shardClusterList() throws BlurException, org.apache.thrift.TException;
+    public Session openReadSession(String table) throws BlurException, org.apache.thrift.TException;
 
     /**
-     * Returns a list of all the shard servers for the given cluster.
-     * @param cluster the cluster name.
+     * Runs a search with the given query arguments.  Invalid Sessions will throw a BlurException.
+     * @param session the Session.
+     * @param queryArgs the QueryArgs which contains the query, filter, sort, fetch, paging information, etc.
+     * @return the TopFieldDocs, where there is a TopFieldDocs object for each shard that was search against.
+     * 
+     * @param session
+     * @param queryArgs
+     */
+    public List<TopFieldDocs> search(Session session, QueryArgs queryArgs) throws BlurException, org.apache.thrift.TException;
+
+    /**
+     * Fetches a document based on the DocLocation list with the fields specified.
+     * @param session the Session.
+     * @param docLocations the document locations, which include shard index and document id.
+     * @param fields the field names to fetch.
+     * @return the Documents that were requested.
+     * 
+     * @param session
+     * @param docLocations
+     * @param fields
+     */
+    public List<Document> doc(Session session, List<Long> docLocations, Set<String> fields) throws BlurException, org.apache.thrift.TException;
+
+    /**
+     * Closes the session and allows the readers to be closed.
+     * @param session the Session.
+     * 
+     * @param session
+     */
+    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.
+     * @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 options
+     * @param documents
+     */
+    public void 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.
+     * @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.
+     * 
+     * @param options
+     * @param queries
+     */
+    public void 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.
+     * @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.
+     * 
+     * @param options
+     * @param terms
+     */
+    public void 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.
+     * @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 cluster
+     * @param options
+     * @param updatePackages
      */
-    public List<String> shardServerList(String cluster) throws BlurException, org.apache.thrift.TException;
+    public void updateDocuments(MutateOptions options, List<UpdatePackage> updatePackages) throws BlurException, org.apache.thrift.TException;
 
     /**
-     * Returns a list of all the controller servers.
+     * Returns a list of all the shard servers for the given cluster.
+     * @param cluster the cluster name.
+     * @return list of servers, e.g. node1:40020.
      */
-    public List<String> controllerServerList() throws BlurException, org.apache.thrift.TException;
+    public List<String> serverList() throws BlurException, org.apache.thrift.TException;
 
     /**
-     * Returns a map of the layout of the given table, where the key is the shard name and the value is the shard server.
+     * Gets a list shard ids for the given server and table.
      * @param table the table name.
+     * @param server the server name, e.g. node1:40020
+     * @return list of shard ids.
      * 
      * @param table
+     * @param server
      */
-    public Map<String,String> shardServerLayout(String table) throws BlurException, org.apache.thrift.TException;
+    public List<Integer> serverLayout(String table, String server) throws BlurException, org.apache.thrift.TException;
 
     /**
-     * Returns a list of the table names across all shard clusters.
+     * Gets a list of the table names.
+     * @return list of table names.
      */
     public List<String> tableList() throws BlurException, org.apache.thrift.TException;
 
     /**
-     * Returns a list of the table names for the given cluster.
-     * @param cluster the cluster name.
+     * Is cluster in safe mode.
+     * @return safe mode boolean.
+     */
+    public boolean isInSafeMode() throws BlurException, org.apache.thrift.TException;
+
+    /**
+     * Create a table with the given table descriptor.
+     * @param tableDescriptor the TableDescriptor.
      * 
-     * @param cluster
+     * @param tableDescriptor
      */
-    public List<String> tableListByCluster(String cluster) throws BlurException, org.apache.thrift.TException;
+    public void createTable(TableDescriptor tableDescriptor) throws BlurException, org.apache.thrift.TException;
 
     /**
-     * Returns a table descriptor for the given table.
+     * Enables a table with the given table name.
      * @param table the table name.
      * 
      * @param table
      */
-    public TableDescriptor describe(String table) throws BlurException, org.apache.thrift.TException;
+    public void enableTable(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.
+     * Disables a table with the given table name.
      * @param table the table name.
-     * @param uuid the uuid of the query.
      * 
      * @param table
-     * @param uuid
      */
-    public void cancelQuery(String table, long uuid) throws BlurException, org.apache.thrift.TException;
+    public void disableTable(String table) throws BlurException, org.apache.thrift.TException;
 
     /**
-     * @deprecated This method should avoided, @see #queryStatusIdList and #queryStatusById.
+     * Removes a table with the given table name.
      * @param table the table name.
+     * @param deleteIndexFiles boolean, whether or not to remove the indexes from the HDFS system.
      * 
      * @param table
+     * @param deleteIndexFiles
      */
-    public List<BlurQueryStatus> currentQueries(String table) throws BlurException, org.apache.thrift.TException;
+    public void removeTable(String table, boolean deleteIndexFiles) throws BlurException, org.apache.thrift.TException;
 
     /**
-     * Returns a list of the query ids of queries that have recently been executed for the given table.
+     * Returns a table descriptor for the given table.
      * @param table the table name.
      * 
      * @param table
      */
-    public List<Long> queryStatusIdList(String table) throws BlurException, org.apache.thrift.TException;
+    public TableDescriptor describe(String table) throws BlurException, org.apache.thrift.TException;
 
     /**
-     * Returns the query status for the given table and query uuid.
+     * 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.
      * 
-     * @param table
-     * @param uuid
+     * @param session
+     * @param id
      */
-    public BlurQueryStatus queryStatusById(String table, long uuid) throws BlurException, org.apache.thrift.TException;
-
-    public Schema schema(String table) throws BlurException, org.apache.thrift.TException;
-
-    public TableStats tableStats(String table) throws BlurException, org.apache.thrift.TException;
-
-    public void createTable(TableDescriptor tableDescriptor) throws BlurException, org.apache.thrift.TException;
-
-    public void enableTable(String table) throws BlurException, org.apache.thrift.TException;
+    public void cancelQuery(Session session, long id) throws BlurException, org.apache.thrift.TException;
 
-    public void disableTable(String table) throws BlurException, org.apache.thrift.TException;
-
-    public void removeTable(String table, boolean deleteIndexFiles) throws BlurException, org.apache.thrift.TException;
+    /**
+     * Returns a list of the query ids of queries that have recently been executed for the given table.
+     * @param table the table name.
+     * @return the uuids of the query status objects.
+     * 
+     * @param session
+     */
+    public List<Long> queryStatusIdList(Session session) throws BlurException, org.apache.thrift.TException;
 
-    public void optimize(String table, int numberOfSegmentsPerShard) throws BlurException, org.apache.thrift.TException;
+    /**
+     * Returns the query status for the given table and query uuid.
+     * @param table the table name.
+     * @param uuid the uuid of the query.
+     * @return the query status for the given.
+     * 
+     * @param session
+     * @param id
+     */
+    public QueryStatus queryStatus(Session session, long id) throws BlurException, org.apache.thrift.TException;
 
-    public boolean isInSafeMode(String cluster) throws BlurException, org.apache.thrift.TException;
+    public LiveSchema schema(String table) throws BlurException, org.apache.thrift.TException;
 
-    public Map<String,String> configuration() throws BlurException, org.apache.thrift.TException;
+    public TableStats tableStats(String table) throws BlurException, org.apache.thrift.TException;
 
   }
 
   public interface AsyncIface {
 
-    public void shardClusterList(org.apache.thrift.async.AsyncMethodCallback<AsyncClient.shardClusterList_call> resultHandler) throws org.apache.thrift.TException;
-
-    public void shardServerList(String cluster, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.shardServerList_call> resultHandler) throws org.apache.thrift.TException;
+    public void openReadSession(String table, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.openReadSession_call> resultHandler) throws org.apache.thrift.TException;
 
-    public void controllerServerList(org.apache.thrift.async.AsyncMethodCallback<AsyncClient.controllerServerList_call> resultHandler) throws org.apache.thrift.TException;
+    public void search(Session session, QueryArgs queryArgs, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.search_call> resultHandler) throws org.apache.thrift.TException;
 
-    public void shardServerLayout(String table, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.shardServerLayout_call> resultHandler) throws org.apache.thrift.TException;
+    public void doc(Session session, List<Long> docLocations, Set<String> fields, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.doc_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 closeReadSession(Session session, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.closeReadSession_call> resultHandler) throws org.apache.thrift.TException;
 
-    public void tableListByCluster(String cluster, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.tableListByCluster_call> resultHandler) throws org.apache.thrift.TException;
+    public void addDocuments(MutateOptions options, List<Document> documents, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.addDocuments_call> resultHandler) throws org.apache.thrift.TException;
 
-    public void describe(String table, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.describe_call> resultHandler) throws org.apache.thrift.TException;
+    public void deleteDocumentsByQueries(MutateOptions options, List<ByteBuffer> queries, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.deleteDocumentsByQueries_call> resultHandler) throws org.apache.thrift.TException;
 
-    public void cancelQuery(String table, long uuid, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.cancelQuery_call> resultHandler) throws org.apache.thrift.TException;
+    public void deleteDocuments(MutateOptions options, List<Term> terms, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.deleteDocuments_call> resultHandler) throws org.apache.thrift.TException;
 
-    public void currentQueries(String table, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.currentQueries_call> resultHandler) throws org.apache.thrift.TException;
+    public void updateDocuments(MutateOptions options, List<UpdatePackage> updatePackages, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.updateDocuments_call> resultHandler) throws org.apache.thrift.TException;
 
-    public void queryStatusIdList(String table, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.queryStatusIdList_call> resultHandler) throws org.apache.thrift.TException;
+    public void serverList(org.apache.thrift.async.AsyncMethodCallback<AsyncClient.serverList_call> resultHandler) throws org.apache.thrift.TException;
 
-    public void queryStatusById(String table, long uuid, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.queryStatusById_call> resultHandler) throws org.apache.thrift.TException;
+    public void serverLayout(String table, String server, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.serverLayout_call> resultHandler) throws org.apache.thrift.TException;
 
-    public void schema(String table, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.schema_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 tableStats(String table, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.tableStats_call> resultHandler) throws org.apache.thrift.TException;
+    public void isInSafeMode(org.apache.thrift.async.AsyncMethodCallback<AsyncClient.isInSafeMode_call> resultHandler) throws org.apache.thrift.TException;
 
     public void createTable(TableDescriptor tableDescriptor, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.createTable_call> resultHandler) throws org.apache.thrift.TException;
 
@@ -195,11 +276,17 @@ public class Blur {
 
     public void removeTable(String table, boolean deleteIndexFiles, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.removeTable_call> resultHandler) throws org.apache.thrift.TException;
 
-    public void optimize(String table, int numberOfSegmentsPerShard, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.optimize_call> resultHandler) throws org.apache.thrift.TException;
+    public void describe(String table, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.describe_call> resultHandler) throws org.apache.thrift.TException;
+
+    public void cancelQuery(Session session, long id, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.cancelQuery_call> resultHandler) throws org.apache.thrift.TException;
+
+    public void queryStatusIdList(Session session, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.queryStatusIdList_call> resultHandler) throws org.apache.thrift.TException;
 
-    public void isInSafeMode(String cluster, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.isInSafeMode_call> resultHandler) throws org.apache.thrift.TException;
+    public void queryStatus(Session session, long id, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.queryStatus_call> resultHandler) throws org.apache.thrift.TException;
 
-    public void configuration(org.apache.thrift.async.AsyncMethodCallback<AsyncClient.configuration_call> resultHandler) throws org.apache.thrift.TException;
+    public void schema(String table, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.schema_call> resultHandler) throws org.apache.thrift.TException;
+
+    public void tableStats(String table, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.tableStats_call> resultHandler) throws org.apache.thrift.TException;
 
   }
 
@@ -223,338 +310,306 @@ public class Blur {
       super(iprot, oprot);
     }
 
-    public List<String> shardClusterList() throws BlurException, org.apache.thrift.TException
-    {
-      send_shardClusterList();
-      return recv_shardClusterList();
-    }
-
-    public void send_shardClusterList() throws org.apache.thrift.TException
-    {
-      shardClusterList_args args = new shardClusterList_args();
-      sendBase("shardClusterList", args);
-    }
-
-    public List<String> recv_shardClusterList() throws BlurException, org.apache.thrift.TException
-    {
-      shardClusterList_result result = new shardClusterList_result();
-      receiveBase(result, "shardClusterList");
-      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, "shardClusterList failed: unknown result");
-    }
-
-    public List<String> shardServerList(String cluster) throws BlurException, org.apache.thrift.TException
+    public Session openReadSession(String table) throws BlurException, org.apache.thrift.TException
     {
-      send_shardServerList(cluster);
-      return recv_shardServerList();
+      send_openReadSession(table);
+      return recv_openReadSession();
     }
 
-    public void send_shardServerList(String cluster) throws org.apache.thrift.TException
+    public void send_openReadSession(String table) throws org.apache.thrift.TException
     {
-      shardServerList_args args = new shardServerList_args();
-      args.setCluster(cluster);
-      sendBase("shardServerList", args);
+      openReadSession_args args = new openReadSession_args();
+      args.setTable(table);
+      sendBase("openReadSession", args);
     }
 
-    public List<String> recv_shardServerList() throws BlurException, org.apache.thrift.TException
+    public Session recv_openReadSession() throws BlurException, org.apache.thrift.TException
     {
-      shardServerList_result result = new shardServerList_result();
-      receiveBase(result, "shardServerList");
+      openReadSession_result result = new openReadSession_result();
+      receiveBase(result, "openReadSession");
       if (result.isSetSuccess()) {
         return result.success;
       }
-      if (result.ex != null) {
-        throw result.ex;
+      if (result.e != null) {
+        throw result.e;
       }
-      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "shardServerList failed: unknown result");
+      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "openReadSession failed: unknown result");
     }
 
-    public List<String> controllerServerList() throws BlurException, org.apache.thrift.TException
+    public List<TopFieldDocs> search(Session session, QueryArgs queryArgs) throws BlurException, org.apache.thrift.TException
     {
-      send_controllerServerList();
-      return recv_controllerServerList();
+      send_search(session, queryArgs);
+      return recv_search();
     }
 
-    public void send_controllerServerList() throws org.apache.thrift.TException
+    public void send_search(Session session, QueryArgs queryArgs) throws org.apache.thrift.TException
     {
-      controllerServerList_args args = new controllerServerList_args();
-      sendBase("controllerServerList", args);
+      search_args args = new search_args();
+      args.setSession(session);
+      args.setQueryArgs(queryArgs);
+      sendBase("search", args);
     }
 
-    public List<String> recv_controllerServerList() throws BlurException, org.apache.thrift.TException
+    public List<TopFieldDocs> recv_search() throws BlurException, org.apache.thrift.TException
     {
-      controllerServerList_result result = new controllerServerList_result();
-      receiveBase(result, "controllerServerList");
+      search_result result = new search_result();
+      receiveBase(result, "search");
       if (result.isSetSuccess()) {
         return result.success;
       }
-      if (result.ex != null) {
-        throw result.ex;
+      if (result.e != null) {
+        throw result.e;
       }
-      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "controllerServerList failed: unknown result");
+      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "search failed: unknown result");
     }
 
-    public Map<String,String> shardServerLayout(String table) throws BlurException, org.apache.thrift.TException
+    public List<Document> doc(Session session, List<Long> docLocations, Set<String> fields) throws BlurException, org.apache.thrift.TException
     {
-      send_shardServerLayout(table);
-      return recv_shardServerLayout();
+      send_doc(session, docLocations, fields);
+      return recv_doc();
     }
 
-    public void send_shardServerLayout(String table) throws org.apache.thrift.TException
+    public void send_doc(Session session, List<Long> docLocations, Set<String> fields) throws org.apache.thrift.TException
     {
-      shardServerLayout_args args = new shardServerLayout_args();
-      args.setTable(table);
-      sendBase("shardServerLayout", args);
+      doc_args args = new doc_args();
+      args.setSession(session);
+      args.setDocLocations(docLocations);
+      args.setFields(fields);
+      sendBase("doc", args);
     }
 
-    public Map<String,String> recv_shardServerLayout() throws BlurException, org.apache.thrift.TException
+    public List<Document> recv_doc() throws BlurException, org.apache.thrift.TException
     {
-      shardServerLayout_result result = new shardServerLayout_result();
-      receiveBase(result, "shardServerLayout");
+      doc_result result = new doc_result();
+      receiveBase(result, "doc");
       if (result.isSetSuccess()) {
         return result.success;
       }
-      if (result.ex != null) {
-        throw result.ex;
+      if (result.e != null) {
+        throw result.e;
       }
-      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "shardServerLayout failed: unknown result");
+      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "doc failed: unknown result");
     }
 
-    public List<String> tableList() throws BlurException, org.apache.thrift.TException
+    public void closeReadSession(Session session) throws BlurException, org.apache.thrift.TException
     {
-      send_tableList();
-      return recv_tableList();
+      send_closeReadSession(session);
+      recv_closeReadSession();
     }
 
-    public void send_tableList() throws org.apache.thrift.TException
+    public void send_closeReadSession(Session session) throws org.apache.thrift.TException
     {
-      tableList_args args = new tableList_args();
-      sendBase("tableList", args);
+      closeReadSession_args args = new closeReadSession_args();
+      args.setSession(session);
+      sendBase("closeReadSession", args);
     }
 
-    public List<String> recv_tableList() throws BlurException, org.apache.thrift.TException
+    public void recv_closeReadSession() throws BlurException, org.apache.thrift.TException
     {
-      tableList_result result = new tableList_result();
-      receiveBase(result, "tableList");
-      if (result.isSetSuccess()) {
-        return result.success;
-      }
-      if (result.ex != null) {
-        throw result.ex;
+      closeReadSession_result result = new closeReadSession_result();
+      receiveBase(result, "closeReadSession");
+      if (result.e != null) {
+        throw result.e;
       }
-      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "tableList failed: unknown result");
+      return;
     }
 
-    public List<String> tableListByCluster(String cluster) throws BlurException, org.apache.thrift.TException
+    public void addDocuments(MutateOptions options, List<Document> documents) throws BlurException, org.apache.thrift.TException
     {
-      send_tableListByCluster(cluster);
-      return recv_tableListByCluster();
+      send_addDocuments(options, documents);
+      recv_addDocuments();
     }
 
-    public void send_tableListByCluster(String cluster) throws org.apache.thrift.TException
+    public void send_addDocuments(MutateOptions options, List<Document> documents) throws org.apache.thrift.TException
     {
-      tableListByCluster_args args = new tableListByCluster_args();
-      args.setCluster(cluster);
-      sendBase("tableListByCluster", args);
+      addDocuments_args args = new addDocuments_args();
+      args.setOptions(options);
+      args.setDocuments(documents);
+      sendBase("addDocuments", args);
     }
 
-    public List<String> recv_tableListByCluster() throws BlurException, org.apache.thrift.TException
+    public void recv_addDocuments() throws BlurException, org.apache.thrift.TException
     {
-      tableListByCluster_result result = new tableListByCluster_result();
-      receiveBase(result, "tableListByCluster");
-      if (result.isSetSuccess()) {
-        return result.success;
+      addDocuments_result result = new addDocuments_result();
+      receiveBase(result, "addDocuments");
+      if (result.e != null) {
+        throw result.e;
       }
-      if (result.ex != null) {
-        throw result.ex;
-      }
-      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "tableListByCluster failed: unknown result");
+      return;
     }
 
-    public TableDescriptor describe(String table) throws BlurException, org.apache.thrift.TException
+    public void deleteDocumentsByQueries(MutateOptions options, List<ByteBuffer> queries) throws BlurException, org.apache.thrift.TException
     {
-      send_describe(table);
-      return recv_describe();
+      send_deleteDocumentsByQueries(options, queries);
+      recv_deleteDocumentsByQueries();
     }
 
-    public void send_describe(String table) throws org.apache.thrift.TException
+    public void send_deleteDocumentsByQueries(MutateOptions options, List<ByteBuffer> queries) throws org.apache.thrift.TException
     {
-      describe_args args = new describe_args();
-      args.setTable(table);
-      sendBase("describe", args);
+      deleteDocumentsByQueries_args args = new deleteDocumentsByQueries_args();
+      args.setOptions(options);
+      args.setQueries(queries);
+      sendBase("deleteDocumentsByQueries", args);
     }
 
-    public TableDescriptor recv_describe() throws BlurException, org.apache.thrift.TException
+    public void recv_deleteDocumentsByQueries() throws BlurException, org.apache.thrift.TException
     {
-      describe_result result = new describe_result();
-      receiveBase(result, "describe");
-      if (result.isSetSuccess()) {
-        return result.success;
+      deleteDocumentsByQueries_result result = new deleteDocumentsByQueries_result();
+      receiveBase(result, "deleteDocumentsByQueries");
+      if (result.e != null) {
+        throw result.e;
       }
-      if (result.ex != null) {
-        throw result.ex;
-      }
-      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "describe failed: unknown result");
+      return;
     }
 
-    public void cancelQuery(String table, long uuid) throws BlurException, org.apache.thrift.TException
+    public void deleteDocuments(MutateOptions options, List<Term> terms) throws BlurException, org.apache.thrift.TException
     {
-      send_cancelQuery(table, uuid);
-      recv_cancelQuery();
+      send_deleteDocuments(options, terms);
+      recv_deleteDocuments();
     }
 
-    public void send_cancelQuery(String table, long uuid) throws org.apache.thrift.TException
+    public void send_deleteDocuments(MutateOptions options, List<Term> terms) throws org.apache.thrift.TException
     {
-      cancelQuery_args args = new cancelQuery_args();
-      args.setTable(table);
-      args.setUuid(uuid);
-      sendBase("cancelQuery", args);
+      deleteDocuments_args args = new deleteDocuments_args();
+      args.setOptions(options);
+      args.setTerms(terms);
+      sendBase("deleteDocuments", args);
     }
 
-    public void recv_cancelQuery() throws BlurException, org.apache.thrift.TException
+    public void recv_deleteDocuments() throws BlurException, org.apache.thrift.TException
     {
-      cancelQuery_result result = new cancelQuery_result();
-      receiveBase(result, "cancelQuery");
-      if (result.ex != null) {
-        throw result.ex;
+      deleteDocuments_result result = new deleteDocuments_result();
+      receiveBase(result, "deleteDocuments");
+      if (result.e != null) {
+        throw result.e;
       }
       return;
     }
 
-    public List<BlurQueryStatus> currentQueries(String table) throws BlurException, org.apache.thrift.TException
+    public void updateDocuments(MutateOptions options, List<UpdatePackage> updatePackages) throws BlurException, org.apache.thrift.TException
     {
-      send_currentQueries(table);
-      return recv_currentQueries();
+      send_updateDocuments(options, updatePackages);
+      recv_updateDocuments();
     }
 
-    public void send_currentQueries(String table) throws org.apache.thrift.TException
+    public void send_updateDocuments(MutateOptions options, List<UpdatePackage> updatePackages) throws org.apache.thrift.TException
     {
-      currentQueries_args args = new currentQueries_args();
-      args.setTable(table);
-      sendBase("currentQueries", args);
+      updateDocuments_args args = new updateDocuments_args();
+      args.setOptions(options);
+      args.setUpdatePackages(updatePackages);
+      sendBase("updateDocuments", args);
     }
 
-    public List<BlurQueryStatus> recv_currentQueries() throws BlurException, org.apache.thrift.TException
+    public void recv_updateDocuments() throws BlurException, org.apache.thrift.TException
     {
-      currentQueries_result result = new currentQueries_result();
-      receiveBase(result, "currentQueries");
-      if (result.isSetSuccess()) {
-        return result.success;
-      }
-      if (result.ex != null) {
-        throw result.ex;
+      updateDocuments_result result = new updateDocuments_result();
+      receiveBase(result, "updateDocuments");
+      if (result.e != null) {
+        throw result.e;
       }
-      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "currentQueries failed: unknown result");
+      return;
     }
 
-    public List<Long> queryStatusIdList(String table) throws BlurException, org.apache.thrift.TException
+    public List<String> serverList() throws BlurException, org.apache.thrift.TException
     {
-      send_queryStatusIdList(table);
-      return recv_queryStatusIdList();
+      send_serverList();
+      return recv_serverList();
     }
 
-    public void send_queryStatusIdList(String table) throws org.apache.thrift.TException
+    public void send_serverList() throws org.apache.thrift.TException
     {
-      queryStatusIdList_args args = new queryStatusIdList_args();
-      args.setTable(table);
-      sendBase("queryStatusIdList", args);
+      serverList_args args = new serverList_args();
+      sendBase("serverList", args);
     }
 
-    public List<Long> recv_queryStatusIdList() throws BlurException, org.apache.thrift.TException
+    public List<String> recv_serverList() throws BlurException, org.apache.thrift.TException
     {
-      queryStatusIdList_result result = new queryStatusIdList_result();
-      receiveBase(result, "queryStatusIdList");
+      serverList_result result = new serverList_result();
+      receiveBase(result, "serverList");
       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, "queryStatusIdList failed: unknown result");
+      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "serverList failed: unknown result");
     }
 
-    public BlurQueryStatus queryStatusById(String table, long uuid) throws BlurException, org.apache.thrift.TException
+    public List<Integer> serverLayout(String table, String server) throws BlurException, org.apache.thrift.TException
     {
-      send_queryStatusById(table, uuid);
-      return recv_queryStatusById();
+      send_serverLayout(table, server);
+      return recv_serverLayout();
     }
 
-    public void send_queryStatusById(String table, long uuid) throws org.apache.thrift.TException
+    public void send_serverLayout(String table, String server) throws org.apache.thrift.TException
     {
-      queryStatusById_args args = new queryStatusById_args();
+      serverLayout_args args = new serverLayout_args();
       args.setTable(table);
-      args.setUuid(uuid);
-      sendBase("queryStatusById", args);
+      args.setServer(server);
+      sendBase("serverLayout", args);
     }
 
-    public BlurQueryStatus recv_queryStatusById() throws BlurException, org.apache.thrift.TException
+    public List<Integer> recv_serverLayout() throws BlurException, org.apache.thrift.TException
     {
-      queryStatusById_result result = new queryStatusById_result();
-      receiveBase(result, "queryStatusById");
+      serverLayout_result result = new serverLayout_result();
+      receiveBase(result, "serverLayout");
       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, "queryStatusById failed: unknown result");
+      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "serverLayout failed: unknown result");
     }
 
-    public Schema schema(String table) throws BlurException, org.apache.thrift.TException
+    public List<String> tableList() throws BlurException, org.apache.thrift.TException
     {
-      send_schema(table);
-      return recv_schema();
+      send_tableList();
+      return recv_tableList();
     }
 
-    public void send_schema(String table) throws org.apache.thrift.TException
+    public void send_tableList() throws org.apache.thrift.TException
     {
-      schema_args args = new schema_args();
-      args.setTable(table);
-      sendBase("schema", args);
+      tableList_args args = new tableList_args();
+      sendBase("tableList", args);
     }
 
-    public Schema recv_schema() throws BlurException, org.apache.thrift.TException
+    public List<String> recv_tableList() throws BlurException, org.apache.thrift.TException
     {
-      schema_result result = new schema_result();
-      receiveBase(result, "schema");
+      tableList_result result = new tableList_result();
+      receiveBase(result, "tableList");
       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, "schema failed: unknown result");
+      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "tableList failed: unknown result");
     }
 
-    public TableStats tableStats(String table) throws BlurException, org.apache.thrift.TException
+    public boolean isInSafeMode() throws BlurException, org.apache.thrift.TException
     {
-      send_tableStats(table);
-      return recv_tableStats();
+      send_isInSafeMode();
+      return recv_isInSafeMode();
     }
 
-    public void send_tableStats(String table) throws org.apache.thrift.TException
+    public void send_isInSafeMode() throws org.apache.thrift.TException
     {
-      tableStats_args args = new tableStats_args();
-      args.setTable(table);
-      sendBase("tableStats", args);
+      isInSafeMode_args args = new isInSafeMode_args();
+      sendBase("isInSafeMode", args);
     }
 
-    public TableStats recv_tableStats() throws BlurException, org.apache.thrift.TException
+    public boolean recv_isInSafeMode() throws BlurException, org.apache.thrift.TException
     {
-      tableStats_result result = new tableStats_result();
-      receiveBase(result, "tableStats");
+      isInSafeMode_result result = new isInSafeMode_result();
+      receiveBase(result, "isInSafeMode");
       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, "tableStats failed: unknown result");
+      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "isInSafeMode failed: unknown result");
     }
 
     public void createTable(TableDescriptor tableDescriptor) throws BlurException, org.apache.thrift.TException
@@ -650,335 +705,407 @@ public class Blur {
       return;
     }
 
-    public void optimize(String table, int numberOfSegmentsPerShard) throws BlurException, org.apache.thrift.TException
+    public TableDescriptor describe(String table) throws BlurException, org.apache.thrift.TException
     {
-      send_optimize(table, numberOfSegmentsPerShard);
-      recv_optimize();
+      send_describe(table);
+      return recv_describe();
     }
 
-    public void send_optimize(String table, int numberOfSegmentsPerShard) throws org.apache.thrift.TException
+    public void send_describe(String table) throws org.apache.thrift.TException
     {
-      optimize_args args = new optimize_args();
+      describe_args args = new describe_args();
       args.setTable(table);
-      args.setNumberOfSegmentsPerShard(numberOfSegmentsPerShard);
-      sendBase("optimize", args);
+      sendBase("describe", args);
+    }
+
+    public TableDescriptor recv_describe() throws BlurException, org.apache.thrift.TException
+    {
+      describe_result result = new describe_result();
+      receiveBase(result, "describe");
+      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, "describe failed: unknown result");
+    }
+
+    public void cancelQuery(Session session, long id) throws BlurException, org.apache.thrift.TException
+    {
+      send_cancelQuery(session, id);
+      recv_cancelQuery();
+    }
+
+    public void send_cancelQuery(Session session, long id) throws org.apache.thrift.TException
+    {
+      cancelQuery_args args = new cancelQuery_args();
+      args.setSession(session);
+      args.setId(id);
+      sendBase("cancelQuery", args);
     }
 
-    public void recv_optimize() throws BlurException, org.apache.thrift.TException
+    public void recv_cancelQuery() throws BlurException, org.apache.thrift.TException
     {
-      optimize_result result = new optimize_result();
-      receiveBase(result, "optimize");
+      cancelQuery_result result = new cancelQuery_result();
+      receiveBase(result, "cancelQuery");
       if (result.ex != null) {
         throw result.ex;
       }
       return;
     }
 
-    public boolean isInSafeMode(String cluster) throws BlurException, org.apache.thrift.TException
+    public List<Long> queryStatusIdList(Session session) throws BlurException, org.apache.thrift.TException
     {
-      send_isInSafeMode(cluster);
-      return recv_isInSafeMode();
+      send_queryStatusIdList(session);
+      return recv_queryStatusIdList();
     }
 
-    public void send_isInSafeMode(String cluster) throws org.apache.thrift.TException
+    public void send_queryStatusIdList(Session session) throws org.apache.thrift.TException
     {
-      isInSafeMode_args args = new isInSafeMode_args();
-      args.setCluster(cluster);
-      sendBase("isInSafeMode", args);
+      queryStatusIdList_args args = new queryStatusIdList_args();
+      args.setSession(session);
+      sendBase("queryStatusIdList", args);
     }
 
-    public boolean recv_isInSafeMode() throws BlurException, org.apache.thrift.TException
+    public List<Long> recv_queryStatusIdList() throws BlurException, org.apache.thrift.TException
     {
-      isInSafeMode_result result = new isInSafeMode_result();
-      receiveBase(result, "isInSafeMode");
+      queryStatusIdList_result result = new queryStatusIdList_result();
+      receiveBase(result, "queryStatusIdList");
       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, "isInSafeMode failed: unknown result");
+      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "queryStatusIdList failed: unknown result");
     }
 
-    public Map<String,String> configuration() throws BlurException, org.apache.thrift.TException
+    public QueryStatus queryStatus(Session session, long id) throws BlurException, org.apache.thrift.TException
     {
-      send_configuration();
-      return recv_configuration();
+      send_queryStatus(session, id);
+      return recv_queryStatus();
     }
 
-    public void send_configuration() throws org.apache.thrift.TException
+    public void send_queryStatus(Session session, long id) throws org.apache.thrift.TException
     {
-      configuration_args args = new configuration_args();
-      sendBase("configuration", args);
+      queryStatus_args args = new queryStatus_args();
+      args.setSession(session);
+      args.setId(id);
+      sendBase("queryStatus", args);
     }
 
-    public Map<String,String> recv_configuration() throws BlurException, org.apache.thrift.TException
+    public QueryStatus recv_queryStatus() throws BlurException, org.apache.thrift.TException
     {
-      configuration_result result = new configuration_result();
-      receiveBase(result, "configuration");
+      queryStatus_result result = new queryStatus_result();
+      receiveBase(result, "queryStatus");
       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, "configuration failed: unknown result");
+      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "queryStatus failed: unknown result");
     }
 
-  }
-  public static class AsyncClient extends org.apache.thrift.async.TAsyncClient implements AsyncIface {
-    public static class Factory implements org.apache.thrift.async.TAsyncClientFactory<AsyncClient> {
-      private org.apache.thrift.async.TAsyncClientManager clientManager;
-      private org.apache.thrift.protocol.TProtocolFactory protocolFactory;
-      public Factory(org.apache.thrift.async.TAsyncClientManager clientManager, org.apache.thrift.protocol.TProtocolFactory protocolFactory) {
-        this.clientManager = clientManager;
-        this.protocolFactory = protocolFactory;
+    public LiveSchema schema(String table) throws BlurException, org.apache.thrift.TException
+    {
+      send_schema(table);
+      return recv_schema();
+    }
+
+    public void send_schema(String table) throws org.apache.thrift.TException
+    {
+      schema_args args = new schema_args();
+      args.setTable(table);
+      sendBase("schema", args);
+    }
+
+    public LiveSchema recv_schema() throws BlurException, org.apache.thrift.TException
+    {
+      schema_result result = new schema_result();
+      receiveBase(result, "schema");
+      if (result.isSetSuccess()) {
+        return result.success;
       }
-      public AsyncClient getAsyncClient(org.apache.thrift.transport.TNonblockingTransport transport) {
-        return new AsyncClient(protocolFactory, clientManager, transport);
+      if (result.ex != null) {
+        throw result.ex;
       }
+      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "schema failed: unknown result");
     }
 
-    public AsyncClient(org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.async.TAsyncClientManager clientManager, org.apache.thrift.transport.TNonblockingTransport transport) {
-      super(protocolFactory, clientManager, transport);
+    public TableStats tableStats(String table) throws BlurException, org.apache.thrift.TException
+    {
+      send_tableStats(table);
+      return recv_tableStats();
     }
 
-    public void shardClusterList(org.apache.thrift.async.AsyncMethodCallback<shardClusterList_call> resultHandler) throws org.apache.thrift.TException {
-      checkReady();
-      shardClusterList_call method_call = new shardClusterList_call(resultHandler, this, ___protocolFactory, ___transport);
-      this.___currentMethod = method_call;
-      ___manager.call(method_call);
+    public void send_tableStats(String table) throws org.apache.thrift.TException
+    {
+      tableStats_args args = new tableStats_args();
+      args.setTable(table);
+      sendBase("tableStats", args);
     }
 
-    public static class shardClusterList_call extends org.apache.thrift.async.TAsyncMethodCall {
-      public shardClusterList_call(org.apache.thrift.async.AsyncMethodCallback<shardClusterList_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);
+    public TableStats recv_tableStats() throws BlurException, org.apache.thrift.TException
+    {
+      tableStats_result result = new tableStats_result();
+      receiveBase(result, "tableStats");
+      if (result.isSetSuccess()) {
+        return result.success;
       }
-
-      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
-        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("shardClusterList", org.apache.thrift.protocol.TMessageType.CALL, 0));
-        shardClusterList_args args = new shardClusterList_args();
-        args.write(prot);
-        prot.writeMessageEnd();
+      if (result.ex != null) {
+        throw result.ex;
       }
+      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "tableStats failed: unknown result");
+    }
 
-      public List<String> 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_shardClusterList();
+  }
+  public static class AsyncClient extends org.apache.thrift.async.TAsyncClient implements AsyncIface {
+    public static class Factory implements org.apache.thrift.async.TAsyncClientFactory<AsyncClient> {
+      private org.apache.thrift.async.TAsyncClientManager clientManager;
+      private org.apache.thrift.protocol.TProtocolFactory protocolFactory;
+      public Factory(org.apache.thrift.async.TAsyncClientManager clientManager, org.apache.thrift.protocol.TProtocolFactory protocolFactory) {
+        this.clientManager = clientManager;
+        this.protocolFactory = protocolFactory;
       }
+      public AsyncClient getAsyncClient(org.apache.thrift.transport.TNonblockingTransport transport) {
+        return new AsyncClient(protocolFactory, clientManager, transport);
+      }
+    }
+
+    public AsyncClient(org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.async.TAsyncClientManager clientManager, org.apache.thrift.transport.TNonblockingTransport transport) {
+      super(protocolFactory, clientManager, transport);
     }
 
-    public void shardServerList(String cluster, org.apache.thrift.async.AsyncMethodCallback<shardServerList_call> resultHandler) throws org.apache.thrift.TException {
+    public void openReadSession(String table, org.apache.thrift.async.AsyncMethodCallback<openReadSession_call> resultHandler) throws org.apache.thrift.TException {
       checkReady();
-      shardServerList_call method_call = new shardServerList_call(cluster, resultHandler, this, ___protocolFactory, ___transport);
+      openReadSession_call method_call = new openReadSession_call(table, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
-    public static class shardServerList_call extends org.apache.thrift.async.TAsyncMethodCall {
-      private String cluster;
-      public shardServerList_call(String cluster, org.apache.thrift.async.AsyncMethodCallback<shardServerList_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 {
+    public static class openReadSession_call extends org.apache.thrift.async.TAsyncMethodCall {
+      private String table;
+      public openReadSession_call(String table, org.apache.thrift.async.AsyncMethodCallback<openReadSession_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.cluster = cluster;
+        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("shardServerList", org.apache.thrift.protocol.TMessageType.CALL, 0));
-        shardServerList_args args = new shardServerList_args();
-        args.setCluster(cluster);
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("openReadSession", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        openReadSession_args args = new openReadSession_args();
+        args.setTable(table);
         args.write(prot);
         prot.writeMessageEnd();
       }
 
-      public List<String> getResult() throws BlurException, org.apache.thrift.TException {
+      public Session 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_shardServerList();
+        return (new Client(prot)).recv_openReadSession();
       }
     }
 
-    public void controllerServerList(org.apache.thrift.async.AsyncMethodCallback<controllerServerList_call> resultHandler) throws org.apache.thrift.TException {
+    public void search(Session session, QueryArgs queryArgs, org.apache.thrift.async.AsyncMethodCallback<search_call> resultHandler) throws org.apache.thrift.TException {
       checkReady();
-      controllerServerList_call method_call = new controllerServerList_call(resultHandler, this, ___protocolFactory, ___transport);
+      search_call method_call = new search_call(session, queryArgs, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
-    public static class controllerServerList_call extends org.apache.thrift.async.TAsyncMethodCall {
-      public controllerServerList_call(org.apache.thrift.async.AsyncMethodCallback<controllerServerList_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 {
+    public static class search_call extends org.apache.thrift.async.TAsyncMethodCall {
+      private Session session;
+      private QueryArgs queryArgs;
+      public search_call(Session session, QueryArgs queryArgs, org.apache.thrift.async.AsyncMethodCallback<search_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.session = session;
+        this.queryArgs = queryArgs;
       }
 
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
-        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("controllerServerList", org.apache.thrift.protocol.TMessageType.CALL, 0));
-        controllerServerList_args args = new controllerServerList_args();
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("search", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        search_args args = new search_args();
+        args.setSession(session);
+        args.setQueryArgs(queryArgs);
         args.write(prot);
         prot.writeMessageEnd();
       }
 
-      public List<String> getResult() throws BlurException, org.apache.thrift.TException {
+      public List<TopFieldDocs> 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_controllerServerList();
+        return (new Client(prot)).recv_search();
       }
     }
 
-    public void shardServerLayout(String table, org.apache.thrift.async.AsyncMethodCallback<shardServerLayout_call> resultHandler) throws org.apache.thrift.TException {
+    public void doc(Session session, List<Long> docLocations, Set<String> fields, org.apache.thrift.async.AsyncMethodCallback<doc_call> resultHandler) throws org.apache.thrift.TException {
       checkReady();
-      shardServerLayout_call method_call = new shardServerLayout_call(table, resultHandler, this, ___protocolFactory, ___transport);
+      doc_call method_call = new doc_call(session, docLocations, fields, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
-    public static class shardServerLayout_call extends org.apache.thrift.async.TAsyncMethodCall {
-      private String table;
-      public shardServerLayout_call(String table, org.apache.thrift.async.AsyncMethodCallback<shardServerLayout_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 {
+    public static class doc_call extends org.apache.thrift.async.TAsyncMethodCall {
+      private Session session;
+      private List<Long> docLocations;
+      private Set<String> fields;
+      public doc_call(Session session, List<Long> docLocations, Set<String> fields, org.apache.thrift.async.AsyncMethodCallback<doc_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;
+        this.session = session;
+        this.docLocations = docLocations;
+        this.fields = fields;
       }
 
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
-        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("shardServerLayout", org.apache.thrift.protocol.TMessageType.CALL, 0));
-        shardServerLayout_args args = new shardServerLayout_args();
-        args.setTable(table);
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("doc", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        doc_args args = new doc_args();
+        args.setSession(session);
+        args.setDocLocations(docLocations);
+        args.setFields(fields);
         args.write(prot);
         prot.writeMessageEnd();
       }
 
-      public Map<String,String> getResult() throws BlurException, org.apache.thrift.TException {
+      public List<Document> 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_shardServerLayout();
+        return (new Client(prot)).recv_doc();
       }
     }
 
-    public void tableList(org.apache.thrift.async.AsyncMethodCallback<tableList_call> resultHandler) throws org.apache.thrift.TException {
+    public void closeReadSession(Session session, org.apache.thrift.async.AsyncMethodCallback<closeReadSession_call> resultHandler) throws org.apache.thrift.TException {
       checkReady();
-      tableList_call method_call = new tableList_call(resultHandler, this, ___protocolFactory, ___transport);
+      closeReadSession_call method_call = new closeReadSession_call(session, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
-    public static class tableList_call extends org.apache.thrift.async.TAsyncMethodCall {
-      public tableList_call(org.apache.thrift.async.AsyncMethodCallback<tableList_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 {
+    public static class closeReadSession_call extends org.apache.thrift.async.TAsyncMethodCall {
+      private Session session;
+      public closeReadSession_call(Session session, org.apache.thrift.async.AsyncMethodCallback<closeReadSession_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.session = session;
       }
 
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
-        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("tableList", org.apache.thrift.protocol.TMessageType.CALL, 0));
-        tableList_args args = new tableList_args();
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("closeReadSession", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        closeReadSession_args args = new closeReadSession_args();
+        args.setSession(session);
         args.write(prot);
         prot.writeMessageEnd();
       }
 
-      public List<String> getResult() throws BlurException, org.apache.thrift.TException {
+      public void 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_tableList();
+        (new Client(prot)).recv_closeReadSession();
       }
     }
 
-    public void tableListByCluster(String cluster, org.apache.thrift.async.AsyncMethodCallback<tableListByCluster_call> resultHandler) throws org.apache.thrift.TException {
+    public void addDocuments(MutateOptions options, List<Document> documents, org.apache.thrift.async.AsyncMethodCallback<addDocuments_call> resultHandler) throws org.apache.thrift.TException {
       checkReady();
-      tableListByCluster_call method_call = new tableListByCluster_call(cluster, resultHandler, this, ___protocolFactory, ___transport);
+      addDocuments_call method_call = new addDocuments_call(options, documents, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
-    public static class tableListByCluster_call extends org.apache.thrift.async.TAsyncMethodCall {
-      private String cluster;
-      public tableListByCluster_call(String cluster, org.apache.thrift.async.AsyncMethodCallback<tableListByCluster_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 {
+    public static class addDocuments_call extends org.apache.thrift.async.TAsyncMethodCall {
+      private MutateOptions options;
+      private List<Document> documents;
+      public addDocuments_call(MutateOptions options, List<Document> documents, org.apache.thrift.async.AsyncMethodCallback<addDocuments_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.cluster = cluster;
+        this.options = options;
+        this.documents = documents;
       }
 
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
-        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("tableListByCluster", org.apache.thrift.protocol.TMessageType.CALL, 0));
-        tableListByCluster_args args = new tableListByCluster_args();
-        args.setCluster(cluster);
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("addDocuments", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        addDocuments_args args = new addDocuments_args();
+        args.setOptions(options);
+        args.setDocuments(documents);
         args.write(prot);
         prot.writeMessageEnd();
       }
 
-      public List<String> getResult() throws BlurException, org.apache.thrift.TException {
+      public void 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_tableListByCluster();
+        (new Client(prot)).recv_addDocuments();
       }
     }
 
-    public void describe(String table, org.apache.thrift.async.AsyncMethodCallback<describe_call> resultHandler) throws org.apache.thrift.TException {
+    public void deleteDocumentsByQueries(MutateOptions options, List<ByteBuffer> queries, org.apache.thrift.async.AsyncMethodCallback<deleteDocumentsByQueries_call> resultHandler) throws org.apache.thrift.TException {
       checkReady();
-      describe_call method_call = new describe_call(table, resultHandler, this, ___protocolFactory, ___transport);
+      deleteDocumentsByQueries_call method_call = new deleteDocumentsByQueries_call(options, queries, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
-    public static class describe_call extends org.apache.thrift.async.TAsyncMethodCall {
-      private String table;
-      public describe_call(String table, org.apache.thrift.async.AsyncMethodCallback<describe_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 {
+    public static class deleteDocumentsByQueries_call extends org.apache.thrift.async.TAsyncMethodCall {
+      private MutateOptions options;
+      private List<ByteBuffer> queries;
+      public deleteDocumentsByQueries_call(MutateOptions options, List<ByteBuffer> queries, org.apache.thrift.async.AsyncMethodCallback<deleteDocumentsByQueries_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;
+        this.options = options;
+        this.queries = queries;
       }
 
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
-        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("describe", org.apache.thrift.protocol.TMessageType.CALL, 0));
-        describe_args args = new describe_args();
-        args.setTable(table);
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("deleteDocumentsByQueries", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        deleteDocumentsByQueries_args args = new deleteDocumentsByQueries_args();
+        args.setOptions(options);
+        args.setQueries(queries);
         args.write(prot);
         prot.writeMessageEnd();
       }
 
-      public TableDescriptor getResult() throws BlurException, org.apache.thrift.TException {
+      public void 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_describe();
+        (new Client(prot)).recv_deleteDocumentsByQueries();
       }
     }
 
-    public void cancelQuery(String table, long uuid, org.apache.thrift.async.AsyncMethodCallback<cancelQuery_call> resultHandler) throws org.apache.thrift.TException {
+    public void deleteDocuments(MutateOptions options, List<Term> terms, org.apache.thrift.async.AsyncMethodCallback<deleteDocuments_call> resultHandler) throws org.apache.thrift.TException {
       checkReady();
-      cancelQuery_call method_call = new cancelQuery_call(table, uuid, resultHandler, this, ___protocolFactory, ___transport);
+      deleteDocuments_call method_call = new deleteDocuments_call(options, terms, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
-    public static class cancelQuery_call extends org.apache.thrift.async.TAsyncMethodCall {
-      private String table;
-      private long uuid;
-      public cancelQuery_call(String table, long uuid, org.apache.thrift.async.AsyncMethodCallback<cancelQuery_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 {
+    public static class deleteDocuments_call extends org.apache.thrift.async.TAsyncMethodCall {
+      private MutateOptions options;
+      private List<Term> terms;
+      public deleteDocuments_call(MutateOptions options, List<Term> terms, org.apache.thrift.async.AsyncMethodCallback<deleteDocuments_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;
-        this.uuid = uuid;
+        this.options = options;
+        this.terms = terms;
       }
 
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
-        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("cancelQuery", org.apache.thrift.protocol.TMessageType.CALL, 0));
-        cancelQuery_args args = new cancelQuery_args();
-        args.setTable(table);
-        args.setUuid(uuid);
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("deleteDocuments", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        deleteDocuments_args args = new deleteDocuments_args();
+        args.setOptions(options);
+        args.setTerms(terms);
         args.write(prot);
         prot.writeMessageEnd();
       }
@@ -989,170 +1116,164 @@ public class Blur {
         }
         org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
         org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
-        (new Client(prot)).recv_cancelQuery();
+        (new Client(prot)).recv_deleteDocuments();
       }
     }
 
-    public void currentQueries(String table, org.apache.thrift.async.AsyncMethodCallback<currentQueries_call> resultHandler) throws org.apache.thrift.TException {
+    public void updateDocuments(MutateOptions options, List<UpdatePackage> updatePackages, org.apache.thrift.async.AsyncMethodCallback<updateDocuments_call> resultHandler) throws org.apache.thrift.TException {
       checkReady();
-      currentQueries_call method_call = new currentQueries_call(table, resultHandler, this, ___protocolFactory, ___transport);
+      updateDocuments_call method_call = new updateDocuments_call(options, updatePackages, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
-    public static class currentQueries_call extends org.apache.thrift.async.TAsyncMethodCall {
-      private String table;
-      public currentQueries_call(String table, org.apache.thrift.async.AsyncMethodCallback<currentQueries_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 {
+    public static class updateDocuments_call extends org.apache.thrift.async.TAsyncMethodCall {
+      private MutateOptions options;
+      private List<UpdatePackage> updatePackages;
+      public updateDocuments_call(MutateOptions options, List<UpdatePackage> updatePackages, org.apache.thrift.async.AsyncMethodCallback<updateDocuments_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;
+        this.options = options;
+        this.updatePackages = updatePackages;
       }
 
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
-        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("currentQueries", org.apache.thrift.protocol.TMessageType.CALL, 0));
-        currentQueries_args args = new currentQueries_args();
-        args.setTable(table);
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("updateDocuments", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        updateDocuments_args args = new updateDocuments_args();
+        args.setOptions(options);
+        args.setUpdatePackages(updatePackages);
         args.write(prot);
         prot.writeMessageEnd();
       }
 
-      public List<BlurQueryStatus> getResult() throws BlurException, org.apache.thrift.TException {
+      public void 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_currentQueries();
+        (new Client(prot)).recv_updateDocuments();
       }
     }
 
-    public void queryStatusIdList(String table, org.apache.thrift.async.AsyncMethodCallback<queryStatusIdList_call> resultHandler) throws org.apache.thrift.TException {
+    public void serverList(org.apache.thrift.async.AsyncMethodCallback<serverList_call> resultHandler) throws org.apache.thrift.TException {
       checkReady();
-      queryStatusIdList_call method_call = new queryStatusIdList_call(table, resultHandler, this, ___protocolFactory, ___transport);
+      serverList_call method_call = new serverList_call(resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
-    public static class queryStatusIdList_call extends org.apache.thrift.async.TAsyncMethodCall {
-      private String table;
-      public queryStatusIdList_call(String table, org.apache.thrift.async.AsyncMethodCallback<queryStatusIdList_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 {
+    public static class serverList_call extends org.apache.thrift.async.TAsyncMethodCall {
+      public serverList_call(org.apache.thrift.async.AsyncMethodCallback<serverList_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("queryStatusIdList", org.apache.thrift.protocol.TMessageType.CALL, 0));
-        queryStatusIdList_args args = new queryStatusIdList_args();
-        args.setTable(table);
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("serverList", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        serverList_args args = new serverList_args();
         args.write(prot);
         prot.writeMessageEnd();
       }
 
-      public List<Long> getResult() throws BlurException, org.apache.thrift.TException {
+      public List<String> 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_queryStatusIdList();
+        return (new Client(prot)).recv_serverList();
       }
     }
 
-    public void queryStatusById(String table, long uuid, org.apache.thrift.async.AsyncMethodCallback<queryStatusById_call> resultHandler) throws org.apache.thrift.TException {
+    public void serverLayout(String table, String server, org.apache.thrift.async.AsyncMethodCallback<serverLayout_call> resultHandler) throws org.apache.thrift.TException {
       checkReady();
-      queryStatusById_call method_call = new queryStatusById_call(table, uuid, resultHandler, this, ___protocolFactory, ___transport);
+      serverLayout_call method_call = new serverLayout_call(table, server, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
-    public static class queryStatusById_call extends org.apache.thrift.async.TAsyncMethodCall {
+    public static class serverLayout_call extends org.apache.thrift.async.TAsyncMethodCall {
       private String table;
-      private long uuid;
-      public queryStatusById_call(String table, long uuid, org.apache.thrift.async.AsyncMethodCallback<queryStatusById_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+      private String server;
+      public serverLayout_call(String table, String server, org.apache.thrift.async.AsyncMethodCallback<serverLayout_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;
-        this.uuid = uuid;
+        this.server = server;
       }
 
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
-        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("queryStatusById", org.apache.thrift.protocol.TMessageType.CALL, 0));
-        queryStatusById_args args = new queryStatusById_args();
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("serverLayout", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        serverLayout_args args = new serverLayout_args();
         args.setTable(table);
-        args.setUuid(uuid);
+        args.setServer(server);
         args.write(prot);
         prot.writeMessageEnd();
       }
 
-      public BlurQueryStatus getResult() throws BlurException, org.apache.thrift.TException {
+      public List<Integer> 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_queryStatusById();
+        return (new Client(prot)).recv_serverLayout();
       }
     }
 
-    public void schema(String table, org.apache.thrift.async.AsyncMethodCallback<schema_call> resultHandler) throws org.apache.thrift.TException {
+    public void tableList(org.apache.thrift.async.AsyncMethodCallback<tableList_call> resultHandler) throws org.apache.thrift.TException {
       checkReady();
-      schema_call method_call = new schema_call(table, resultHandler, this, ___protocolFactory, ___transport);
+      tableList_call method_call = new tableList_call(resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
-    public static class schema_call extends org.apache.thrift.async.TAsyncMethodCall {
-      private String table;
-      public schema_call(String table, org.apache.thrift.async.AsyncMethodCallback<schema_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 {
+    public static class tableList_call extends org.apache.thrift.async.TAsyncMethodCall {
+      public tableList_call(org.apache.thrift.async.AsyncMethodCallback<tableList_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("schema", org.apache.thrift.protocol.TMessageType.CALL, 0));
-        schema_args args = new schema_args();
-        args.setTable(table);
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("tableList", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        tableList_args args = new tableList_args();
         args.write(prot);
         prot.writeMessageEnd();
       }
 
-      public Schema getResult() throws BlurException, org.apache.thrift.TException {
+      public List<String> 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_schema();
+        return (new Client(prot)).recv_tableList();
       }
     }
 
-    public void tableStats(String table, org.apache.thrift.async.AsyncMethodCallback<tableStats_call> resultHandler) throws org.apache.thrift.TException {
+    public void isInSafeMode(org.apache.thrift.async.AsyncMethodCallback<isInSafeMode_call> resultHandler) throws org.apache.thrift.TException {
       checkReady();
-      tableStats_call method_call = new tableStats_call(table, resultHandler, this, ___protocolFactory, ___transport);
+      isInSafeMode_call method_call = new isInSafeMode_call(resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
-    public static class tableStats_call extends org.apache.thrift.async.TAsyncMethodCall {
-      private String table;
-      public tableStats_call(String table, org.apache.thrift.async.AsyncMethodCallback<tableStats_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 {
+    public static class isInSafeMode_call extends org.apache.thrift.async.TAsyncMethodCall {
+      public isInSafeMode_call(org.apache.thrift.async.AsyncMethodCallback<isInSafeMode_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("tableStats", org.apache.thrift.protocol.TMessageType.CALL, 0));
-        tableStats_args args = new tableStats_args();
-        args.setTable(table);
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("isInSafeMode", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        isInSafeMode_args args = new isInSafeMode_args();
         args.write(prot);
         prot.writeMessageEnd();
       }
 
-      public TableStats getResult() throws BlurException, org.apache.thrift.TException {
+      public boolean 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.getProtocol

<TRUNCATED>

Mime
View raw message