[jira] [Updated] (HBASE-11589) AccessControlException handling in HBase rpc server and client. AccessControlException should be a not retriable exception

2014-08-08 Thread Andrew Purtell (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-11589?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Andrew Purtell updated HBASE-11589:
---

Description: 
RPC server does not handle the AccessControlException thrown by 
authorizeConnection failure properly and in return sends IOException to the 
HBase client. 
Ultimately the client does retries and gets RetriesExhaustedException but does 
not getting any link or information or stack trace about AccessControlException.

In short summary, upon inspection of RPCServer.java, it seems 
for the Listener, the Reader read code as below does not handle 
AccessControlException
{noformat}
void doRead(….
…..
…..
  try {
count = c.readAndProcess(); // This readAndProcess method throws 
AccessControlException from processOneRpc(byte[] buf) which is not handled ?
  } catch (InterruptedException ieo) {
throw ieo;
  } catch (Exception e) {
LOG.warn(getName() + : count of bytes read:  + count, e);
count = -1; //so that the (count  0) block is executed
  }
{noformat}

Below is the client logs if authorizeConnection throws AccessControlException:


2014-07-24 19:40:58,768 INFO  [main] 
client.HConnectionManager$HConnectionImplementation: getMaster attempt 7 of 7 
failed; no more retrying.
com.google.protobuf.ServiceException: java.io.IOException: Call to 
host-10-18-40-101/10.18.40.101:6 failed on local exception: 
java.io.EOFException
at 
org.apache.hadoop.hbase.ipc.RpcClient.callBlockingMethod(RpcClient.java:1674)
at 
org.apache.hadoop.hbase.ipc.RpcClient$BlockingRpcChannelImplementation.callBlockingMethod(RpcClient.java:1715)
at 
org.apache.hadoop.hbase.protobuf.generated.MasterProtos$MasterService$BlockingStub.isMasterRunning(MasterProtos.java:42561)
at 
org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation$MasterServiceStubMaker.isMasterRunning(HConnectionManager.java:1688)
at 
org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation$StubMaker.makeStubNoRetries(HConnectionManager.java:1597)
at 
org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation$StubMaker.makeStub(HConnectionManager.java:1623)
at 
org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation$MasterServiceStubMaker.makeStub(HConnectionManager.java:1677)
at 
org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.getKeepAliveMasterService(HConnectionManager.java:1885)
[...]
Caused by: java.io.IOException: Call to host-10-18-40-101/10.18.40.101:6 
failed on local exception: java.io.EOFException
at 
org.apache.hadoop.hbase.ipc.RpcClient.wrapException(RpcClient.java:1485)
at org.apache.hadoop.hbase.ipc.RpcClient.call(RpcClient.java:1457)
at 
org.apache.hadoop.hbase.ipc.RpcClient.callBlockingMethod(RpcClient.java:1657)
... 254 more
Caused by: java.io.EOFException
at java.io.DataInputStream.readInt(DataInputStream.java:375)
at 
org.apache.hadoop.hbase.ipc.RpcClient$Connection.readResponse(RpcClient.java:1072)
at 
org.apache.hadoop.hbase.ipc.RpcClient$Connection.run(RpcClient.java:728)


  was:
RPC server does not handle the AccessControlException thrown by 
authorizeConnection failure properly and in return sends IOException to the 
HBase client. 
Ultimately the client does retries and gets RetriesExhaustedException but does 
not getting any link or information or stack trace about AccessControlException.

In short summary, upon inspection of RPCServer.java, it seems 
for the Listener, the Reader read code as below does not handle 
AccessControlException
{noformat}
void doRead(….
…..
…..
  try {
count = c.readAndProcess(); // This readAndProcess method throws 
AccessControlException from processOneRpc(byte[] buf) which is not handled ?
  } catch (InterruptedException ieo) {
throw ieo;
  } catch (Exception e) {
LOG.warn(getName() + : count of bytes read:  + count, e);
count = -1; //so that the (count  0) block is executed
  }
{noformat}

Below is the client logs if authorizeConnection throws AccessControlException:


2014-07-24 19:40:58,768 INFO  [main] 
client.HConnectionManager$HConnectionImplementation: getMaster attempt 7 of 7 
failed; no more retrying.
com.google.protobuf.ServiceException: java.io.IOException: Call to 
host-10-18-40-101/10.18.40.101:6 failed on local exception: 
java.io.EOFException
at 
org.apache.hadoop.hbase.ipc.RpcClient.callBlockingMethod(RpcClient.java:1674)
at 
org.apache.hadoop.hbase.ipc.RpcClient$BlockingRpcChannelImplementation.callBlockingMethod(RpcClient.java:1715)
at 
org.apache.hadoop.hbase.protobuf.generated.MasterProtos$MasterService$BlockingStub.isMasterRunning(MasterProtos.java:42561)
at 

[jira] [Updated] (HBASE-11589) AccessControlException handling in HBase rpc server and client. AccessControlException should be a not retriable exception

2014-08-08 Thread Andrew Purtell (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-11589?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Andrew Purtell updated HBASE-11589:
---

Fix Version/s: 0.98.6
   2.0.0
   0.99.0

 AccessControlException handling in HBase rpc server and client. 
 AccessControlException should be a not retriable exception
 --

 Key: HBASE-11589
 URL: https://issues.apache.org/jira/browse/HBASE-11589
 Project: HBase
  Issue Type: Bug
  Components: IPC/RPC
Affects Versions: 0.98.3
 Environment: SLES 11 SP1
Reporter: Kashif J S
Assignee: Qiang Tian
 Fix For: 0.99.0, 2.0.0, 0.98.6

 Attachments: hbase-11589-master-v1.patch, 
 hbase-11589-master-v2.patch, hbase-11589-master.patch


 RPC server does not handle the AccessControlException thrown by 
 authorizeConnection failure properly and in return sends IOException to the 
 HBase client. 
 Ultimately the client does retries and gets RetriesExhaustedException but 
 does not getting any link or information or stack trace about 
 AccessControlException.
 In short summary, upon inspection of RPCServer.java, it seems 
 for the Listener, the Reader read code as below does not handle 
 AccessControlException
 {noformat}
 void doRead(….
 …..
 …..
   try {
 count = c.readAndProcess(); // This readAndProcess method throws 
 AccessControlException from processOneRpc(byte[] buf) which is not handled ?
   } catch (InterruptedException ieo) {
 throw ieo;
   } catch (Exception e) {
 LOG.warn(getName() + : count of bytes read:  + count, e);
 count = -1; //so that the (count  0) block is executed
   }
 {noformat}
 Below is the client logs if authorizeConnection throws AccessControlException:
 2014-07-24 19:40:58,768 INFO  [main] 
 client.HConnectionManager$HConnectionImplementation: getMaster attempt 7 of 7 
 failed; no more retrying.
 com.google.protobuf.ServiceException: java.io.IOException: Call to 
 host-10-18-40-101/10.18.40.101:6 failed on local exception: 
 java.io.EOFException
 at 
 org.apache.hadoop.hbase.ipc.RpcClient.callBlockingMethod(RpcClient.java:1674)
 at 
 org.apache.hadoop.hbase.ipc.RpcClient$BlockingRpcChannelImplementation.callBlockingMethod(RpcClient.java:1715)
 at 
 org.apache.hadoop.hbase.protobuf.generated.MasterProtos$MasterService$BlockingStub.isMasterRunning(MasterProtos.java:42561)
 at 
 org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation$MasterServiceStubMaker.isMasterRunning(HConnectionManager.java:1688)
 at 
 org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation$StubMaker.makeStubNoRetries(HConnectionManager.java:1597)
 at 
 org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation$StubMaker.makeStub(HConnectionManager.java:1623)
 at 
 org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation$MasterServiceStubMaker.makeStub(HConnectionManager.java:1677)
 at 
 org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.getKeepAliveMasterService(HConnectionManager.java:1885)
 [...]
 Caused by: java.io.IOException: Call to host-10-18-40-101/10.18.40.101:6 
 failed on local exception: java.io.EOFException
 at 
 org.apache.hadoop.hbase.ipc.RpcClient.wrapException(RpcClient.java:1485)
 at org.apache.hadoop.hbase.ipc.RpcClient.call(RpcClient.java:1457)
 at 
 org.apache.hadoop.hbase.ipc.RpcClient.callBlockingMethod(RpcClient.java:1657)
 ... 254 more
 Caused by: java.io.EOFException
 at java.io.DataInputStream.readInt(DataInputStream.java:375)
 at 
 org.apache.hadoop.hbase.ipc.RpcClient$Connection.readResponse(RpcClient.java:1072)
 at 
 org.apache.hadoop.hbase.ipc.RpcClient$Connection.run(RpcClient.java:728)



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Updated] (HBASE-11589) AccessControlException handling in HBase rpc server and client. AccessControlException should be a not retriable exception

2014-08-05 Thread Qiang Tian (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-11589?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Qiang Tian updated HBASE-11589:
---

Status: Patch Available  (was: Open)

 AccessControlException handling in HBase rpc server and client. 
 AccessControlException should be a not retriable exception
 --

 Key: HBASE-11589
 URL: https://issues.apache.org/jira/browse/HBASE-11589
 Project: HBase
  Issue Type: Bug
  Components: IPC/RPC
Affects Versions: 0.98.3
 Environment: SLES 11 SP1
Reporter: Kashif J S
Assignee: Qiang Tian
 Attachments: hbase-11589-master-v1.patch, hbase-11589-master.patch


 RPC server does not handle the AccessControlException thrown by 
 authorizeConnection failure properly and in return sends IOException to the 
 HBase client. 
 Ultimately the client does retries and gets RetriesExhaustedException but 
 does not getting any link or information or stack trace about 
 AccessControlException.
 In short summary, upon inspection of RPCServer.java, it seems 
 for the Listener, the Reader read code as below does not handle 
 AccessControlException
 {noformat}
 void doRead(….
 …..
 …..
   try {
 count = c.readAndProcess(); // This readAndProcess method throws 
 AccessControlException from processOneRpc(byte[] buf) which is not handled ?
   } catch (InterruptedException ieo) {
 throw ieo;
   } catch (Exception e) {
 LOG.warn(getName() + : count of bytes read:  + count, e);
 count = -1; //so that the (count  0) block is executed
   }
 {noformat}
 Below is the client logs if authorizeConnection throws AccessControlException:
 2014-07-24 19:40:58,768 INFO  [main] 
 client.HConnectionManager$HConnectionImplementation: getMaster attempt 7 of 7 
 failed; no more retrying.
 com.google.protobuf.ServiceException: java.io.IOException: Call to 
 host-10-18-40-101/10.18.40.101:6 failed on local exception: 
 java.io.EOFException
 at 
 org.apache.hadoop.hbase.ipc.RpcClient.callBlockingMethod(RpcClient.java:1674)
 at 
 org.apache.hadoop.hbase.ipc.RpcClient$BlockingRpcChannelImplementation.callBlockingMethod(RpcClient.java:1715)
 at 
 org.apache.hadoop.hbase.protobuf.generated.MasterProtos$MasterService$BlockingStub.isMasterRunning(MasterProtos.java:42561)
 at 
 org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation$MasterServiceStubMaker.isMasterRunning(HConnectionManager.java:1688)
 at 
 org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation$StubMaker.makeStubNoRetries(HConnectionManager.java:1597)
 at 
 org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation$StubMaker.makeStub(HConnectionManager.java:1623)
 at 
 org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation$MasterServiceStubMaker.makeStub(HConnectionManager.java:1677)
 at 
 org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.getKeepAliveMasterService(HConnectionManager.java:1885)
 at 
 org.apache.hadoop.hbase.client.HBaseAdmin$MasterCallable.prepare(HBaseAdmin.java:3302)
 at 
 org.apache.hadoop.hbase.client.RpcRetryingCaller.callWithRetries(RpcRetryingCaller.java:113)
 at 
 org.apache.hadoop.hbase.client.RpcRetryingCaller.callWithRetries(RpcRetryingCaller.java:90)
 at 
 org.apache.hadoop.hbase.client.HBaseAdmin.executeCallable(HBaseAdmin.java:3329)
 at 
 org.apache.hadoop.hbase.client.HBaseAdmin.createTableAsync(HBaseAdmin.java:605)
 at 
 org.apache.hadoop.hbase.client.HBaseAdmin.createTable(HBaseAdmin.java:496)
 at 
 org.apache.hadoop.hbase.client.HBaseAdmin.createTable(HBaseAdmin.java:430)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at 
 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
 at 
 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 at java.lang.reflect.Method.invoke(Method.java:597)
 at 
 org.jruby.javasupport.JavaMethod.invokeDirectWithExceptionHandling(JavaMethod.java:450)
 at org.jruby.javasupport.JavaMethod.invokeDirect(JavaMethod.java:311)
 at 
 org.jruby.java.invokers.InstanceMethodInvoker.call(InstanceMethodInvoker.java:59)
 at 
 org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:312)
 at 
 org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:169)
 at org.jruby.ast.CallOneArgNode.interpret(CallOneArgNode.java:57)
 at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
 at org.jruby.ast.IfNode.interpret(IfNode.java:117)

[jira] [Updated] (HBASE-11589) AccessControlException handling in HBase rpc server and client. AccessControlException should be a not retriable exception

2014-08-05 Thread Qiang Tian (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-11589?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Qiang Tian updated HBASE-11589:
---

Status: Open  (was: Patch Available)

 AccessControlException handling in HBase rpc server and client. 
 AccessControlException should be a not retriable exception
 --

 Key: HBASE-11589
 URL: https://issues.apache.org/jira/browse/HBASE-11589
 Project: HBase
  Issue Type: Bug
  Components: IPC/RPC
Affects Versions: 0.98.3
 Environment: SLES 11 SP1
Reporter: Kashif J S
Assignee: Qiang Tian
 Attachments: hbase-11589-master-v1.patch, hbase-11589-master.patch


 RPC server does not handle the AccessControlException thrown by 
 authorizeConnection failure properly and in return sends IOException to the 
 HBase client. 
 Ultimately the client does retries and gets RetriesExhaustedException but 
 does not getting any link or information or stack trace about 
 AccessControlException.
 In short summary, upon inspection of RPCServer.java, it seems 
 for the Listener, the Reader read code as below does not handle 
 AccessControlException
 {noformat}
 void doRead(….
 …..
 …..
   try {
 count = c.readAndProcess(); // This readAndProcess method throws 
 AccessControlException from processOneRpc(byte[] buf) which is not handled ?
   } catch (InterruptedException ieo) {
 throw ieo;
   } catch (Exception e) {
 LOG.warn(getName() + : count of bytes read:  + count, e);
 count = -1; //so that the (count  0) block is executed
   }
 {noformat}
 Below is the client logs if authorizeConnection throws AccessControlException:
 2014-07-24 19:40:58,768 INFO  [main] 
 client.HConnectionManager$HConnectionImplementation: getMaster attempt 7 of 7 
 failed; no more retrying.
 com.google.protobuf.ServiceException: java.io.IOException: Call to 
 host-10-18-40-101/10.18.40.101:6 failed on local exception: 
 java.io.EOFException
 at 
 org.apache.hadoop.hbase.ipc.RpcClient.callBlockingMethod(RpcClient.java:1674)
 at 
 org.apache.hadoop.hbase.ipc.RpcClient$BlockingRpcChannelImplementation.callBlockingMethod(RpcClient.java:1715)
 at 
 org.apache.hadoop.hbase.protobuf.generated.MasterProtos$MasterService$BlockingStub.isMasterRunning(MasterProtos.java:42561)
 at 
 org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation$MasterServiceStubMaker.isMasterRunning(HConnectionManager.java:1688)
 at 
 org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation$StubMaker.makeStubNoRetries(HConnectionManager.java:1597)
 at 
 org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation$StubMaker.makeStub(HConnectionManager.java:1623)
 at 
 org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation$MasterServiceStubMaker.makeStub(HConnectionManager.java:1677)
 at 
 org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.getKeepAliveMasterService(HConnectionManager.java:1885)
 at 
 org.apache.hadoop.hbase.client.HBaseAdmin$MasterCallable.prepare(HBaseAdmin.java:3302)
 at 
 org.apache.hadoop.hbase.client.RpcRetryingCaller.callWithRetries(RpcRetryingCaller.java:113)
 at 
 org.apache.hadoop.hbase.client.RpcRetryingCaller.callWithRetries(RpcRetryingCaller.java:90)
 at 
 org.apache.hadoop.hbase.client.HBaseAdmin.executeCallable(HBaseAdmin.java:3329)
 at 
 org.apache.hadoop.hbase.client.HBaseAdmin.createTableAsync(HBaseAdmin.java:605)
 at 
 org.apache.hadoop.hbase.client.HBaseAdmin.createTable(HBaseAdmin.java:496)
 at 
 org.apache.hadoop.hbase.client.HBaseAdmin.createTable(HBaseAdmin.java:430)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at 
 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
 at 
 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 at java.lang.reflect.Method.invoke(Method.java:597)
 at 
 org.jruby.javasupport.JavaMethod.invokeDirectWithExceptionHandling(JavaMethod.java:450)
 at org.jruby.javasupport.JavaMethod.invokeDirect(JavaMethod.java:311)
 at 
 org.jruby.java.invokers.InstanceMethodInvoker.call(InstanceMethodInvoker.java:59)
 at 
 org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:312)
 at 
 org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:169)
 at org.jruby.ast.CallOneArgNode.interpret(CallOneArgNode.java:57)
 at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
 at org.jruby.ast.IfNode.interpret(IfNode.java:117)

[jira] [Updated] (HBASE-11589) AccessControlException handling in HBase rpc server and client. AccessControlException should be a not retriable exception

2014-08-05 Thread Qiang Tian (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-11589?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Qiang Tian updated HBASE-11589:
---

Status: Patch Available  (was: Open)

 AccessControlException handling in HBase rpc server and client. 
 AccessControlException should be a not retriable exception
 --

 Key: HBASE-11589
 URL: https://issues.apache.org/jira/browse/HBASE-11589
 Project: HBase
  Issue Type: Bug
  Components: IPC/RPC
Affects Versions: 0.98.3
 Environment: SLES 11 SP1
Reporter: Kashif J S
Assignee: Qiang Tian
 Attachments: hbase-11589-master-v1.patch, 
 hbase-11589-master-v2.patch, hbase-11589-master.patch


 RPC server does not handle the AccessControlException thrown by 
 authorizeConnection failure properly and in return sends IOException to the 
 HBase client. 
 Ultimately the client does retries and gets RetriesExhaustedException but 
 does not getting any link or information or stack trace about 
 AccessControlException.
 In short summary, upon inspection of RPCServer.java, it seems 
 for the Listener, the Reader read code as below does not handle 
 AccessControlException
 {noformat}
 void doRead(….
 …..
 …..
   try {
 count = c.readAndProcess(); // This readAndProcess method throws 
 AccessControlException from processOneRpc(byte[] buf) which is not handled ?
   } catch (InterruptedException ieo) {
 throw ieo;
   } catch (Exception e) {
 LOG.warn(getName() + : count of bytes read:  + count, e);
 count = -1; //so that the (count  0) block is executed
   }
 {noformat}
 Below is the client logs if authorizeConnection throws AccessControlException:
 2014-07-24 19:40:58,768 INFO  [main] 
 client.HConnectionManager$HConnectionImplementation: getMaster attempt 7 of 7 
 failed; no more retrying.
 com.google.protobuf.ServiceException: java.io.IOException: Call to 
 host-10-18-40-101/10.18.40.101:6 failed on local exception: 
 java.io.EOFException
 at 
 org.apache.hadoop.hbase.ipc.RpcClient.callBlockingMethod(RpcClient.java:1674)
 at 
 org.apache.hadoop.hbase.ipc.RpcClient$BlockingRpcChannelImplementation.callBlockingMethod(RpcClient.java:1715)
 at 
 org.apache.hadoop.hbase.protobuf.generated.MasterProtos$MasterService$BlockingStub.isMasterRunning(MasterProtos.java:42561)
 at 
 org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation$MasterServiceStubMaker.isMasterRunning(HConnectionManager.java:1688)
 at 
 org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation$StubMaker.makeStubNoRetries(HConnectionManager.java:1597)
 at 
 org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation$StubMaker.makeStub(HConnectionManager.java:1623)
 at 
 org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation$MasterServiceStubMaker.makeStub(HConnectionManager.java:1677)
 at 
 org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.getKeepAliveMasterService(HConnectionManager.java:1885)
 at 
 org.apache.hadoop.hbase.client.HBaseAdmin$MasterCallable.prepare(HBaseAdmin.java:3302)
 at 
 org.apache.hadoop.hbase.client.RpcRetryingCaller.callWithRetries(RpcRetryingCaller.java:113)
 at 
 org.apache.hadoop.hbase.client.RpcRetryingCaller.callWithRetries(RpcRetryingCaller.java:90)
 at 
 org.apache.hadoop.hbase.client.HBaseAdmin.executeCallable(HBaseAdmin.java:3329)
 at 
 org.apache.hadoop.hbase.client.HBaseAdmin.createTableAsync(HBaseAdmin.java:605)
 at 
 org.apache.hadoop.hbase.client.HBaseAdmin.createTable(HBaseAdmin.java:496)
 at 
 org.apache.hadoop.hbase.client.HBaseAdmin.createTable(HBaseAdmin.java:430)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at 
 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
 at 
 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 at java.lang.reflect.Method.invoke(Method.java:597)
 at 
 org.jruby.javasupport.JavaMethod.invokeDirectWithExceptionHandling(JavaMethod.java:450)
 at org.jruby.javasupport.JavaMethod.invokeDirect(JavaMethod.java:311)
 at 
 org.jruby.java.invokers.InstanceMethodInvoker.call(InstanceMethodInvoker.java:59)
 at 
 org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:312)
 at 
 org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:169)
 at org.jruby.ast.CallOneArgNode.interpret(CallOneArgNode.java:57)
 at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
 at 

[jira] [Updated] (HBASE-11589) AccessControlException handling in HBase rpc server and client. AccessControlException should be a not retriable exception

2014-08-05 Thread Qiang Tian (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-11589?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Qiang Tian updated HBASE-11589:
---

Attachment: hbase-11589-master-v2.patch

Thanks [~apurtell],  upload new patch.

 AccessControlException handling in HBase rpc server and client. 
 AccessControlException should be a not retriable exception
 --

 Key: HBASE-11589
 URL: https://issues.apache.org/jira/browse/HBASE-11589
 Project: HBase
  Issue Type: Bug
  Components: IPC/RPC
Affects Versions: 0.98.3
 Environment: SLES 11 SP1
Reporter: Kashif J S
Assignee: Qiang Tian
 Attachments: hbase-11589-master-v1.patch, 
 hbase-11589-master-v2.patch, hbase-11589-master.patch


 RPC server does not handle the AccessControlException thrown by 
 authorizeConnection failure properly and in return sends IOException to the 
 HBase client. 
 Ultimately the client does retries and gets RetriesExhaustedException but 
 does not getting any link or information or stack trace about 
 AccessControlException.
 In short summary, upon inspection of RPCServer.java, it seems 
 for the Listener, the Reader read code as below does not handle 
 AccessControlException
 {noformat}
 void doRead(….
 …..
 …..
   try {
 count = c.readAndProcess(); // This readAndProcess method throws 
 AccessControlException from processOneRpc(byte[] buf) which is not handled ?
   } catch (InterruptedException ieo) {
 throw ieo;
   } catch (Exception e) {
 LOG.warn(getName() + : count of bytes read:  + count, e);
 count = -1; //so that the (count  0) block is executed
   }
 {noformat}
 Below is the client logs if authorizeConnection throws AccessControlException:
 2014-07-24 19:40:58,768 INFO  [main] 
 client.HConnectionManager$HConnectionImplementation: getMaster attempt 7 of 7 
 failed; no more retrying.
 com.google.protobuf.ServiceException: java.io.IOException: Call to 
 host-10-18-40-101/10.18.40.101:6 failed on local exception: 
 java.io.EOFException
 at 
 org.apache.hadoop.hbase.ipc.RpcClient.callBlockingMethod(RpcClient.java:1674)
 at 
 org.apache.hadoop.hbase.ipc.RpcClient$BlockingRpcChannelImplementation.callBlockingMethod(RpcClient.java:1715)
 at 
 org.apache.hadoop.hbase.protobuf.generated.MasterProtos$MasterService$BlockingStub.isMasterRunning(MasterProtos.java:42561)
 at 
 org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation$MasterServiceStubMaker.isMasterRunning(HConnectionManager.java:1688)
 at 
 org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation$StubMaker.makeStubNoRetries(HConnectionManager.java:1597)
 at 
 org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation$StubMaker.makeStub(HConnectionManager.java:1623)
 at 
 org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation$MasterServiceStubMaker.makeStub(HConnectionManager.java:1677)
 at 
 org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.getKeepAliveMasterService(HConnectionManager.java:1885)
 at 
 org.apache.hadoop.hbase.client.HBaseAdmin$MasterCallable.prepare(HBaseAdmin.java:3302)
 at 
 org.apache.hadoop.hbase.client.RpcRetryingCaller.callWithRetries(RpcRetryingCaller.java:113)
 at 
 org.apache.hadoop.hbase.client.RpcRetryingCaller.callWithRetries(RpcRetryingCaller.java:90)
 at 
 org.apache.hadoop.hbase.client.HBaseAdmin.executeCallable(HBaseAdmin.java:3329)
 at 
 org.apache.hadoop.hbase.client.HBaseAdmin.createTableAsync(HBaseAdmin.java:605)
 at 
 org.apache.hadoop.hbase.client.HBaseAdmin.createTable(HBaseAdmin.java:496)
 at 
 org.apache.hadoop.hbase.client.HBaseAdmin.createTable(HBaseAdmin.java:430)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at 
 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
 at 
 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 at java.lang.reflect.Method.invoke(Method.java:597)
 at 
 org.jruby.javasupport.JavaMethod.invokeDirectWithExceptionHandling(JavaMethod.java:450)
 at org.jruby.javasupport.JavaMethod.invokeDirect(JavaMethod.java:311)
 at 
 org.jruby.java.invokers.InstanceMethodInvoker.call(InstanceMethodInvoker.java:59)
 at 
 org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:312)
 at 
 org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:169)
 at org.jruby.ast.CallOneArgNode.interpret(CallOneArgNode.java:57)
 at 

[jira] [Updated] (HBASE-11589) AccessControlException handling in HBase rpc server and client. AccessControlException should be a not retriable exception

2014-08-04 Thread Qiang Tian (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-11589?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Qiang Tian updated HBASE-11589:
---

Attachment: hbase-11589-master.patch

just make the AccessControlException not retriable.

 AccessControlException handling in HBase rpc server and client. 
 AccessControlException should be a not retriable exception
 --

 Key: HBASE-11589
 URL: https://issues.apache.org/jira/browse/HBASE-11589
 Project: HBase
  Issue Type: Bug
  Components: IPC/RPC
Affects Versions: 0.98.3
 Environment: SLES 11 SP1
Reporter: Kashif J S
 Attachments: hbase-11589-master.patch


 RPC server does not handle the AccessControlException thrown by 
 authorizeConnection failure properly and in return sends IOException to the 
 HBase client. 
 Ultimately the client does retries and gets RetriesExhaustedException but 
 does not getting any link or information or stack trace about 
 AccessControlException.
 In short summary, upon inspection of RPCServer.java, it seems 
 for the Listener, the Reader read code as below does not handle 
 AccessControlException
 {noformat}
 void doRead(….
 …..
 …..
   try {
 count = c.readAndProcess(); // This readAndProcess method throws 
 AccessControlException from processOneRpc(byte[] buf) which is not handled ?
   } catch (InterruptedException ieo) {
 throw ieo;
   } catch (Exception e) {
 LOG.warn(getName() + : count of bytes read:  + count, e);
 count = -1; //so that the (count  0) block is executed
   }
 {noformat}
 Below is the client logs if authorizeConnection throws AccessControlException:
 2014-07-24 19:40:58,768 INFO  [main] 
 client.HConnectionManager$HConnectionImplementation: getMaster attempt 7 of 7 
 failed; no more retrying.
 com.google.protobuf.ServiceException: java.io.IOException: Call to 
 host-10-18-40-101/10.18.40.101:6 failed on local exception: 
 java.io.EOFException
 at 
 org.apache.hadoop.hbase.ipc.RpcClient.callBlockingMethod(RpcClient.java:1674)
 at 
 org.apache.hadoop.hbase.ipc.RpcClient$BlockingRpcChannelImplementation.callBlockingMethod(RpcClient.java:1715)
 at 
 org.apache.hadoop.hbase.protobuf.generated.MasterProtos$MasterService$BlockingStub.isMasterRunning(MasterProtos.java:42561)
 at 
 org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation$MasterServiceStubMaker.isMasterRunning(HConnectionManager.java:1688)
 at 
 org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation$StubMaker.makeStubNoRetries(HConnectionManager.java:1597)
 at 
 org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation$StubMaker.makeStub(HConnectionManager.java:1623)
 at 
 org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation$MasterServiceStubMaker.makeStub(HConnectionManager.java:1677)
 at 
 org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.getKeepAliveMasterService(HConnectionManager.java:1885)
 at 
 org.apache.hadoop.hbase.client.HBaseAdmin$MasterCallable.prepare(HBaseAdmin.java:3302)
 at 
 org.apache.hadoop.hbase.client.RpcRetryingCaller.callWithRetries(RpcRetryingCaller.java:113)
 at 
 org.apache.hadoop.hbase.client.RpcRetryingCaller.callWithRetries(RpcRetryingCaller.java:90)
 at 
 org.apache.hadoop.hbase.client.HBaseAdmin.executeCallable(HBaseAdmin.java:3329)
 at 
 org.apache.hadoop.hbase.client.HBaseAdmin.createTableAsync(HBaseAdmin.java:605)
 at 
 org.apache.hadoop.hbase.client.HBaseAdmin.createTable(HBaseAdmin.java:496)
 at 
 org.apache.hadoop.hbase.client.HBaseAdmin.createTable(HBaseAdmin.java:430)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at 
 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
 at 
 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 at java.lang.reflect.Method.invoke(Method.java:597)
 at 
 org.jruby.javasupport.JavaMethod.invokeDirectWithExceptionHandling(JavaMethod.java:450)
 at org.jruby.javasupport.JavaMethod.invokeDirect(JavaMethod.java:311)
 at 
 org.jruby.java.invokers.InstanceMethodInvoker.call(InstanceMethodInvoker.java:59)
 at 
 org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:312)
 at 
 org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:169)
 at org.jruby.ast.CallOneArgNode.interpret(CallOneArgNode.java:57)
 at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
 at org.jruby.ast.IfNode.interpret(IfNode.java:117)
 at 

[jira] [Updated] (HBASE-11589) AccessControlException handling in HBase rpc server and client. AccessControlException should be a not retriable exception

2014-08-04 Thread Qiang Tian (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-11589?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Qiang Tian updated HBASE-11589:
---

Attachment: hbase-11589-master-v1.patch

forgot to change processOneRpc

 AccessControlException handling in HBase rpc server and client. 
 AccessControlException should be a not retriable exception
 --

 Key: HBASE-11589
 URL: https://issues.apache.org/jira/browse/HBASE-11589
 Project: HBase
  Issue Type: Bug
  Components: IPC/RPC
Affects Versions: 0.98.3
 Environment: SLES 11 SP1
Reporter: Kashif J S
 Attachments: hbase-11589-master-v1.patch, hbase-11589-master.patch


 RPC server does not handle the AccessControlException thrown by 
 authorizeConnection failure properly and in return sends IOException to the 
 HBase client. 
 Ultimately the client does retries and gets RetriesExhaustedException but 
 does not getting any link or information or stack trace about 
 AccessControlException.
 In short summary, upon inspection of RPCServer.java, it seems 
 for the Listener, the Reader read code as below does not handle 
 AccessControlException
 {noformat}
 void doRead(….
 …..
 …..
   try {
 count = c.readAndProcess(); // This readAndProcess method throws 
 AccessControlException from processOneRpc(byte[] buf) which is not handled ?
   } catch (InterruptedException ieo) {
 throw ieo;
   } catch (Exception e) {
 LOG.warn(getName() + : count of bytes read:  + count, e);
 count = -1; //so that the (count  0) block is executed
   }
 {noformat}
 Below is the client logs if authorizeConnection throws AccessControlException:
 2014-07-24 19:40:58,768 INFO  [main] 
 client.HConnectionManager$HConnectionImplementation: getMaster attempt 7 of 7 
 failed; no more retrying.
 com.google.protobuf.ServiceException: java.io.IOException: Call to 
 host-10-18-40-101/10.18.40.101:6 failed on local exception: 
 java.io.EOFException
 at 
 org.apache.hadoop.hbase.ipc.RpcClient.callBlockingMethod(RpcClient.java:1674)
 at 
 org.apache.hadoop.hbase.ipc.RpcClient$BlockingRpcChannelImplementation.callBlockingMethod(RpcClient.java:1715)
 at 
 org.apache.hadoop.hbase.protobuf.generated.MasterProtos$MasterService$BlockingStub.isMasterRunning(MasterProtos.java:42561)
 at 
 org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation$MasterServiceStubMaker.isMasterRunning(HConnectionManager.java:1688)
 at 
 org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation$StubMaker.makeStubNoRetries(HConnectionManager.java:1597)
 at 
 org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation$StubMaker.makeStub(HConnectionManager.java:1623)
 at 
 org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation$MasterServiceStubMaker.makeStub(HConnectionManager.java:1677)
 at 
 org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.getKeepAliveMasterService(HConnectionManager.java:1885)
 at 
 org.apache.hadoop.hbase.client.HBaseAdmin$MasterCallable.prepare(HBaseAdmin.java:3302)
 at 
 org.apache.hadoop.hbase.client.RpcRetryingCaller.callWithRetries(RpcRetryingCaller.java:113)
 at 
 org.apache.hadoop.hbase.client.RpcRetryingCaller.callWithRetries(RpcRetryingCaller.java:90)
 at 
 org.apache.hadoop.hbase.client.HBaseAdmin.executeCallable(HBaseAdmin.java:3329)
 at 
 org.apache.hadoop.hbase.client.HBaseAdmin.createTableAsync(HBaseAdmin.java:605)
 at 
 org.apache.hadoop.hbase.client.HBaseAdmin.createTable(HBaseAdmin.java:496)
 at 
 org.apache.hadoop.hbase.client.HBaseAdmin.createTable(HBaseAdmin.java:430)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at 
 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
 at 
 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 at java.lang.reflect.Method.invoke(Method.java:597)
 at 
 org.jruby.javasupport.JavaMethod.invokeDirectWithExceptionHandling(JavaMethod.java:450)
 at org.jruby.javasupport.JavaMethod.invokeDirect(JavaMethod.java:311)
 at 
 org.jruby.java.invokers.InstanceMethodInvoker.call(InstanceMethodInvoker.java:59)
 at 
 org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:312)
 at 
 org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:169)
 at org.jruby.ast.CallOneArgNode.interpret(CallOneArgNode.java:57)
 at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
 at org.jruby.ast.IfNode.interpret(IfNode.java:117)
  

[jira] [Updated] (HBASE-11589) AccessControlException handling in HBase rpc server and client. AccessControlException should be a not retriable exception

2014-07-25 Thread Priyank Rastogi (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-11589?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Priyank Rastogi updated HBASE-11589:


Description: 
RPC server does not handle the AccessControlException thrown by 
authorizeConnection failure properly and in return sends IOException to the 
HBase client. 
Ultimately the client does retries and gets RetriesExhaustedException but does 
not getting any link or information or stack trace about AccessControlException.

In short summary, upon inspection of RPCServer.java, it seems 
for the Listener, the Reader read code as below does not handle 
AccessControlException
{code:title=Bar.java|borderStyle=solid}
void doRead(….
…..
…..
try {
count = c.readAndProcess(); // This readAndProcess method throws 
AccessControlException from processOneRpc(byte[] buf) which is not handled ?
  } catch (InterruptedException ieo) {
throw ieo;
  } catch (Exception e) {
LOG.warn(getName() + : count of bytes read:  + count, e);
count = -1; //so that the (count  0) block is executed
  }
{code:title}

Below is the client logs if authorizeConnection throws AccessControlException:


2014-07-24 19:40:58,768 INFO  [main] 
client.HConnectionManager$HConnectionImplementation: getMaster attempt 7 of 7 
failed; no more retrying.
com.google.protobuf.ServiceException: java.io.IOException: Call to 
host-10-18-40-101/10.18.40.101:6 failed on local exception: 
java.io.EOFException
at 
org.apache.hadoop.hbase.ipc.RpcClient.callBlockingMethod(RpcClient.java:1674)
at 
org.apache.hadoop.hbase.ipc.RpcClient$BlockingRpcChannelImplementation.callBlockingMethod(RpcClient.java:1715)
at 
org.apache.hadoop.hbase.protobuf.generated.MasterProtos$MasterService$BlockingStub.isMasterRunning(MasterProtos.java:42561)
at 
org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation$MasterServiceStubMaker.isMasterRunning(HConnectionManager.java:1688)
at 
org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation$StubMaker.makeStubNoRetries(HConnectionManager.java:1597)
at 
org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation$StubMaker.makeStub(HConnectionManager.java:1623)
at 
org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation$MasterServiceStubMaker.makeStub(HConnectionManager.java:1677)
at 
org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.getKeepAliveMasterService(HConnectionManager.java:1885)
at 
org.apache.hadoop.hbase.client.HBaseAdmin$MasterCallable.prepare(HBaseAdmin.java:3302)
at 
org.apache.hadoop.hbase.client.RpcRetryingCaller.callWithRetries(RpcRetryingCaller.java:113)
at 
org.apache.hadoop.hbase.client.RpcRetryingCaller.callWithRetries(RpcRetryingCaller.java:90)
at 
org.apache.hadoop.hbase.client.HBaseAdmin.executeCallable(HBaseAdmin.java:3329)
at 
org.apache.hadoop.hbase.client.HBaseAdmin.createTableAsync(HBaseAdmin.java:605)
at 
org.apache.hadoop.hbase.client.HBaseAdmin.createTable(HBaseAdmin.java:496)
at 
org.apache.hadoop.hbase.client.HBaseAdmin.createTable(HBaseAdmin.java:430)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at 
org.jruby.javasupport.JavaMethod.invokeDirectWithExceptionHandling(JavaMethod.java:450)
at org.jruby.javasupport.JavaMethod.invokeDirect(JavaMethod.java:311)
at 
org.jruby.java.invokers.InstanceMethodInvoker.call(InstanceMethodInvoker.java:59)
at 
org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:312)
at 
org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:169)
at org.jruby.ast.CallOneArgNode.interpret(CallOneArgNode.java:57)
at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
at org.jruby.ast.IfNode.interpret(IfNode.java:117)
at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
at org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
at 
org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:74)
at 
org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:233)
at 
org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:215)
at 
org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:332)
at 
org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:203)
at 
org.jruby.ast.CallSpecialArgNode.interpret(CallSpecialArgNode.java:69)
at 

[jira] [Updated] (HBASE-11589) AccessControlException handling in HBase rpc server and client. AccessControlException should be a not retriable exception

2014-07-25 Thread Priyank Rastogi (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-11589?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Priyank Rastogi updated HBASE-11589:


Description: 
RPC server does not handle the AccessControlException thrown by 
authorizeConnection failure properly and in return sends IOException to the 
HBase client. 
Ultimately the client does retries and gets RetriesExhaustedException but does 
not getting any link or information or stack trace about AccessControlException.

In short summary, upon inspection of RPCServer.java, it seems 
for the Listener, the Reader read code as below does not handle 
AccessControlException
{noformat}
void doRead(….
…..
…..
  try {
count = c.readAndProcess(); // This readAndProcess method throws 
AccessControlException from processOneRpc(byte[] buf) which is not handled ?
  } catch (InterruptedException ieo) {
throw ieo;
  } catch (Exception e) {
LOG.warn(getName() + : count of bytes read:  + count, e);
count = -1; //so that the (count  0) block is executed
  }
{noformat}

Below is the client logs if authorizeConnection throws AccessControlException:


2014-07-24 19:40:58,768 INFO  [main] 
client.HConnectionManager$HConnectionImplementation: getMaster attempt 7 of 7 
failed; no more retrying.
com.google.protobuf.ServiceException: java.io.IOException: Call to 
host-10-18-40-101/10.18.40.101:6 failed on local exception: 
java.io.EOFException
at 
org.apache.hadoop.hbase.ipc.RpcClient.callBlockingMethod(RpcClient.java:1674)
at 
org.apache.hadoop.hbase.ipc.RpcClient$BlockingRpcChannelImplementation.callBlockingMethod(RpcClient.java:1715)
at 
org.apache.hadoop.hbase.protobuf.generated.MasterProtos$MasterService$BlockingStub.isMasterRunning(MasterProtos.java:42561)
at 
org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation$MasterServiceStubMaker.isMasterRunning(HConnectionManager.java:1688)
at 
org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation$StubMaker.makeStubNoRetries(HConnectionManager.java:1597)
at 
org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation$StubMaker.makeStub(HConnectionManager.java:1623)
at 
org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation$MasterServiceStubMaker.makeStub(HConnectionManager.java:1677)
at 
org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.getKeepAliveMasterService(HConnectionManager.java:1885)
at 
org.apache.hadoop.hbase.client.HBaseAdmin$MasterCallable.prepare(HBaseAdmin.java:3302)
at 
org.apache.hadoop.hbase.client.RpcRetryingCaller.callWithRetries(RpcRetryingCaller.java:113)
at 
org.apache.hadoop.hbase.client.RpcRetryingCaller.callWithRetries(RpcRetryingCaller.java:90)
at 
org.apache.hadoop.hbase.client.HBaseAdmin.executeCallable(HBaseAdmin.java:3329)
at 
org.apache.hadoop.hbase.client.HBaseAdmin.createTableAsync(HBaseAdmin.java:605)
at 
org.apache.hadoop.hbase.client.HBaseAdmin.createTable(HBaseAdmin.java:496)
at 
org.apache.hadoop.hbase.client.HBaseAdmin.createTable(HBaseAdmin.java:430)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at 
org.jruby.javasupport.JavaMethod.invokeDirectWithExceptionHandling(JavaMethod.java:450)
at org.jruby.javasupport.JavaMethod.invokeDirect(JavaMethod.java:311)
at 
org.jruby.java.invokers.InstanceMethodInvoker.call(InstanceMethodInvoker.java:59)
at 
org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:312)
at 
org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:169)
at org.jruby.ast.CallOneArgNode.interpret(CallOneArgNode.java:57)
at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
at org.jruby.ast.IfNode.interpret(IfNode.java:117)
at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
at org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
at 
org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:74)
at 
org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:233)
at 
org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:215)
at 
org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:332)
at 
org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:203)
at 
org.jruby.ast.CallSpecialArgNode.interpret(CallSpecialArgNode.java:69)
at org.jruby.ast.DAsgnNode.interpret(DAsgnNode.java:110)

[jira] [Updated] (HBASE-11589) AccessControlException handling in HBase rpc server and client. AccessControlException should be a not retriable exception

2014-07-25 Thread Priyank Rastogi (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-11589?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Priyank Rastogi updated HBASE-11589:


Description: 
RPC server does not handle the AccessControlException thrown by 
authorizeConnection failure properly and in return sends IOException to the 
HBase client. 
Ultimately the client does retries and gets RetriesExhaustedException but does 
not getting any link or information or stack trace about AccessControlException.

In short summary, upon inspection of RPCServer.java, it seems 
for the Listener, the Reader read code as below does not handle 
AccessControlException
{code:title=Bar.java|borderStyle=solid}
void doRead(….
…..
…..
try {
count = c.readAndProcess(); // This readAndProcess method throws 
AccessControlException from processOneRpc(byte[] buf) which is not handled ?
  } catch (InterruptedException ieo) {
throw ieo;
  } catch (Exception e) {
LOG.warn(getName() + : count of bytes read:  + count, e);
count = -1; //so that the (count  0) block is executed
  }
{code}

Below is the client logs if authorizeConnection throws AccessControlException:


2014-07-24 19:40:58,768 INFO  [main] 
client.HConnectionManager$HConnectionImplementation: getMaster attempt 7 of 7 
failed; no more retrying.
com.google.protobuf.ServiceException: java.io.IOException: Call to 
host-10-18-40-101/10.18.40.101:6 failed on local exception: 
java.io.EOFException
at 
org.apache.hadoop.hbase.ipc.RpcClient.callBlockingMethod(RpcClient.java:1674)
at 
org.apache.hadoop.hbase.ipc.RpcClient$BlockingRpcChannelImplementation.callBlockingMethod(RpcClient.java:1715)
at 
org.apache.hadoop.hbase.protobuf.generated.MasterProtos$MasterService$BlockingStub.isMasterRunning(MasterProtos.java:42561)
at 
org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation$MasterServiceStubMaker.isMasterRunning(HConnectionManager.java:1688)
at 
org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation$StubMaker.makeStubNoRetries(HConnectionManager.java:1597)
at 
org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation$StubMaker.makeStub(HConnectionManager.java:1623)
at 
org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation$MasterServiceStubMaker.makeStub(HConnectionManager.java:1677)
at 
org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.getKeepAliveMasterService(HConnectionManager.java:1885)
at 
org.apache.hadoop.hbase.client.HBaseAdmin$MasterCallable.prepare(HBaseAdmin.java:3302)
at 
org.apache.hadoop.hbase.client.RpcRetryingCaller.callWithRetries(RpcRetryingCaller.java:113)
at 
org.apache.hadoop.hbase.client.RpcRetryingCaller.callWithRetries(RpcRetryingCaller.java:90)
at 
org.apache.hadoop.hbase.client.HBaseAdmin.executeCallable(HBaseAdmin.java:3329)
at 
org.apache.hadoop.hbase.client.HBaseAdmin.createTableAsync(HBaseAdmin.java:605)
at 
org.apache.hadoop.hbase.client.HBaseAdmin.createTable(HBaseAdmin.java:496)
at 
org.apache.hadoop.hbase.client.HBaseAdmin.createTable(HBaseAdmin.java:430)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at 
org.jruby.javasupport.JavaMethod.invokeDirectWithExceptionHandling(JavaMethod.java:450)
at org.jruby.javasupport.JavaMethod.invokeDirect(JavaMethod.java:311)
at 
org.jruby.java.invokers.InstanceMethodInvoker.call(InstanceMethodInvoker.java:59)
at 
org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:312)
at 
org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:169)
at org.jruby.ast.CallOneArgNode.interpret(CallOneArgNode.java:57)
at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
at org.jruby.ast.IfNode.interpret(IfNode.java:117)
at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
at org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
at 
org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:74)
at 
org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:233)
at 
org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:215)
at 
org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:332)
at 
org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:203)
at 
org.jruby.ast.CallSpecialArgNode.interpret(CallSpecialArgNode.java:69)
at