http://git-wip-us.apache.org/repos/asf/sentry/blob/af8ea0ac/sentry-service/sentry-service-api/src/gen/thrift/gen-javabean/org/apache/sentry/api/generic/thrift/SentryGenericPolicyService.java
----------------------------------------------------------------------
diff --git 
a/sentry-service/sentry-service-api/src/gen/thrift/gen-javabean/org/apache/sentry/api/generic/thrift/SentryGenericPolicyService.java
 
b/sentry-service/sentry-service-api/src/gen/thrift/gen-javabean/org/apache/sentry/api/generic/thrift/SentryGenericPolicyService.java
new file mode 100644
index 0000000..d647903
--- /dev/null
+++ 
b/sentry-service/sentry-service-api/src/gen/thrift/gen-javabean/org/apache/sentry/api/generic/thrift/SentryGenericPolicyService.java
@@ -0,0 +1,10416 @@
+/**
+ * Autogenerated by Thrift Compiler (0.9.3)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+package org.apache.sentry.api.generic.thrift;
+
+import org.apache.thrift.scheme.IScheme;
+import org.apache.thrift.scheme.SchemeFactory;
+import org.apache.thrift.scheme.StandardScheme;
+
+import org.apache.thrift.scheme.TupleScheme;
+import org.apache.thrift.protocol.TTupleProtocol;
+import org.apache.thrift.protocol.TProtocolException;
+import org.apache.thrift.EncodingUtils;
+import org.apache.thrift.TException;
+import org.apache.thrift.async.AsyncMethodCallback;
+import org.apache.thrift.server.AbstractNonblockingServer.*;
+import java.util.List;
+import java.util.ArrayList;
+import java.util.Map;
+import java.util.HashMap;
+import java.util.EnumMap;
+import java.util.Set;
+import java.util.HashSet;
+import java.util.EnumSet;
+import java.util.Collections;
+import java.util.BitSet;
+import java.nio.ByteBuffer;
+import java.util.Arrays;
+import javax.annotation.Generated;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)")
+public class SentryGenericPolicyService {
+
+  public interface Iface {
+
+    public TCreateSentryRoleResponse 
create_sentry_role(TCreateSentryRoleRequest request) throws 
org.apache.thrift.TException;
+
+    public TDropSentryRoleResponse drop_sentry_role(TDropSentryRoleRequest 
request) throws org.apache.thrift.TException;
+
+    public TAlterSentryRoleGrantPrivilegeResponse 
alter_sentry_role_grant_privilege(TAlterSentryRoleGrantPrivilegeRequest 
request) throws org.apache.thrift.TException;
+
+    public TAlterSentryRoleRevokePrivilegeResponse 
alter_sentry_role_revoke_privilege(TAlterSentryRoleRevokePrivilegeRequest 
request) throws org.apache.thrift.TException;
+
+    public TAlterSentryRoleAddGroupsResponse 
alter_sentry_role_add_groups(TAlterSentryRoleAddGroupsRequest request) throws 
org.apache.thrift.TException;
+
+    public TAlterSentryRoleDeleteGroupsResponse 
alter_sentry_role_delete_groups(TAlterSentryRoleDeleteGroupsRequest request) 
throws org.apache.thrift.TException;
+
+    public TListSentryRolesResponse 
list_sentry_roles_by_group(TListSentryRolesRequest request) throws 
org.apache.thrift.TException;
+
+    public TListSentryPrivilegesResponse 
list_sentry_privileges_by_role(TListSentryPrivilegesRequest request) throws 
org.apache.thrift.TException;
+
+    public TListSentryPrivilegesForProviderResponse 
list_sentry_privileges_for_provider(TListSentryPrivilegesForProviderRequest 
request) throws org.apache.thrift.TException;
+
+    public TListSentryPrivilegesByAuthResponse 
list_sentry_privileges_by_authorizable(TListSentryPrivilegesByAuthRequest 
request) throws org.apache.thrift.TException;
+
+    public TDropPrivilegesResponse 
drop_sentry_privilege(TDropPrivilegesRequest request) throws 
org.apache.thrift.TException;
+
+    public TRenamePrivilegesResponse 
rename_sentry_privilege(TRenamePrivilegesRequest request) throws 
org.apache.thrift.TException;
+
+  }
+
+  public interface AsyncIface {
+
+    public void create_sentry_role(TCreateSentryRoleRequest request, 
org.apache.thrift.async.AsyncMethodCallback resultHandler) throws 
org.apache.thrift.TException;
+
+    public void drop_sentry_role(TDropSentryRoleRequest request, 
org.apache.thrift.async.AsyncMethodCallback resultHandler) throws 
org.apache.thrift.TException;
+
+    public void 
alter_sentry_role_grant_privilege(TAlterSentryRoleGrantPrivilegeRequest 
request, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws 
org.apache.thrift.TException;
+
+    public void 
alter_sentry_role_revoke_privilege(TAlterSentryRoleRevokePrivilegeRequest 
request, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws 
org.apache.thrift.TException;
+
+    public void alter_sentry_role_add_groups(TAlterSentryRoleAddGroupsRequest 
request, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws 
org.apache.thrift.TException;
+
+    public void 
alter_sentry_role_delete_groups(TAlterSentryRoleDeleteGroupsRequest request, 
org.apache.thrift.async.AsyncMethodCallback resultHandler) throws 
org.apache.thrift.TException;
+
+    public void list_sentry_roles_by_group(TListSentryRolesRequest request, 
org.apache.thrift.async.AsyncMethodCallback resultHandler) throws 
org.apache.thrift.TException;
+
+    public void list_sentry_privileges_by_role(TListSentryPrivilegesRequest 
request, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws 
org.apache.thrift.TException;
+
+    public void 
list_sentry_privileges_for_provider(TListSentryPrivilegesForProviderRequest 
request, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws 
org.apache.thrift.TException;
+
+    public void 
list_sentry_privileges_by_authorizable(TListSentryPrivilegesByAuthRequest 
request, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws 
org.apache.thrift.TException;
+
+    public void drop_sentry_privilege(TDropPrivilegesRequest request, 
org.apache.thrift.async.AsyncMethodCallback resultHandler) throws 
org.apache.thrift.TException;
+
+    public void rename_sentry_privilege(TRenamePrivilegesRequest request, 
org.apache.thrift.async.AsyncMethodCallback resultHandler) throws 
org.apache.thrift.TException;
+
+  }
+
+  public static class Client extends org.apache.thrift.TServiceClient 
implements Iface {
+    public static class Factory implements 
org.apache.thrift.TServiceClientFactory<Client> {
+      public Factory() {}
+      public Client getClient(org.apache.thrift.protocol.TProtocol prot) {
+        return new Client(prot);
+      }
+      public Client getClient(org.apache.thrift.protocol.TProtocol iprot, 
org.apache.thrift.protocol.TProtocol oprot) {
+        return new Client(iprot, oprot);
+      }
+    }
+
+    public Client(org.apache.thrift.protocol.TProtocol prot)
+    {
+      super(prot, prot);
+    }
+
+    public Client(org.apache.thrift.protocol.TProtocol iprot, 
org.apache.thrift.protocol.TProtocol oprot) {
+      super(iprot, oprot);
+    }
+
+    public TCreateSentryRoleResponse 
create_sentry_role(TCreateSentryRoleRequest request) throws 
org.apache.thrift.TException
+    {
+      send_create_sentry_role(request);
+      return recv_create_sentry_role();
+    }
+
+    public void send_create_sentry_role(TCreateSentryRoleRequest request) 
throws org.apache.thrift.TException
+    {
+      create_sentry_role_args args = new create_sentry_role_args();
+      args.setRequest(request);
+      sendBase("create_sentry_role", args);
+    }
+
+    public TCreateSentryRoleResponse recv_create_sentry_role() throws 
org.apache.thrift.TException
+    {
+      create_sentry_role_result result = new create_sentry_role_result();
+      receiveBase(result, "create_sentry_role");
+      if (result.isSetSuccess()) {
+        return result.success;
+      }
+      throw new 
org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT,
 "create_sentry_role failed: unknown result");
+    }
+
+    public TDropSentryRoleResponse drop_sentry_role(TDropSentryRoleRequest 
request) throws org.apache.thrift.TException
+    {
+      send_drop_sentry_role(request);
+      return recv_drop_sentry_role();
+    }
+
+    public void send_drop_sentry_role(TDropSentryRoleRequest request) throws 
org.apache.thrift.TException
+    {
+      drop_sentry_role_args args = new drop_sentry_role_args();
+      args.setRequest(request);
+      sendBase("drop_sentry_role", args);
+    }
+
+    public TDropSentryRoleResponse recv_drop_sentry_role() throws 
org.apache.thrift.TException
+    {
+      drop_sentry_role_result result = new drop_sentry_role_result();
+      receiveBase(result, "drop_sentry_role");
+      if (result.isSetSuccess()) {
+        return result.success;
+      }
+      throw new 
org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT,
 "drop_sentry_role failed: unknown result");
+    }
+
+    public TAlterSentryRoleGrantPrivilegeResponse 
alter_sentry_role_grant_privilege(TAlterSentryRoleGrantPrivilegeRequest 
request) throws org.apache.thrift.TException
+    {
+      send_alter_sentry_role_grant_privilege(request);
+      return recv_alter_sentry_role_grant_privilege();
+    }
+
+    public void 
send_alter_sentry_role_grant_privilege(TAlterSentryRoleGrantPrivilegeRequest 
request) throws org.apache.thrift.TException
+    {
+      alter_sentry_role_grant_privilege_args args = new 
alter_sentry_role_grant_privilege_args();
+      args.setRequest(request);
+      sendBase("alter_sentry_role_grant_privilege", args);
+    }
+
+    public TAlterSentryRoleGrantPrivilegeResponse 
recv_alter_sentry_role_grant_privilege() throws org.apache.thrift.TException
+    {
+      alter_sentry_role_grant_privilege_result result = new 
alter_sentry_role_grant_privilege_result();
+      receiveBase(result, "alter_sentry_role_grant_privilege");
+      if (result.isSetSuccess()) {
+        return result.success;
+      }
+      throw new 
org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT,
 "alter_sentry_role_grant_privilege failed: unknown result");
+    }
+
+    public TAlterSentryRoleRevokePrivilegeResponse 
alter_sentry_role_revoke_privilege(TAlterSentryRoleRevokePrivilegeRequest 
request) throws org.apache.thrift.TException
+    {
+      send_alter_sentry_role_revoke_privilege(request);
+      return recv_alter_sentry_role_revoke_privilege();
+    }
+
+    public void 
send_alter_sentry_role_revoke_privilege(TAlterSentryRoleRevokePrivilegeRequest 
request) throws org.apache.thrift.TException
+    {
+      alter_sentry_role_revoke_privilege_args args = new 
alter_sentry_role_revoke_privilege_args();
+      args.setRequest(request);
+      sendBase("alter_sentry_role_revoke_privilege", args);
+    }
+
+    public TAlterSentryRoleRevokePrivilegeResponse 
recv_alter_sentry_role_revoke_privilege() throws org.apache.thrift.TException
+    {
+      alter_sentry_role_revoke_privilege_result result = new 
alter_sentry_role_revoke_privilege_result();
+      receiveBase(result, "alter_sentry_role_revoke_privilege");
+      if (result.isSetSuccess()) {
+        return result.success;
+      }
+      throw new 
org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT,
 "alter_sentry_role_revoke_privilege failed: unknown result");
+    }
+
+    public TAlterSentryRoleAddGroupsResponse 
alter_sentry_role_add_groups(TAlterSentryRoleAddGroupsRequest request) throws 
org.apache.thrift.TException
+    {
+      send_alter_sentry_role_add_groups(request);
+      return recv_alter_sentry_role_add_groups();
+    }
+
+    public void 
send_alter_sentry_role_add_groups(TAlterSentryRoleAddGroupsRequest request) 
throws org.apache.thrift.TException
+    {
+      alter_sentry_role_add_groups_args args = new 
alter_sentry_role_add_groups_args();
+      args.setRequest(request);
+      sendBase("alter_sentry_role_add_groups", args);
+    }
+
+    public TAlterSentryRoleAddGroupsResponse 
recv_alter_sentry_role_add_groups() throws org.apache.thrift.TException
+    {
+      alter_sentry_role_add_groups_result result = new 
alter_sentry_role_add_groups_result();
+      receiveBase(result, "alter_sentry_role_add_groups");
+      if (result.isSetSuccess()) {
+        return result.success;
+      }
+      throw new 
org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT,
 "alter_sentry_role_add_groups failed: unknown result");
+    }
+
+    public TAlterSentryRoleDeleteGroupsResponse 
alter_sentry_role_delete_groups(TAlterSentryRoleDeleteGroupsRequest request) 
throws org.apache.thrift.TException
+    {
+      send_alter_sentry_role_delete_groups(request);
+      return recv_alter_sentry_role_delete_groups();
+    }
+
+    public void 
send_alter_sentry_role_delete_groups(TAlterSentryRoleDeleteGroupsRequest 
request) throws org.apache.thrift.TException
+    {
+      alter_sentry_role_delete_groups_args args = new 
alter_sentry_role_delete_groups_args();
+      args.setRequest(request);
+      sendBase("alter_sentry_role_delete_groups", args);
+    }
+
+    public TAlterSentryRoleDeleteGroupsResponse 
recv_alter_sentry_role_delete_groups() throws org.apache.thrift.TException
+    {
+      alter_sentry_role_delete_groups_result result = new 
alter_sentry_role_delete_groups_result();
+      receiveBase(result, "alter_sentry_role_delete_groups");
+      if (result.isSetSuccess()) {
+        return result.success;
+      }
+      throw new 
org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT,
 "alter_sentry_role_delete_groups failed: unknown result");
+    }
+
+    public TListSentryRolesResponse 
list_sentry_roles_by_group(TListSentryRolesRequest request) throws 
org.apache.thrift.TException
+    {
+      send_list_sentry_roles_by_group(request);
+      return recv_list_sentry_roles_by_group();
+    }
+
+    public void send_list_sentry_roles_by_group(TListSentryRolesRequest 
request) throws org.apache.thrift.TException
+    {
+      list_sentry_roles_by_group_args args = new 
list_sentry_roles_by_group_args();
+      args.setRequest(request);
+      sendBase("list_sentry_roles_by_group", args);
+    }
+
+    public TListSentryRolesResponse recv_list_sentry_roles_by_group() throws 
org.apache.thrift.TException
+    {
+      list_sentry_roles_by_group_result result = new 
list_sentry_roles_by_group_result();
+      receiveBase(result, "list_sentry_roles_by_group");
+      if (result.isSetSuccess()) {
+        return result.success;
+      }
+      throw new 
org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT,
 "list_sentry_roles_by_group failed: unknown result");
+    }
+
+    public TListSentryPrivilegesResponse 
list_sentry_privileges_by_role(TListSentryPrivilegesRequest request) throws 
org.apache.thrift.TException
+    {
+      send_list_sentry_privileges_by_role(request);
+      return recv_list_sentry_privileges_by_role();
+    }
+
+    public void 
send_list_sentry_privileges_by_role(TListSentryPrivilegesRequest request) 
throws org.apache.thrift.TException
+    {
+      list_sentry_privileges_by_role_args args = new 
list_sentry_privileges_by_role_args();
+      args.setRequest(request);
+      sendBase("list_sentry_privileges_by_role", args);
+    }
+
+    public TListSentryPrivilegesResponse recv_list_sentry_privileges_by_role() 
throws org.apache.thrift.TException
+    {
+      list_sentry_privileges_by_role_result result = new 
list_sentry_privileges_by_role_result();
+      receiveBase(result, "list_sentry_privileges_by_role");
+      if (result.isSetSuccess()) {
+        return result.success;
+      }
+      throw new 
org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT,
 "list_sentry_privileges_by_role failed: unknown result");
+    }
+
+    public TListSentryPrivilegesForProviderResponse 
list_sentry_privileges_for_provider(TListSentryPrivilegesForProviderRequest 
request) throws org.apache.thrift.TException
+    {
+      send_list_sentry_privileges_for_provider(request);
+      return recv_list_sentry_privileges_for_provider();
+    }
+
+    public void 
send_list_sentry_privileges_for_provider(TListSentryPrivilegesForProviderRequest
 request) throws org.apache.thrift.TException
+    {
+      list_sentry_privileges_for_provider_args args = new 
list_sentry_privileges_for_provider_args();
+      args.setRequest(request);
+      sendBase("list_sentry_privileges_for_provider", args);
+    }
+
+    public TListSentryPrivilegesForProviderResponse 
recv_list_sentry_privileges_for_provider() throws org.apache.thrift.TException
+    {
+      list_sentry_privileges_for_provider_result result = new 
list_sentry_privileges_for_provider_result();
+      receiveBase(result, "list_sentry_privileges_for_provider");
+      if (result.isSetSuccess()) {
+        return result.success;
+      }
+      throw new 
org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT,
 "list_sentry_privileges_for_provider failed: unknown result");
+    }
+
+    public TListSentryPrivilegesByAuthResponse 
list_sentry_privileges_by_authorizable(TListSentryPrivilegesByAuthRequest 
request) throws org.apache.thrift.TException
+    {
+      send_list_sentry_privileges_by_authorizable(request);
+      return recv_list_sentry_privileges_by_authorizable();
+    }
+
+    public void 
send_list_sentry_privileges_by_authorizable(TListSentryPrivilegesByAuthRequest 
request) throws org.apache.thrift.TException
+    {
+      list_sentry_privileges_by_authorizable_args args = new 
list_sentry_privileges_by_authorizable_args();
+      args.setRequest(request);
+      sendBase("list_sentry_privileges_by_authorizable", args);
+    }
+
+    public TListSentryPrivilegesByAuthResponse 
recv_list_sentry_privileges_by_authorizable() throws 
org.apache.thrift.TException
+    {
+      list_sentry_privileges_by_authorizable_result result = new 
list_sentry_privileges_by_authorizable_result();
+      receiveBase(result, "list_sentry_privileges_by_authorizable");
+      if (result.isSetSuccess()) {
+        return result.success;
+      }
+      throw new 
org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT,
 "list_sentry_privileges_by_authorizable failed: unknown result");
+    }
+
+    public TDropPrivilegesResponse 
drop_sentry_privilege(TDropPrivilegesRequest request) throws 
org.apache.thrift.TException
+    {
+      send_drop_sentry_privilege(request);
+      return recv_drop_sentry_privilege();
+    }
+
+    public void send_drop_sentry_privilege(TDropPrivilegesRequest request) 
throws org.apache.thrift.TException
+    {
+      drop_sentry_privilege_args args = new drop_sentry_privilege_args();
+      args.setRequest(request);
+      sendBase("drop_sentry_privilege", args);
+    }
+
+    public TDropPrivilegesResponse recv_drop_sentry_privilege() throws 
org.apache.thrift.TException
+    {
+      drop_sentry_privilege_result result = new drop_sentry_privilege_result();
+      receiveBase(result, "drop_sentry_privilege");
+      if (result.isSetSuccess()) {
+        return result.success;
+      }
+      throw new 
org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT,
 "drop_sentry_privilege failed: unknown result");
+    }
+
+    public TRenamePrivilegesResponse 
rename_sentry_privilege(TRenamePrivilegesRequest request) throws 
org.apache.thrift.TException
+    {
+      send_rename_sentry_privilege(request);
+      return recv_rename_sentry_privilege();
+    }
+
+    public void send_rename_sentry_privilege(TRenamePrivilegesRequest request) 
throws org.apache.thrift.TException
+    {
+      rename_sentry_privilege_args args = new rename_sentry_privilege_args();
+      args.setRequest(request);
+      sendBase("rename_sentry_privilege", args);
+    }
+
+    public TRenamePrivilegesResponse recv_rename_sentry_privilege() throws 
org.apache.thrift.TException
+    {
+      rename_sentry_privilege_result result = new 
rename_sentry_privilege_result();
+      receiveBase(result, "rename_sentry_privilege");
+      if (result.isSetSuccess()) {
+        return result.success;
+      }
+      throw new 
org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT,
 "rename_sentry_privilege 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 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 create_sentry_role(TCreateSentryRoleRequest request, 
org.apache.thrift.async.AsyncMethodCallback resultHandler) throws 
org.apache.thrift.TException {
+      checkReady();
+      create_sentry_role_call method_call = new 
create_sentry_role_call(request, resultHandler, this, ___protocolFactory, 
___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    public static class create_sentry_role_call extends 
org.apache.thrift.async.TAsyncMethodCall {
+      private TCreateSentryRoleRequest request;
+      public create_sentry_role_call(TCreateSentryRoleRequest request, 
org.apache.thrift.async.AsyncMethodCallback 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.request = request;
+      }
+
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws 
org.apache.thrift.TException {
+        prot.writeMessageBegin(new 
org.apache.thrift.protocol.TMessage("create_sentry_role", 
org.apache.thrift.protocol.TMessageType.CALL, 0));
+        create_sentry_role_args args = new create_sentry_role_args();
+        args.setRequest(request);
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      public TCreateSentryRoleResponse getResult() throws 
org.apache.thrift.TException {
+        if (getState() != 
org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
+          throw new IllegalStateException("Method call not finished!");
+        }
+        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = 
new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
+        org.apache.thrift.protocol.TProtocol prot = 
client.getProtocolFactory().getProtocol(memoryTransport);
+        return (new Client(prot)).recv_create_sentry_role();
+      }
+    }
+
+    public void drop_sentry_role(TDropSentryRoleRequest request, 
org.apache.thrift.async.AsyncMethodCallback resultHandler) throws 
org.apache.thrift.TException {
+      checkReady();
+      drop_sentry_role_call method_call = new drop_sentry_role_call(request, 
resultHandler, this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    public static class drop_sentry_role_call extends 
org.apache.thrift.async.TAsyncMethodCall {
+      private TDropSentryRoleRequest request;
+      public drop_sentry_role_call(TDropSentryRoleRequest request, 
org.apache.thrift.async.AsyncMethodCallback 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.request = request;
+      }
+
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws 
org.apache.thrift.TException {
+        prot.writeMessageBegin(new 
org.apache.thrift.protocol.TMessage("drop_sentry_role", 
org.apache.thrift.protocol.TMessageType.CALL, 0));
+        drop_sentry_role_args args = new drop_sentry_role_args();
+        args.setRequest(request);
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      public TDropSentryRoleResponse getResult() throws 
org.apache.thrift.TException {
+        if (getState() != 
org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
+          throw new IllegalStateException("Method call not finished!");
+        }
+        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = 
new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
+        org.apache.thrift.protocol.TProtocol prot = 
client.getProtocolFactory().getProtocol(memoryTransport);
+        return (new Client(prot)).recv_drop_sentry_role();
+      }
+    }
+
+    public void 
alter_sentry_role_grant_privilege(TAlterSentryRoleGrantPrivilegeRequest 
request, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws 
org.apache.thrift.TException {
+      checkReady();
+      alter_sentry_role_grant_privilege_call method_call = new 
alter_sentry_role_grant_privilege_call(request, resultHandler, this, 
___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    public static class alter_sentry_role_grant_privilege_call extends 
org.apache.thrift.async.TAsyncMethodCall {
+      private TAlterSentryRoleGrantPrivilegeRequest request;
+      public 
alter_sentry_role_grant_privilege_call(TAlterSentryRoleGrantPrivilegeRequest 
request, org.apache.thrift.async.AsyncMethodCallback 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.request = request;
+      }
+
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws 
org.apache.thrift.TException {
+        prot.writeMessageBegin(new 
org.apache.thrift.protocol.TMessage("alter_sentry_role_grant_privilege", 
org.apache.thrift.protocol.TMessageType.CALL, 0));
+        alter_sentry_role_grant_privilege_args args = new 
alter_sentry_role_grant_privilege_args();
+        args.setRequest(request);
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      public TAlterSentryRoleGrantPrivilegeResponse getResult() throws 
org.apache.thrift.TException {
+        if (getState() != 
org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
+          throw new IllegalStateException("Method call not finished!");
+        }
+        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = 
new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
+        org.apache.thrift.protocol.TProtocol prot = 
client.getProtocolFactory().getProtocol(memoryTransport);
+        return (new Client(prot)).recv_alter_sentry_role_grant_privilege();
+      }
+    }
+
+    public void 
alter_sentry_role_revoke_privilege(TAlterSentryRoleRevokePrivilegeRequest 
request, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws 
org.apache.thrift.TException {
+      checkReady();
+      alter_sentry_role_revoke_privilege_call method_call = new 
alter_sentry_role_revoke_privilege_call(request, resultHandler, this, 
___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    public static class alter_sentry_role_revoke_privilege_call extends 
org.apache.thrift.async.TAsyncMethodCall {
+      private TAlterSentryRoleRevokePrivilegeRequest request;
+      public 
alter_sentry_role_revoke_privilege_call(TAlterSentryRoleRevokePrivilegeRequest 
request, org.apache.thrift.async.AsyncMethodCallback 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.request = request;
+      }
+
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws 
org.apache.thrift.TException {
+        prot.writeMessageBegin(new 
org.apache.thrift.protocol.TMessage("alter_sentry_role_revoke_privilege", 
org.apache.thrift.protocol.TMessageType.CALL, 0));
+        alter_sentry_role_revoke_privilege_args args = new 
alter_sentry_role_revoke_privilege_args();
+        args.setRequest(request);
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      public TAlterSentryRoleRevokePrivilegeResponse getResult() throws 
org.apache.thrift.TException {
+        if (getState() != 
org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
+          throw new IllegalStateException("Method call not finished!");
+        }
+        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = 
new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
+        org.apache.thrift.protocol.TProtocol prot = 
client.getProtocolFactory().getProtocol(memoryTransport);
+        return (new Client(prot)).recv_alter_sentry_role_revoke_privilege();
+      }
+    }
+
+    public void alter_sentry_role_add_groups(TAlterSentryRoleAddGroupsRequest 
request, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws 
org.apache.thrift.TException {
+      checkReady();
+      alter_sentry_role_add_groups_call method_call = new 
alter_sentry_role_add_groups_call(request, resultHandler, this, 
___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    public static class alter_sentry_role_add_groups_call extends 
org.apache.thrift.async.TAsyncMethodCall {
+      private TAlterSentryRoleAddGroupsRequest request;
+      public 
alter_sentry_role_add_groups_call(TAlterSentryRoleAddGroupsRequest request, 
org.apache.thrift.async.AsyncMethodCallback 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.request = request;
+      }
+
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws 
org.apache.thrift.TException {
+        prot.writeMessageBegin(new 
org.apache.thrift.protocol.TMessage("alter_sentry_role_add_groups", 
org.apache.thrift.protocol.TMessageType.CALL, 0));
+        alter_sentry_role_add_groups_args args = new 
alter_sentry_role_add_groups_args();
+        args.setRequest(request);
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      public TAlterSentryRoleAddGroupsResponse getResult() throws 
org.apache.thrift.TException {
+        if (getState() != 
org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
+          throw new IllegalStateException("Method call not finished!");
+        }
+        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = 
new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
+        org.apache.thrift.protocol.TProtocol prot = 
client.getProtocolFactory().getProtocol(memoryTransport);
+        return (new Client(prot)).recv_alter_sentry_role_add_groups();
+      }
+    }
+
+    public void 
alter_sentry_role_delete_groups(TAlterSentryRoleDeleteGroupsRequest request, 
org.apache.thrift.async.AsyncMethodCallback resultHandler) throws 
org.apache.thrift.TException {
+      checkReady();
+      alter_sentry_role_delete_groups_call method_call = new 
alter_sentry_role_delete_groups_call(request, resultHandler, this, 
___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    public static class alter_sentry_role_delete_groups_call extends 
org.apache.thrift.async.TAsyncMethodCall {
+      private TAlterSentryRoleDeleteGroupsRequest request;
+      public 
alter_sentry_role_delete_groups_call(TAlterSentryRoleDeleteGroupsRequest 
request, org.apache.thrift.async.AsyncMethodCallback 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.request = request;
+      }
+
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws 
org.apache.thrift.TException {
+        prot.writeMessageBegin(new 
org.apache.thrift.protocol.TMessage("alter_sentry_role_delete_groups", 
org.apache.thrift.protocol.TMessageType.CALL, 0));
+        alter_sentry_role_delete_groups_args args = new 
alter_sentry_role_delete_groups_args();
+        args.setRequest(request);
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      public TAlterSentryRoleDeleteGroupsResponse getResult() throws 
org.apache.thrift.TException {
+        if (getState() != 
org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
+          throw new IllegalStateException("Method call not finished!");
+        }
+        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = 
new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
+        org.apache.thrift.protocol.TProtocol prot = 
client.getProtocolFactory().getProtocol(memoryTransport);
+        return (new Client(prot)).recv_alter_sentry_role_delete_groups();
+      }
+    }
+
+    public void list_sentry_roles_by_group(TListSentryRolesRequest request, 
org.apache.thrift.async.AsyncMethodCallback resultHandler) throws 
org.apache.thrift.TException {
+      checkReady();
+      list_sentry_roles_by_group_call method_call = new 
list_sentry_roles_by_group_call(request, resultHandler, this, 
___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    public static class list_sentry_roles_by_group_call extends 
org.apache.thrift.async.TAsyncMethodCall {
+      private TListSentryRolesRequest request;
+      public list_sentry_roles_by_group_call(TListSentryRolesRequest request, 
org.apache.thrift.async.AsyncMethodCallback 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.request = request;
+      }
+
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws 
org.apache.thrift.TException {
+        prot.writeMessageBegin(new 
org.apache.thrift.protocol.TMessage("list_sentry_roles_by_group", 
org.apache.thrift.protocol.TMessageType.CALL, 0));
+        list_sentry_roles_by_group_args args = new 
list_sentry_roles_by_group_args();
+        args.setRequest(request);
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      public TListSentryRolesResponse getResult() throws 
org.apache.thrift.TException {
+        if (getState() != 
org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
+          throw new IllegalStateException("Method call not finished!");
+        }
+        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = 
new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
+        org.apache.thrift.protocol.TProtocol prot = 
client.getProtocolFactory().getProtocol(memoryTransport);
+        return (new Client(prot)).recv_list_sentry_roles_by_group();
+      }
+    }
+
+    public void list_sentry_privileges_by_role(TListSentryPrivilegesRequest 
request, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws 
org.apache.thrift.TException {
+      checkReady();
+      list_sentry_privileges_by_role_call method_call = new 
list_sentry_privileges_by_role_call(request, resultHandler, this, 
___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    public static class list_sentry_privileges_by_role_call extends 
org.apache.thrift.async.TAsyncMethodCall {
+      private TListSentryPrivilegesRequest request;
+      public list_sentry_privileges_by_role_call(TListSentryPrivilegesRequest 
request, org.apache.thrift.async.AsyncMethodCallback 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.request = request;
+      }
+
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws 
org.apache.thrift.TException {
+        prot.writeMessageBegin(new 
org.apache.thrift.protocol.TMessage("list_sentry_privileges_by_role", 
org.apache.thrift.protocol.TMessageType.CALL, 0));
+        list_sentry_privileges_by_role_args args = new 
list_sentry_privileges_by_role_args();
+        args.setRequest(request);
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      public TListSentryPrivilegesResponse getResult() throws 
org.apache.thrift.TException {
+        if (getState() != 
org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
+          throw new IllegalStateException("Method call not finished!");
+        }
+        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = 
new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
+        org.apache.thrift.protocol.TProtocol prot = 
client.getProtocolFactory().getProtocol(memoryTransport);
+        return (new Client(prot)).recv_list_sentry_privileges_by_role();
+      }
+    }
+
+    public void 
list_sentry_privileges_for_provider(TListSentryPrivilegesForProviderRequest 
request, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws 
org.apache.thrift.TException {
+      checkReady();
+      list_sentry_privileges_for_provider_call method_call = new 
list_sentry_privileges_for_provider_call(request, resultHandler, this, 
___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    public static class list_sentry_privileges_for_provider_call extends 
org.apache.thrift.async.TAsyncMethodCall {
+      private TListSentryPrivilegesForProviderRequest request;
+      public 
list_sentry_privileges_for_provider_call(TListSentryPrivilegesForProviderRequest
 request, org.apache.thrift.async.AsyncMethodCallback 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.request = request;
+      }
+
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws 
org.apache.thrift.TException {
+        prot.writeMessageBegin(new 
org.apache.thrift.protocol.TMessage("list_sentry_privileges_for_provider", 
org.apache.thrift.protocol.TMessageType.CALL, 0));
+        list_sentry_privileges_for_provider_args args = new 
list_sentry_privileges_for_provider_args();
+        args.setRequest(request);
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      public TListSentryPrivilegesForProviderResponse getResult() throws 
org.apache.thrift.TException {
+        if (getState() != 
org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
+          throw new IllegalStateException("Method call not finished!");
+        }
+        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = 
new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
+        org.apache.thrift.protocol.TProtocol prot = 
client.getProtocolFactory().getProtocol(memoryTransport);
+        return (new Client(prot)).recv_list_sentry_privileges_for_provider();
+      }
+    }
+
+    public void 
list_sentry_privileges_by_authorizable(TListSentryPrivilegesByAuthRequest 
request, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws 
org.apache.thrift.TException {
+      checkReady();
+      list_sentry_privileges_by_authorizable_call method_call = new 
list_sentry_privileges_by_authorizable_call(request, resultHandler, this, 
___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    public static class list_sentry_privileges_by_authorizable_call extends 
org.apache.thrift.async.TAsyncMethodCall {
+      private TListSentryPrivilegesByAuthRequest request;
+      public 
list_sentry_privileges_by_authorizable_call(TListSentryPrivilegesByAuthRequest 
request, org.apache.thrift.async.AsyncMethodCallback 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.request = request;
+      }
+
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws 
org.apache.thrift.TException {
+        prot.writeMessageBegin(new 
org.apache.thrift.protocol.TMessage("list_sentry_privileges_by_authorizable", 
org.apache.thrift.protocol.TMessageType.CALL, 0));
+        list_sentry_privileges_by_authorizable_args args = new 
list_sentry_privileges_by_authorizable_args();
+        args.setRequest(request);
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      public TListSentryPrivilegesByAuthResponse getResult() throws 
org.apache.thrift.TException {
+        if (getState() != 
org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
+          throw new IllegalStateException("Method call not finished!");
+        }
+        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = 
new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
+        org.apache.thrift.protocol.TProtocol prot = 
client.getProtocolFactory().getProtocol(memoryTransport);
+        return (new 
Client(prot)).recv_list_sentry_privileges_by_authorizable();
+      }
+    }
+
+    public void drop_sentry_privilege(TDropPrivilegesRequest request, 
org.apache.thrift.async.AsyncMethodCallback resultHandler) throws 
org.apache.thrift.TException {
+      checkReady();
+      drop_sentry_privilege_call method_call = new 
drop_sentry_privilege_call(request, resultHandler, this, ___protocolFactory, 
___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    public static class drop_sentry_privilege_call extends 
org.apache.thrift.async.TAsyncMethodCall {
+      private TDropPrivilegesRequest request;
+      public drop_sentry_privilege_call(TDropPrivilegesRequest request, 
org.apache.thrift.async.AsyncMethodCallback 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.request = request;
+      }
+
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws 
org.apache.thrift.TException {
+        prot.writeMessageBegin(new 
org.apache.thrift.protocol.TMessage("drop_sentry_privilege", 
org.apache.thrift.protocol.TMessageType.CALL, 0));
+        drop_sentry_privilege_args args = new drop_sentry_privilege_args();
+        args.setRequest(request);
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      public TDropPrivilegesResponse getResult() throws 
org.apache.thrift.TException {
+        if (getState() != 
org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
+          throw new IllegalStateException("Method call not finished!");
+        }
+        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = 
new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
+        org.apache.thrift.protocol.TProtocol prot = 
client.getProtocolFactory().getProtocol(memoryTransport);
+        return (new Client(prot)).recv_drop_sentry_privilege();
+      }
+    }
+
+    public void rename_sentry_privilege(TRenamePrivilegesRequest request, 
org.apache.thrift.async.AsyncMethodCallback resultHandler) throws 
org.apache.thrift.TException {
+      checkReady();
+      rename_sentry_privilege_call method_call = new 
rename_sentry_privilege_call(request, resultHandler, this, ___protocolFactory, 
___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    public static class rename_sentry_privilege_call extends 
org.apache.thrift.async.TAsyncMethodCall {
+      private TRenamePrivilegesRequest request;
+      public rename_sentry_privilege_call(TRenamePrivilegesRequest request, 
org.apache.thrift.async.AsyncMethodCallback 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.request = request;
+      }
+
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws 
org.apache.thrift.TException {
+        prot.writeMessageBegin(new 
org.apache.thrift.protocol.TMessage("rename_sentry_privilege", 
org.apache.thrift.protocol.TMessageType.CALL, 0));
+        rename_sentry_privilege_args args = new rename_sentry_privilege_args();
+        args.setRequest(request);
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      public TRenamePrivilegesResponse getResult() throws 
org.apache.thrift.TException {
+        if (getState() != 
org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
+          throw new IllegalStateException("Method call not finished!");
+        }
+        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = 
new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
+        org.apache.thrift.protocol.TProtocol prot = 
client.getProtocolFactory().getProtocol(memoryTransport);
+        return (new Client(prot)).recv_rename_sentry_privilege();
+      }
+    }
+
+  }
+
+  public static class Processor<I extends Iface> extends 
org.apache.thrift.TBaseProcessor<I> implements org.apache.thrift.TProcessor {
+    private static final Logger LOGGER = 
LoggerFactory.getLogger(Processor.class.getName());
+    public Processor(I iface) {
+      super(iface, getProcessMap(new HashMap<String, 
org.apache.thrift.ProcessFunction<I, ? extends org.apache.thrift.TBase>>()));
+    }
+
+    protected Processor(I iface, Map<String,  
org.apache.thrift.ProcessFunction<I, ? extends  org.apache.thrift.TBase>> 
processMap) {
+      super(iface, getProcessMap(processMap));
+    }
+
+    private static <I extends Iface> Map<String,  
org.apache.thrift.ProcessFunction<I, ? extends  org.apache.thrift.TBase>> 
getProcessMap(Map<String,  org.apache.thrift.ProcessFunction<I, ? extends  
org.apache.thrift.TBase>> processMap) {
+      processMap.put("create_sentry_role", new create_sentry_role());
+      processMap.put("drop_sentry_role", new drop_sentry_role());
+      processMap.put("alter_sentry_role_grant_privilege", new 
alter_sentry_role_grant_privilege());
+      processMap.put("alter_sentry_role_revoke_privilege", new 
alter_sentry_role_revoke_privilege());
+      processMap.put("alter_sentry_role_add_groups", new 
alter_sentry_role_add_groups());
+      processMap.put("alter_sentry_role_delete_groups", new 
alter_sentry_role_delete_groups());
+      processMap.put("list_sentry_roles_by_group", new 
list_sentry_roles_by_group());
+      processMap.put("list_sentry_privileges_by_role", new 
list_sentry_privileges_by_role());
+      processMap.put("list_sentry_privileges_for_provider", new 
list_sentry_privileges_for_provider());
+      processMap.put("list_sentry_privileges_by_authorizable", new 
list_sentry_privileges_by_authorizable());
+      processMap.put("drop_sentry_privilege", new drop_sentry_privilege());
+      processMap.put("rename_sentry_privilege", new rename_sentry_privilege());
+      return processMap;
+    }
+
+    public static class create_sentry_role<I extends Iface> extends 
org.apache.thrift.ProcessFunction<I, create_sentry_role_args> {
+      public create_sentry_role() {
+        super("create_sentry_role");
+      }
+
+      public create_sentry_role_args getEmptyArgsInstance() {
+        return new create_sentry_role_args();
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public create_sentry_role_result getResult(I iface, 
create_sentry_role_args args) throws org.apache.thrift.TException {
+        create_sentry_role_result result = new create_sentry_role_result();
+        result.success = iface.create_sentry_role(args.request);
+        return result;
+      }
+    }
+
+    public static class drop_sentry_role<I extends Iface> extends 
org.apache.thrift.ProcessFunction<I, drop_sentry_role_args> {
+      public drop_sentry_role() {
+        super("drop_sentry_role");
+      }
+
+      public drop_sentry_role_args getEmptyArgsInstance() {
+        return new drop_sentry_role_args();
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public drop_sentry_role_result getResult(I iface, drop_sentry_role_args 
args) throws org.apache.thrift.TException {
+        drop_sentry_role_result result = new drop_sentry_role_result();
+        result.success = iface.drop_sentry_role(args.request);
+        return result;
+      }
+    }
+
+    public static class alter_sentry_role_grant_privilege<I extends Iface> 
extends org.apache.thrift.ProcessFunction<I, 
alter_sentry_role_grant_privilege_args> {
+      public alter_sentry_role_grant_privilege() {
+        super("alter_sentry_role_grant_privilege");
+      }
+
+      public alter_sentry_role_grant_privilege_args getEmptyArgsInstance() {
+        return new alter_sentry_role_grant_privilege_args();
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public alter_sentry_role_grant_privilege_result getResult(I iface, 
alter_sentry_role_grant_privilege_args args) throws 
org.apache.thrift.TException {
+        alter_sentry_role_grant_privilege_result result = new 
alter_sentry_role_grant_privilege_result();
+        result.success = iface.alter_sentry_role_grant_privilege(args.request);
+        return result;
+      }
+    }
+
+    public static class alter_sentry_role_revoke_privilege<I extends Iface> 
extends org.apache.thrift.ProcessFunction<I, 
alter_sentry_role_revoke_privilege_args> {
+      public alter_sentry_role_revoke_privilege() {
+        super("alter_sentry_role_revoke_privilege");
+      }
+
+      public alter_sentry_role_revoke_privilege_args getEmptyArgsInstance() {
+        return new alter_sentry_role_revoke_privilege_args();
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public alter_sentry_role_revoke_privilege_result getResult(I iface, 
alter_sentry_role_revoke_privilege_args args) throws 
org.apache.thrift.TException {
+        alter_sentry_role_revoke_privilege_result result = new 
alter_sentry_role_revoke_privilege_result();
+        result.success = 
iface.alter_sentry_role_revoke_privilege(args.request);
+        return result;
+      }
+    }
+
+    public static class alter_sentry_role_add_groups<I extends Iface> extends 
org.apache.thrift.ProcessFunction<I, alter_sentry_role_add_groups_args> {
+      public alter_sentry_role_add_groups() {
+        super("alter_sentry_role_add_groups");
+      }
+
+      public alter_sentry_role_add_groups_args getEmptyArgsInstance() {
+        return new alter_sentry_role_add_groups_args();
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public alter_sentry_role_add_groups_result getResult(I iface, 
alter_sentry_role_add_groups_args args) throws org.apache.thrift.TException {
+        alter_sentry_role_add_groups_result result = new 
alter_sentry_role_add_groups_result();
+        result.success = iface.alter_sentry_role_add_groups(args.request);
+        return result;
+      }
+    }
+
+    public static class alter_sentry_role_delete_groups<I extends Iface> 
extends org.apache.thrift.ProcessFunction<I, 
alter_sentry_role_delete_groups_args> {
+      public alter_sentry_role_delete_groups() {
+        super("alter_sentry_role_delete_groups");
+      }
+
+      public alter_sentry_role_delete_groups_args getEmptyArgsInstance() {
+        return new alter_sentry_role_delete_groups_args();
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public alter_sentry_role_delete_groups_result getResult(I iface, 
alter_sentry_role_delete_groups_args args) throws org.apache.thrift.TException {
+        alter_sentry_role_delete_groups_result result = new 
alter_sentry_role_delete_groups_result();
+        result.success = iface.alter_sentry_role_delete_groups(args.request);
+        return result;
+      }
+    }
+
+    public static class list_sentry_roles_by_group<I extends Iface> extends 
org.apache.thrift.ProcessFunction<I, list_sentry_roles_by_group_args> {
+      public list_sentry_roles_by_group() {
+        super("list_sentry_roles_by_group");
+      }
+
+      public list_sentry_roles_by_group_args getEmptyArgsInstance() {
+        return new list_sentry_roles_by_group_args();
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public list_sentry_roles_by_group_result getResult(I iface, 
list_sentry_roles_by_group_args args) throws org.apache.thrift.TException {
+        list_sentry_roles_by_group_result result = new 
list_sentry_roles_by_group_result();
+        result.success = iface.list_sentry_roles_by_group(args.request);
+        return result;
+      }
+    }
+
+    public static class list_sentry_privileges_by_role<I extends Iface> 
extends org.apache.thrift.ProcessFunction<I, 
list_sentry_privileges_by_role_args> {
+      public list_sentry_privileges_by_role() {
+        super("list_sentry_privileges_by_role");
+      }
+
+      public list_sentry_privileges_by_role_args getEmptyArgsInstance() {
+        return new list_sentry_privileges_by_role_args();
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public list_sentry_privileges_by_role_result getResult(I iface, 
list_sentry_privileges_by_role_args args) throws org.apache.thrift.TException {
+        list_sentry_privileges_by_role_result result = new 
list_sentry_privileges_by_role_result();
+        result.success = iface.list_sentry_privileges_by_role(args.request);
+        return result;
+      }
+    }
+
+    public static class list_sentry_privileges_for_provider<I extends Iface> 
extends org.apache.thrift.ProcessFunction<I, 
list_sentry_privileges_for_provider_args> {
+      public list_sentry_privileges_for_provider() {
+        super("list_sentry_privileges_for_provider");
+      }
+
+      public list_sentry_privileges_for_provider_args getEmptyArgsInstance() {
+        return new list_sentry_privileges_for_provider_args();
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public list_sentry_privileges_for_provider_result getResult(I iface, 
list_sentry_privileges_for_provider_args args) throws 
org.apache.thrift.TException {
+        list_sentry_privileges_for_provider_result result = new 
list_sentry_privileges_for_provider_result();
+        result.success = 
iface.list_sentry_privileges_for_provider(args.request);
+        return result;
+      }
+    }
+
+    public static class list_sentry_privileges_by_authorizable<I extends 
Iface> extends org.apache.thrift.ProcessFunction<I, 
list_sentry_privileges_by_authorizable_args> {
+      public list_sentry_privileges_by_authorizable() {
+        super("list_sentry_privileges_by_authorizable");
+      }
+
+      public list_sentry_privileges_by_authorizable_args 
getEmptyArgsInstance() {
+        return new list_sentry_privileges_by_authorizable_args();
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public list_sentry_privileges_by_authorizable_result getResult(I iface, 
list_sentry_privileges_by_authorizable_args args) throws 
org.apache.thrift.TException {
+        list_sentry_privileges_by_authorizable_result result = new 
list_sentry_privileges_by_authorizable_result();
+        result.success = 
iface.list_sentry_privileges_by_authorizable(args.request);
+        return result;
+      }
+    }
+
+    public static class drop_sentry_privilege<I extends Iface> extends 
org.apache.thrift.ProcessFunction<I, drop_sentry_privilege_args> {
+      public drop_sentry_privilege() {
+        super("drop_sentry_privilege");
+      }
+
+      public drop_sentry_privilege_args getEmptyArgsInstance() {
+        return new drop_sentry_privilege_args();
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public drop_sentry_privilege_result getResult(I iface, 
drop_sentry_privilege_args args) throws org.apache.thrift.TException {
+        drop_sentry_privilege_result result = new 
drop_sentry_privilege_result();
+        result.success = iface.drop_sentry_privilege(args.request);
+        return result;
+      }
+    }
+
+    public static class rename_sentry_privilege<I extends Iface> extends 
org.apache.thrift.ProcessFunction<I, rename_sentry_privilege_args> {
+      public rename_sentry_privilege() {
+        super("rename_sentry_privilege");
+      }
+
+      public rename_sentry_privilege_args getEmptyArgsInstance() {
+        return new rename_sentry_privilege_args();
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public rename_sentry_privilege_result getResult(I iface, 
rename_sentry_privilege_args args) throws org.apache.thrift.TException {
+        rename_sentry_privilege_result result = new 
rename_sentry_privilege_result();
+        result.success = iface.rename_sentry_privilege(args.request);
+        return result;
+      }
+    }
+
+  }
+
+  public static class AsyncProcessor<I extends AsyncIface> extends 
org.apache.thrift.TBaseAsyncProcessor<I> {
+    private static final Logger LOGGER = 
LoggerFactory.getLogger(AsyncProcessor.class.getName());
+    public AsyncProcessor(I iface) {
+      super(iface, getProcessMap(new HashMap<String, 
org.apache.thrift.AsyncProcessFunction<I, ? extends org.apache.thrift.TBase, 
?>>()));
+    }
+
+    protected AsyncProcessor(I iface, Map<String,  
org.apache.thrift.AsyncProcessFunction<I, ? extends  org.apache.thrift.TBase, 
?>> processMap) {
+      super(iface, getProcessMap(processMap));
+    }
+
+    private static <I extends AsyncIface> Map<String,  
org.apache.thrift.AsyncProcessFunction<I, ? extends  
org.apache.thrift.TBase,?>> getProcessMap(Map<String,  
org.apache.thrift.AsyncProcessFunction<I, ? extends  org.apache.thrift.TBase, 
?>> processMap) {
+      processMap.put("create_sentry_role", new create_sentry_role());
+      processMap.put("drop_sentry_role", new drop_sentry_role());
+      processMap.put("alter_sentry_role_grant_privilege", new 
alter_sentry_role_grant_privilege());
+      processMap.put("alter_sentry_role_revoke_privilege", new 
alter_sentry_role_revoke_privilege());
+      processMap.put("alter_sentry_role_add_groups", new 
alter_sentry_role_add_groups());
+      processMap.put("alter_sentry_role_delete_groups", new 
alter_sentry_role_delete_groups());
+      processMap.put("list_sentry_roles_by_group", new 
list_sentry_roles_by_group());
+      processMap.put("list_sentry_privileges_by_role", new 
list_sentry_privileges_by_role());
+      processMap.put("list_sentry_privileges_for_provider", new 
list_sentry_privileges_for_provider());
+      processMap.put("list_sentry_privileges_by_authorizable", new 
list_sentry_privileges_by_authorizable());
+      processMap.put("drop_sentry_privilege", new drop_sentry_privilege());
+      processMap.put("rename_sentry_privilege", new rename_sentry_privilege());
+      return processMap;
+    }
+
+    public static class create_sentry_role<I extends AsyncIface> extends 
org.apache.thrift.AsyncProcessFunction<I, create_sentry_role_args, 
TCreateSentryRoleResponse> {
+      public create_sentry_role() {
+        super("create_sentry_role");
+      }
+
+      public create_sentry_role_args getEmptyArgsInstance() {
+        return new create_sentry_role_args();
+      }
+
+      public AsyncMethodCallback<TCreateSentryRoleResponse> 
getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+        final org.apache.thrift.AsyncProcessFunction fcall = this;
+        return new AsyncMethodCallback<TCreateSentryRoleResponse>() { 
+          public void onComplete(TCreateSentryRoleResponse o) {
+            create_sentry_role_result result = new create_sentry_role_result();
+            result.success = o;
+            try {
+              fcall.sendResponse(fb,result, 
org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+              return;
+            } catch (Exception e) {
+              LOGGER.error("Exception writing to internal frame buffer", e);
+            }
+            fb.close();
+          }
+          public void onError(Exception e) {
+            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
+            org.apache.thrift.TBase msg;
+            create_sentry_role_result result = new create_sentry_role_result();
+            {
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = (org.apache.thrift.TBase)new 
org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR,
 e.getMessage());
+            }
+            try {
+              fcall.sendResponse(fb,msg,msgType,seqid);
+              return;
+            } catch (Exception ex) {
+              LOGGER.error("Exception writing to internal frame buffer", ex);
+            }
+            fb.close();
+          }
+        };
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public void start(I iface, create_sentry_role_args args, 
org.apache.thrift.async.AsyncMethodCallback<TCreateSentryRoleResponse> 
resultHandler) throws TException {
+        iface.create_sentry_role(args.request,resultHandler);
+      }
+    }
+
+    public static class drop_sentry_role<I extends AsyncIface> extends 
org.apache.thrift.AsyncProcessFunction<I, drop_sentry_role_args, 
TDropSentryRoleResponse> {
+      public drop_sentry_role() {
+        super("drop_sentry_role");
+      }
+
+      public drop_sentry_role_args getEmptyArgsInstance() {
+        return new drop_sentry_role_args();
+      }
+
+      public AsyncMethodCallback<TDropSentryRoleResponse> 
getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+        final org.apache.thrift.AsyncProcessFunction fcall = this;
+        return new AsyncMethodCallback<TDropSentryRoleResponse>() { 
+          public void onComplete(TDropSentryRoleResponse o) {
+            drop_sentry_role_result result = new drop_sentry_role_result();
+            result.success = o;
+            try {
+              fcall.sendResponse(fb,result, 
org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+              return;
+            } catch (Exception e) {
+              LOGGER.error("Exception writing to internal frame buffer", e);
+            }
+            fb.close();
+          }
+          public void onError(Exception e) {
+            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
+            org.apache.thrift.TBase msg;
+            drop_sentry_role_result result = new drop_sentry_role_result();
+            {
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = (org.apache.thrift.TBase)new 
org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR,
 e.getMessage());
+            }
+            try {
+              fcall.sendResponse(fb,msg,msgType,seqid);
+              return;
+            } catch (Exception ex) {
+              LOGGER.error("Exception writing to internal frame buffer", ex);
+            }
+            fb.close();
+          }
+        };
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public void start(I iface, drop_sentry_role_args args, 
org.apache.thrift.async.AsyncMethodCallback<TDropSentryRoleResponse> 
resultHandler) throws TException {
+        iface.drop_sentry_role(args.request,resultHandler);
+      }
+    }
+
+    public static class alter_sentry_role_grant_privilege<I extends 
AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, 
alter_sentry_role_grant_privilege_args, TAlterSentryRoleGrantPrivilegeResponse> 
{
+      public alter_sentry_role_grant_privilege() {
+        super("alter_sentry_role_grant_privilege");
+      }
+
+      public alter_sentry_role_grant_privilege_args getEmptyArgsInstance() {
+        return new alter_sentry_role_grant_privilege_args();
+      }
+
+      public AsyncMethodCallback<TAlterSentryRoleGrantPrivilegeResponse> 
getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+        final org.apache.thrift.AsyncProcessFunction fcall = this;
+        return new 
AsyncMethodCallback<TAlterSentryRoleGrantPrivilegeResponse>() { 
+          public void onComplete(TAlterSentryRoleGrantPrivilegeResponse o) {
+            alter_sentry_role_grant_privilege_result result = new 
alter_sentry_role_grant_privilege_result();
+            result.success = o;
+            try {
+              fcall.sendResponse(fb,result, 
org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+              return;
+            } catch (Exception e) {
+              LOGGER.error("Exception writing to internal frame buffer", e);
+            }
+            fb.close();
+          }
+          public void onError(Exception e) {
+            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
+            org.apache.thrift.TBase msg;
+            alter_sentry_role_grant_privilege_result result = new 
alter_sentry_role_grant_privilege_result();
+            {
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = (org.apache.thrift.TBase)new 
org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR,
 e.getMessage());
+            }
+            try {
+              fcall.sendResponse(fb,msg,msgType,seqid);
+              return;
+            } catch (Exception ex) {
+              LOGGER.error("Exception writing to internal frame buffer", ex);
+            }
+            fb.close();
+          }
+        };
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public void start(I iface, alter_sentry_role_grant_privilege_args args, 
org.apache.thrift.async.AsyncMethodCallback<TAlterSentryRoleGrantPrivilegeResponse>
 resultHandler) throws TException {
+        iface.alter_sentry_role_grant_privilege(args.request,resultHandler);
+      }
+    }
+
+    public static class alter_sentry_role_revoke_privilege<I extends 
AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, 
alter_sentry_role_revoke_privilege_args, 
TAlterSentryRoleRevokePrivilegeResponse> {
+      public alter_sentry_role_revoke_privilege() {
+        super("alter_sentry_role_revoke_privilege");
+      }
+
+      public alter_sentry_role_revoke_privilege_args getEmptyArgsInstance() {
+        return new alter_sentry_role_revoke_privilege_args();
+      }
+
+      public AsyncMethodCallback<TAlterSentryRoleRevokePrivilegeResponse> 
getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+        final org.apache.thrift.AsyncProcessFunction fcall = this;
+        return new 
AsyncMethodCallback<TAlterSentryRoleRevokePrivilegeResponse>() { 
+          public void onComplete(TAlterSentryRoleRevokePrivilegeResponse o) {
+            alter_sentry_role_revoke_privilege_result result = new 
alter_sentry_role_revoke_privilege_result();
+            result.success = o;
+            try {
+              fcall.sendResponse(fb,result, 
org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+              return;
+            } catch (Exception e) {
+              LOGGER.error("Exception writing to internal frame buffer", e);
+            }
+            fb.close();
+          }
+          public void onError(Exception e) {
+            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
+            org.apache.thrift.TBase msg;
+            alter_sentry_role_revoke_privilege_result result = new 
alter_sentry_role_revoke_privilege_result();
+            {
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = (org.apache.thrift.TBase)new 
org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR,
 e.getMessage());
+            }
+            try {
+              fcall.sendResponse(fb,msg,msgType,seqid);
+              return;
+            } catch (Exception ex) {
+              LOGGER.error("Exception writing to internal frame buffer", ex);
+            }
+            fb.close();
+          }
+        };
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public void start(I iface, alter_sentry_role_revoke_privilege_args args, 
org.apache.thrift.async.AsyncMethodCallback<TAlterSentryRoleRevokePrivilegeResponse>
 resultHandler) throws TException {
+        iface.alter_sentry_role_revoke_privilege(args.request,resultHandler);
+      }
+    }
+
+    public static class alter_sentry_role_add_groups<I extends AsyncIface> 
extends org.apache.thrift.AsyncProcessFunction<I, 
alter_sentry_role_add_groups_args, TAlterSentryRoleAddGroupsResponse> {
+      public alter_sentry_role_add_groups() {
+        super("alter_sentry_role_add_groups");
+      }
+
+      public alter_sentry_role_add_groups_args getEmptyArgsInstance() {
+        return new alter_sentry_role_add_groups_args();
+      }
+
+      public AsyncMethodCallback<TAlterSentryRoleAddGroupsResponse> 
getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+        final org.apache.thrift.AsyncProcessFunction fcall = this;
+        return new AsyncMethodCallback<TAlterSentryRoleAddGroupsResponse>() { 
+          public void onComplete(TAlterSentryRoleAddGroupsResponse o) {
+            alter_sentry_role_add_groups_result result = new 
alter_sentry_role_add_groups_result();
+            result.success = o;
+            try {
+              fcall.sendResponse(fb,result, 
org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+              return;
+            } catch (Exception e) {
+              LOGGER.error("Exception writing to internal frame buffer", e);
+            }
+            fb.close();
+          }
+          public void onError(Exception e) {
+            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
+            org.apache.thrift.TBase msg;
+            alter_sentry_role_add_groups_result result = new 
alter_sentry_role_add_groups_result();
+            {
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = (org.apache.thrift.TBase)new 
org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR,
 e.getMessage());
+            }
+            try {
+              fcall.sendResponse(fb,msg,msgType,seqid);
+              return;
+            } catch (Exception ex) {
+              LOGGER.error("Exception writing to internal frame buffer", ex);
+            }
+            fb.close();
+          }
+        };
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public void start(I iface, alter_sentry_role_add_groups_args args, 
org.apache.thrift.async.AsyncMethodCallback<TAlterSentryRoleAddGroupsResponse> 
resultHandler) throws TException {
+        iface.alter_sentry_role_add_groups(args.request,resultHandler);
+      }
+    }
+
+    public static class alter_sentry_role_delete_groups<I extends AsyncIface> 
extends org.apache.thrift.AsyncProcessFunction<I, 
alter_sentry_role_delete_groups_args, TAlterSentryRoleDeleteGroupsResponse> {
+      public alter_sentry_role_delete_groups() {
+        super("alter_sentry_role_delete_groups");
+      }
+
+      public alter_sentry_role_delete_groups_args getEmptyArgsInstance() {
+        return new alter_sentry_role_delete_groups_args();
+      }
+
+      public AsyncMethodCallback<TAlterSentryRoleDeleteGroupsResponse> 
getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+        final org.apache.thrift.AsyncProcessFunction fcall = this;
+        return new AsyncMethodCallback<TAlterSentryRoleDeleteGroupsResponse>() 
{ 
+          public void onComplete(TAlterSentryRoleDeleteGroupsResponse o) {
+            alter_sentry_role_delete_groups_result result = new 
alter_sentry_role_delete_groups_result();
+            result.success = o;
+            try {
+              fcall.sendResponse(fb,result, 
org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+              return;
+            } catch (Exception e) {
+              LOGGER.error("Exception writing to internal frame buffer", e);
+            }
+            fb.close();
+          }
+          public void onError(Exception e) {
+            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
+            org.apache.thrift.TBase msg;
+            alter_sentry_role_delete_groups_result result = new 
alter_sentry_role_delete_groups_result();
+            {
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = (org.apache.thrift.TBase)new 
org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR,
 e.getMessage());
+            }
+            try {
+              fcall.sendResponse(fb,msg,msgType,seqid);
+              return;
+            } catch (Exception ex) {
+              LOGGER.error("Exception writing to internal frame buffer", ex);
+            }
+            fb.close();
+          }
+        };
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public void start(I iface, alter_sentry_role_delete_groups_args args, 
org.apache.thrift.async.AsyncMethodCallback<TAlterSentryRoleDeleteGroupsResponse>
 resultHandler) throws TException {
+        iface.alter_sentry_role_delete_groups(args.request,resultHandler);
+      }
+    }
+
+    public static class list_sentry_roles_by_group<I extends AsyncIface> 
extends org.apache.thrift.AsyncProcessFunction<I, 
list_sentry_roles_by_group_args, TListSentryRolesResponse> {
+      public list_sentry_roles_by_group() {
+        super("list_sentry_roles_by_group");
+      }
+
+      public list_sentry_roles_by_group_args getEmptyArgsInstance() {
+        return new list_sentry_roles_by_group_args();
+      }
+
+      public AsyncMethodCallback<TListSentryRolesResponse> 
getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+        final org.apache.thrift.AsyncProcessFunction fcall = this;
+        return new AsyncMethodCallback<TListSentryRolesResponse>() { 
+          public void onComplete(TListSentryRolesResponse o) {
+            list_sentry_roles_by_group_result result = new 
list_sentry_roles_by_group_result();
+            result.success = o;
+            try {
+              fcall.sendResponse(fb,result, 
org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+              return;
+            } catch (Exception e) {
+              LOGGER.error("Exception writing to internal frame buffer", e);
+            }
+            fb.close();
+          }
+          public void onError(Exception e) {
+            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
+            org.apache.thrift.TBase msg;
+            list_sentry_roles_by_group_result result = new 
list_sentry_roles_by_group_result();
+            {
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = (org.apache.thrift.TBase)new 
org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR,
 e.getMessage());
+            }
+            try {
+              fcall.sendResponse(fb,msg,msgType,seqid);
+              return;
+            } catch (Exception ex) {
+              LOGGER.error("Exception writing to internal frame buffer", ex);
+            }
+            fb.close();
+          }
+        };
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public void start(I iface, list_sentry_roles_by_group_args args, 
org.apache.thrift.async.AsyncMethodCallback<TListSentryRolesResponse> 
resultHandler) throws TException {
+        iface.list_sentry_roles_by_group(args.request,resultHandler);
+      }
+    }
+
+    public static class list_sentry_privileges_by_role<I extends AsyncIface> 
extends org.apache.thrift.AsyncProcessFunction<I, 
list_sentry_privileges_by_role_args, TListSentryPrivilegesResponse> {
+      public list_sentry_privileges_by_role() {
+        super("list_sentry_privileges_by_role");
+      }
+
+      public list_sentry_privileges_by_role_args getEmptyArgsInstance() {
+        return new list_sentry_privileges_by_role_args();
+      }
+
+      public AsyncMethodCallback<TListSentryPrivilegesResponse> 
getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+        final org.apache.thrift.AsyncProcessFunction fcall = this;
+        return new AsyncMethodCallback<TListSentryPrivilegesResponse>() { 
+          public void onComplete(TListSentryPrivilegesResponse o) {
+            list_sentry_privileges_by_role_result result = new 
list_sentry_privileges_by_role_result();
+            result.success = o;
+            try {
+              fcall.sendResponse(fb,result, 
org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+              return;
+            } catch (Exception e) {
+              LOGGER.error("Exception writing to internal frame buffer", e);
+            }
+            fb.close();
+          }
+          public void onError(Exception e) {
+            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
+            org.apache.thrift.TBase msg;
+            list_sentry_privileges_by_role_result result = new 
list_sentry_privileges_by_role_result();
+            {
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = (org.apache.thrift.TBase)new 
org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR,
 e.getMessage());
+            }
+            try {
+              fcall.sendResponse(fb,msg,msgType,seqid);
+              return;
+            } catch (Exception ex) {
+              LOGGER.error("Exception writing to internal frame buffer", ex);
+            }
+            fb.close();
+          }
+        };
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public void start(I iface, list_sentry_privileges_by_role_args args, 
org.apache.thrift.async.AsyncMethodCallback<TListSentryPrivilegesResponse> 
resultHandler) throws TException {
+        iface.list_sentry_privileges_by_role(args.request,resultHandler);
+      }
+    }
+
+    public static class list_sentry_privileges_for_provider<I extends 
AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, 
list_sentry_privileges_for_provider_args, 
TListSentryPrivilegesForProviderResponse> {
+      public list_sentry_privileges_for_provider() {
+        super("list_sentry_privileges_for_provider");
+      }
+
+      public list_sentry_privileges_for_provider_args getEmptyArgsInstance() {
+        return new list_sentry_privileges_for_provider_args();
+      }
+
+      public AsyncMethodCallback<TListSentryPrivilegesForProviderResponse> 
getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+        final org.apache.thrift.AsyncProcessFunction fcall = this;
+        return new 
AsyncMethodCallback<TListSentryPrivilegesForProviderResponse>() { 
+          public void onComplete(TListSentryPrivilegesForProviderResponse o) {
+            list_sentry_privileges_for_provider_result result = new 
list_sentry_privileges_for_provider_result();
+            result.success = o;
+            try {
+              fcall.sendResponse(fb,result, 
org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+              return;
+            } catch (Exception e) {
+              LOGGER.error("Exception writing to internal frame buffer", e);
+            }
+            fb.close();
+          }
+          public void onError(Exception e) {
+            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
+            org.apache.thrift.TBase msg;
+            list_sentry_privileges_for_provider_result result = new 
list_sentry_privileges_for_provider_result();
+            {
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = (org.apache.thrift.TBase)new 
org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR,
 e.getMessage());
+            }
+            try {
+              fcall.sendResponse(fb,msg,msgType,seqid);
+              return;
+            } catch (Exception ex) {
+              LOGGER.error("Exception writing to internal frame buffer", ex);
+            }
+            fb.close();
+          }
+        };
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public void start(I iface, list_sentry_privileges_for_provider_args 
args, 
org.apache.thrift.async.AsyncMethodCallback<TListSentryPrivilegesForProviderResponse>
 resultHandler) throws TException {
+        iface.list_sentry_privileges_for_provider(args.request,resultHandler);
+      }
+    }
+
+    public static class list_sentry_privileges_by_authorizable<I extends 
AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, 
list_sentry_privileges_by_authorizable_args, 
TListSentryPrivilegesByAuthResponse> {
+      public list_sentry_privileges_by_authorizable() {
+        super("list_sentry_privileges_by_authorizable");
+      }
+
+      public list_sentry_privileges_by_authorizable_args 
getEmptyArgsInstance() {
+        return new list_sentry_privileges_by_authorizable_args();
+      }
+
+      public AsyncMethodCallback<TListSentryPrivilegesByAuthResponse> 
getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+        final org.apache.thrift.AsyncProcessFunction fcall = this;
+        return new AsyncMethodCallback<TListSentryPrivilegesByAuthResponse>() 
{ 
+          public void onComplete(TListSentryPrivilegesByAuthResponse o) {
+            list_sentry_privileges_by_authorizable_result result = new 
list_sentry_privileges_by_authorizable_result();
+            result.success = o;
+            try {
+              fcall.sendResponse(fb,result, 
org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+              return;
+            } catch (Exception e) {
+              LOGGER.error("Exception writing to internal frame buffer", e);
+            }
+            fb.close();
+          }
+          public void onError(Exception e) {
+            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
+            org.apache.thrift.TBase msg;
+            list_sentry_privileges_by_authorizable_result result = new 
list_sentry_privileges_by_authorizable_result();
+            {
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = (org.apache.thrift.TBase)new 
org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR,
 e.getMessage());
+            }
+            try {
+              fcall.sendResponse(fb,msg,msgType,seqid);
+              return;
+            } catch (Exception ex) {
+              LOGGER.error("Exception writing to internal frame buffer", ex);
+            }
+            fb.close();
+          }
+        };
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public void start(I iface, list_sentry_privileges_by_authorizable_args 
args, 
org.apache.thrift.async.AsyncMethodCallback<TListSentryPrivilegesByAuthResponse>
 resultHandler) throws TException {
+        
iface.list_sentry_privileges_by_authorizable(args.request,resultHandler);
+      }
+    }
+
+    public static class drop_sentry_privilege<I extends AsyncIface> extends 
org.apache.thrift.AsyncProcessFunction<I, drop_sentry_privilege_args, 
TDropPrivilegesResponse> {
+      public drop_sentry_privilege() {
+        super("drop_sentry_privilege");
+      }
+
+      public drop_sentry_privilege_args getEmptyArgsInstance() {
+        return new drop_sentry_privilege_args();
+      }
+
+      public AsyncMethodCallback<TDropPrivilegesResponse> 
getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+        final org.apache.thrift.AsyncProcessFunction fcall = this;
+        return new AsyncMethodCallback<TDropPrivilegesResponse>() { 
+          public void onComplete(TDropPrivilegesResponse o) {
+            drop_sentry_privilege_result result = new 
drop_sentry_privilege_result();
+            result.success = o;
+            try {
+              fcall.sendResponse(fb,result, 
org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+              return;
+            } catch (Exception e) {
+              LOGGER.error("Exception writing to internal frame buffer", e);
+            }
+            fb.close();
+          }
+          public void onError(Exception e) {
+            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
+            org.apache.thrift.TBase msg;
+            drop_sentry_privilege_result result = new 
drop_sentry_privilege_result();
+            {
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = (org.apache.thrift.TBase)new 
org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR,
 e.getMessage());
+            }
+            try {
+              fcall.sendResponse(fb,msg,msgType,seqid);
+              return;
+            } catch (Exception ex) {
+              LOGGER.error("Exception writing to internal frame buffer", ex);
+            }
+            fb.close();
+          }
+        };
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public void start(I iface, drop_sentry_privilege_args args, 
org.apache.thrift.async.AsyncMethodCallback<TDropPrivilegesResponse> 
resultHandler) throws TException {
+        iface.drop_sentry_privilege(args.request,resultHandler);
+      }
+    }
+
+    public static class rename_sentry_privilege<I extends AsyncIface> extends 
org.apache.thrift.AsyncProcessFunction<I, rename_sentry_privilege_args, 
TRenamePrivilegesResponse> {
+      public rename_sentry_privilege() {
+        super("rename_sentry_privilege");
+      }
+
+      public rename_sentry_privilege_args getEmptyArgsInstance() {
+        return new rename_sentry_privilege_args();
+      }
+
+      public AsyncMethodCallback<TRenamePrivilegesResponse> 
getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+        final org.apache.thrift.AsyncProcessFunction fcall = this;
+        return new AsyncMethodCallback<TRenamePrivilegesResponse>() { 
+          public void onComplete(TRenamePrivilegesResponse o) {
+            rename_sentry_privilege_result result = new 
rename_sentry_privilege_result();
+            result.success = o;
+            try {
+              fcall.sendResponse(fb,result, 
org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+              return;
+            } catch (Exception e) {
+              LOGGER.error("Exception writing to internal frame buffer", e);
+            }
+            fb.close();
+          }
+          public void onError(Exception e) {
+            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
+            org.apache.thrift.TBase msg;
+            rename_sentry_privilege_result result = new 
rename_sentry_privilege_result();
+            {
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = (org.apache.thrift.

<TRUNCATED>

Reply via email to