[ 
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:60000 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)
        at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        at 
org.jruby.evaluator.ASTInterpreter.INTERPRET_BLOCK(ASTInterpreter.java:111)
        at 
org.jruby.runtime.InterpretedBlock.evalBlockBody(InterpretedBlock.java:374)
        at org.jruby.runtime.InterpretedBlock.yield(InterpretedBlock.java:295)
        at 
org.jruby.runtime.InterpretedBlock.yieldSpecific(InterpretedBlock.java:229)
        at org.jruby.runtime.Block.yieldSpecific(Block.java:99)
        at org.jruby.ast.ZYieldNode.interpret(ZYieldNode.java:25)
        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:169)
        at 
org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:191)
        at 
org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:302)
        at 
org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:144)
        at 
org.jruby.runtime.callsite.CachingCallSite.callIter(CachingCallSite.java:153)
        at 
org.jruby.ast.FCallNoArgBlockNode.interpret(FCallNoArgBlockNode.java:32)
        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:255)
        at 
org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:223)
        at org.jruby.RubyClass.finvoke(RubyClass.java:611)
        at org.jruby.RubyBasicObject.send(RubyBasicObject.java:2787)
        at org.jruby.RubyKernel.send(RubyKernel.java:2113)
        at org.jruby.RubyKernel$s$send.call(RubyKernel$s$send.gen:65535)
        at 
org.jruby.internal.runtime.methods.JavaMethod$JavaMethodZeroOrOneOrTwoOrThreeOrNBlock.call(JavaMethod.java:300)
        at 
org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:352)
        at 
org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:237)
        at 
org.jruby.ast.FCallSpecialArgNode.interpret(FCallSpecialArgNode.java:43)
        at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        at 
org.jruby.evaluator.ASTInterpreter.INTERPRET_BLOCK(ASTInterpreter.java:111)
        at 
org.jruby.runtime.InterpretedBlock.evalBlockBody(InterpretedBlock.java:374)
        at org.jruby.runtime.InterpretedBlock.yield(InterpretedBlock.java:295)
        at 
org.jruby.runtime.InterpretedBlock.yieldSpecific(InterpretedBlock.java:229)
        at org.jruby.runtime.Block.yieldSpecific(Block.java:99)
        at org.jruby.ast.ZYieldNode.interpret(ZYieldNode.java:25)
        at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        at org.jruby.ast.RescueNode.executeBody(RescueNode.java:216)
        at 
org.jruby.ast.RescueNode.interpretWithJavaExceptions(RescueNode.java:120)
        at org.jruby.ast.RescueNode.interpret(RescueNode.java:110)
        at 
org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:74)
        at 
org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:255)
        at 
org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:223)
        at 
org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:342)
        at 
org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:212)
        at 
org.jruby.runtime.callsite.CachingCallSite.callIter(CachingCallSite.java:221)
        at 
org.jruby.ast.FCallSpecialArgBlockNode.interpret(FCallSpecialArgBlockNode.java:38)
        at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        at org.jruby.ast.RescueNode.executeBody(RescueNode.java:216)
        at 
org.jruby.ast.RescueNode.interpretWithJavaExceptions(RescueNode.java:120)
       at org.jruby.ast.RescueNode.interpret(RescueNode.java:110)
        at 
org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:74)
        at 
org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:120)
        at 
org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:134)
        at 
org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:174)
        at 
org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:282)
        at 
org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:71)
        at 
org.jruby.ast.CallSpecialArgNode.interpret(CallSpecialArgNode.java:73)
        at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        at 
org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:74)
        at 
org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:120)
        at 
org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:134)
        at 
org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:174)
        at 
org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:282)
        at 
org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:71)
        at 
org.jruby.ast.FCallSpecialArgNode.interpret(FCallSpecialArgNode.java:45)
        at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        at 
org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:74)
        at 
org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:276)
        at 
org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:231)
        at 
org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:352)
        at 
org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:237)
        at 
org.jruby.ast.CallSpecialArgNode.interpret(CallSpecialArgNode.java:71)
        at org.jruby.ast.LocalAsgnNode.interpret(LocalAsgnNode.java:123)
        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.FCallTwoArgNode.interpret(FCallTwoArgNode.java:38)
        at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        at org.jruby.ast.RootNode.interpret(RootNode.java:129)
        at 
org.jruby.evaluator.ASTInterpreter.INTERPRET_EVAL(ASTInterpreter.java:95)
        at 
org.jruby.evaluator.ASTInterpreter.evalWithBinding(ASTInterpreter.java:166)
        at org.jruby.RubyKernel.evalCommon(RubyKernel.java:1155)
        at org.jruby.RubyKernel.eval(RubyKernel.java:1112)
        at org.jruby.RubyKernel$s$0$3$eval.call(RubyKernel$s$0$3$eval.gen:65535)
        at 
org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:181)
        at 
org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:282)
        at 
org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:71)
        at org.jruby.ast.FCallManyArgsNode.interpret(FCallManyArgsNode.java:60)
        at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        at 
org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:74)
        at 
org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:120)
        at 
org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:134)
        at 
org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:174)
        at 
org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:282)
        at 
org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:71)
        at org.jruby.ast.CallManyArgsNode.interpret(CallManyArgsNode.java:59)
        at org.jruby.ast.FCallOneArgNode.interpret(FCallOneArgNode.java:36)
        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.CallTwoArgNode.interpret(CallTwoArgNode.java:59)
        at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        at org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
        at org.jruby.ast.RescueNode.executeBody(RescueNode.java:216)
        at 
org.jruby.ast.RescueNode.interpretWithJavaExceptions(RescueNode.java:120)
        at org.jruby.ast.RescueNode.interpret(RescueNode.java:110)
        at org.jruby.ast.BeginNode.interpret(BeginNode.java:83)
        at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        at org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
        at 
org.jruby.evaluator.ASTInterpreter.INTERPRET_BLOCK(ASTInterpreter.java:111)
        at 
org.jruby.runtime.InterpretedBlock.evalBlockBody(InterpretedBlock.java:374)
        at org.jruby.runtime.InterpretedBlock.yield(InterpretedBlock.java:295)
        at 
org.jruby.runtime.InterpretedBlock.yieldSpecific(InterpretedBlock.java:229)
        at org.jruby.runtime.Block.yieldSpecific(Block.java:99)
        at org.jruby.ast.ZYieldNode.interpret(ZYieldNode.java:25)
        at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        at org.jruby.ast.EnsureNode.interpret(EnsureNode.java:96)
        at org.jruby.ast.BeginNode.interpret(BeginNode.java:83)
        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:212)
        at 
org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:207)
        at 
org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:322)
        at 
org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:178)
        at 
org.jruby.runtime.callsite.CachingCallSite.callIter(CachingCallSite.java:187)
        at 
org.jruby.ast.FCallOneArgBlockNode.interpret(FCallOneArgBlockNode.java:34)
        at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        at 
org.jruby.evaluator.ASTInterpreter.INTERPRET_BLOCK(ASTInterpreter.java:111)
        at 
org.jruby.runtime.InterpretedBlock.evalBlockBody(InterpretedBlock.java:374)
        at 
org.jruby.runtime.InterpretedBlock.yieldSpecific(InterpretedBlock.java:260)
        at org.jruby.runtime.Block.yieldSpecific(Block.java:117)
        at org.jruby.ast.YieldTwoNode.interpret(YieldTwoNode.java:31)
        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.ast.RescueNode.executeBody(RescueNode.java:216)
        at 
org.jruby.ast.RescueNode.interpretWithJavaExceptions(RescueNode.java:120)
        at org.jruby.ast.RescueNode.interpret(RescueNode.java:110)
        at org.jruby.ast.BeginNode.interpret(BeginNode.java:83)
        at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        at 
org.jruby.evaluator.ASTInterpreter.INTERPRET_BLOCK(ASTInterpreter.java:111)
        at 
org.jruby.runtime.InterpretedBlock.evalBlockBody(InterpretedBlock.java:374)
        at org.jruby.runtime.InterpretedBlock.yield(InterpretedBlock.java:295)
        at 
org.jruby.runtime.InterpretedBlock.yieldSpecific(InterpretedBlock.java:229)
        at org.jruby.runtime.Block.yieldSpecific(Block.java:99)
        at org.jruby.RubyKernel.loop(RubyKernel.java:1439)
        at org.jruby.RubyKernel$s$0$0$loop.call(RubyKernel$s$0$0$loop.gen:65535)
        at 
org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:302)
        at 
org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:144)
        at 
org.jruby.runtime.callsite.CachingCallSite.callIter(CachingCallSite.java:153)
        at 
org.jruby.ast.FCallNoArgBlockNode.interpret(FCallNoArgBlockNode.java:32)
        at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        at 
org.jruby.evaluator.ASTInterpreter.INTERPRET_BLOCK(ASTInterpreter.java:111)
        at 
org.jruby.runtime.InterpretedBlock.evalBlockBody(InterpretedBlock.java:374)
        at org.jruby.runtime.InterpretedBlock.yield(InterpretedBlock.java:347)
        at org.jruby.runtime.InterpretedBlock.yield(InterpretedBlock.java:304)
        at org.jruby.runtime.Block.yield(Block.java:130)
        at org.jruby.RubyContinuation.enter(RubyContinuation.java:106)
        at org.jruby.RubyKernel.rbCatch(RubyKernel.java:1212)
        at 
org.jruby.RubyKernel$s$1$0$rbCatch.call(RubyKernel$s$1$0$rbCatch.gen:65535)
        at 
org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:322)
        at 
org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:178)
        at 
org.jruby.runtime.callsite.CachingCallSite.callIter(CachingCallSite.java:187)
        at 
org.jruby.ast.FCallOneArgBlockNode.interpret(FCallOneArgBlockNode.java:34)
        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:169)
        at 
org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:191)
        at 
org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:302)
        at 
org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:144)
        at 
org.jruby.runtime.callsite.CachingCallSite.callIter(CachingCallSite.java:153)
        at 
org.jruby.ast.CallNoArgBlockNode.interpret(CallNoArgBlockNode.java:64)
        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:147)
        at 
org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:183)
        at 
org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:292)
        at 
org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:135)
        at 
home.jawed.hbase.bin.$_dot_dot_.bin.hirb.block_2$RUBY$start(/home/jawed/hbase/bin/../bin/hirb.rb:185)
        at 
home$jawed$hbase$bin$$_dot_dot_$bin$hirb$block_2$RUBY$start.call(home$jawed$hbase$bin$$_dot_dot_$bin$hirb$block_2$RUBY$start:65535)
        at org.jruby.runtime.CompiledBlock.yield(CompiledBlock.java:112)
        at org.jruby.runtime.CompiledBlock.yield(CompiledBlock.java:95)
        at org.jruby.runtime.Block.yield(Block.java:130)
        at org.jruby.RubyContinuation.enter(RubyContinuation.java:106)
        at org.jruby.RubyKernel.rbCatch(RubyKernel.java:1212)
        at 
org.jruby.RubyKernel$s$1$0$rbCatch.call(RubyKernel$s$1$0$rbCatch.gen:65535)
        at 
org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:322)
        at 
org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:178)
        at 
org.jruby.runtime.callsite.CachingCallSite.callIter(CachingCallSite.java:187)
        at 
home.jawed.hbase.bin.$_dot_dot_.bin.hirb.method__5$RUBY$start(/home/jawed/hbase/bin/../bin/hirb.rb:184)
        at 
home$jawed$hbase$bin$$_dot_dot_$bin$hirb$method__5$RUBY$start.call(home$jawed$hbase$bin$$_dot_dot_$bin$hirb$method__5$RUBY$start:65535)
        at 
org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:203)
        at 
org.jruby.internal.runtime.methods.CompiledMethod.call(CompiledMethod.java:255)
        at 
org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:292)
        at 
org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:135)
        at 
home.jawed.hbase.bin.$_dot_dot_.bin.hirb.__file__(/home/jawed/hbase/bin/../bin/hirb.rb:190)
        at 
home.jawed.hbase.bin.$_dot_dot_.bin.hirb.load(/home/jawed/hbase/bin/../bin/hirb.rb)
        at org.jruby.Ruby.runScript(Ruby.java:697)
        at org.jruby.Ruby.runScript(Ruby.java:690)
        at org.jruby.Ruby.runNormally(Ruby.java:597)
        at org.jruby.Ruby.runFromMain(Ruby.java:446)
        at org.jruby.Main.doRunFromMain(Main.java:369)
        at org.jruby.Main.internalRun(Main.java:258)
        at org.jruby.Main.run(Main.java:224)
        at org.jruby.Main.run(Main.java:208)
        at org.jruby.Main.main(Main.java:188)
Caused by: java.io.IOException: Call to host-10-18-40-101/10.18.40.101:60000 
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
{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:60000 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)
        at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        at 
org.jruby.evaluator.ASTInterpreter.INTERPRET_BLOCK(ASTInterpreter.java:111)
        at 
org.jruby.runtime.InterpretedBlock.evalBlockBody(InterpretedBlock.java:374)
        at org.jruby.runtime.InterpretedBlock.yield(InterpretedBlock.java:295)
        at 
org.jruby.runtime.InterpretedBlock.yieldSpecific(InterpretedBlock.java:229)
        at org.jruby.runtime.Block.yieldSpecific(Block.java:99)
        at org.jruby.ast.ZYieldNode.interpret(ZYieldNode.java:25)
        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:169)
        at 
org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:191)
        at 
org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:302)
        at 
org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:144)
        at 
org.jruby.runtime.callsite.CachingCallSite.callIter(CachingCallSite.java:153)
        at 
org.jruby.ast.FCallNoArgBlockNode.interpret(FCallNoArgBlockNode.java:32)
        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:255)
        at 
org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:223)
        at org.jruby.RubyClass.finvoke(RubyClass.java:611)
        at org.jruby.RubyBasicObject.send(RubyBasicObject.java:2787)
        at org.jruby.RubyKernel.send(RubyKernel.java:2113)
        at org.jruby.RubyKernel$s$send.call(RubyKernel$s$send.gen:65535)
        at 
org.jruby.internal.runtime.methods.JavaMethod$JavaMethodZeroOrOneOrTwoOrThreeOrNBlock.call(JavaMethod.java:300)
        at 
org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:352)
        at 
org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:237)
        at 
org.jruby.ast.FCallSpecialArgNode.interpret(FCallSpecialArgNode.java:43)
        at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        at 
org.jruby.evaluator.ASTInterpreter.INTERPRET_BLOCK(ASTInterpreter.java:111)
        at 
org.jruby.runtime.InterpretedBlock.evalBlockBody(InterpretedBlock.java:374)
        at org.jruby.runtime.InterpretedBlock.yield(InterpretedBlock.java:295)
        at 
org.jruby.runtime.InterpretedBlock.yieldSpecific(InterpretedBlock.java:229)
        at org.jruby.runtime.Block.yieldSpecific(Block.java:99)
        at org.jruby.ast.ZYieldNode.interpret(ZYieldNode.java:25)
        at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        at org.jruby.ast.RescueNode.executeBody(RescueNode.java:216)
        at 
org.jruby.ast.RescueNode.interpretWithJavaExceptions(RescueNode.java:120)
        at org.jruby.ast.RescueNode.interpret(RescueNode.java:110)
        at 
org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:74)
        at 
org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:255)
        at 
org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:223)
        at 
org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:342)
        at 
org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:212)
        at 
org.jruby.runtime.callsite.CachingCallSite.callIter(CachingCallSite.java:221)
        at 
org.jruby.ast.FCallSpecialArgBlockNode.interpret(FCallSpecialArgBlockNode.java:38)
        at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        at org.jruby.ast.RescueNode.executeBody(RescueNode.java:216)
        at 
org.jruby.ast.RescueNode.interpretWithJavaExceptions(RescueNode.java:120)
       at org.jruby.ast.RescueNode.interpret(RescueNode.java:110)
        at 
org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:74)
        at 
org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:120)
        at 
org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:134)
        at 
org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:174)
        at 
org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:282)
        at 
org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:71)
        at 
org.jruby.ast.CallSpecialArgNode.interpret(CallSpecialArgNode.java:73)
        at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        at 
org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:74)
        at 
org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:120)
        at 
org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:134)
        at 
org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:174)
        at 
org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:282)
        at 
org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:71)
        at 
org.jruby.ast.FCallSpecialArgNode.interpret(FCallSpecialArgNode.java:45)
        at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        at 
org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:74)
        at 
org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:276)
        at 
org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:231)
        at 
org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:352)
        at 
org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:237)
        at 
org.jruby.ast.CallSpecialArgNode.interpret(CallSpecialArgNode.java:71)
        at org.jruby.ast.LocalAsgnNode.interpret(LocalAsgnNode.java:123)
        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.FCallTwoArgNode.interpret(FCallTwoArgNode.java:38)
        at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        at org.jruby.ast.RootNode.interpret(RootNode.java:129)
        at 
org.jruby.evaluator.ASTInterpreter.INTERPRET_EVAL(ASTInterpreter.java:95)
        at 
org.jruby.evaluator.ASTInterpreter.evalWithBinding(ASTInterpreter.java:166)
        at org.jruby.RubyKernel.evalCommon(RubyKernel.java:1155)
        at org.jruby.RubyKernel.eval(RubyKernel.java:1112)
        at org.jruby.RubyKernel$s$0$3$eval.call(RubyKernel$s$0$3$eval.gen:65535)
        at 
org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:181)
        at 
org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:282)
        at 
org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:71)
        at org.jruby.ast.FCallManyArgsNode.interpret(FCallManyArgsNode.java:60)
        at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        at 
org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:74)
        at 
org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:120)
        at 
org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:134)
        at 
org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:174)
        at 
org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:282)
        at 
org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:71)
        at org.jruby.ast.CallManyArgsNode.interpret(CallManyArgsNode.java:59)
        at org.jruby.ast.FCallOneArgNode.interpret(FCallOneArgNode.java:36)
        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.CallTwoArgNode.interpret(CallTwoArgNode.java:59)
        at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        at org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
        at org.jruby.ast.RescueNode.executeBody(RescueNode.java:216)
        at 
org.jruby.ast.RescueNode.interpretWithJavaExceptions(RescueNode.java:120)
        at org.jruby.ast.RescueNode.interpret(RescueNode.java:110)
        at org.jruby.ast.BeginNode.interpret(BeginNode.java:83)
        at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        at org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
        at 
org.jruby.evaluator.ASTInterpreter.INTERPRET_BLOCK(ASTInterpreter.java:111)
        at 
org.jruby.runtime.InterpretedBlock.evalBlockBody(InterpretedBlock.java:374)
        at org.jruby.runtime.InterpretedBlock.yield(InterpretedBlock.java:295)
        at 
org.jruby.runtime.InterpretedBlock.yieldSpecific(InterpretedBlock.java:229)
        at org.jruby.runtime.Block.yieldSpecific(Block.java:99)
        at org.jruby.ast.ZYieldNode.interpret(ZYieldNode.java:25)
        at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        at org.jruby.ast.EnsureNode.interpret(EnsureNode.java:96)
        at org.jruby.ast.BeginNode.interpret(BeginNode.java:83)
        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:212)
        at 
org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:207)
        at 
org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:322)
        at 
org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:178)
        at 
org.jruby.runtime.callsite.CachingCallSite.callIter(CachingCallSite.java:187)
        at 
org.jruby.ast.FCallOneArgBlockNode.interpret(FCallOneArgBlockNode.java:34)
        at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        at 
org.jruby.evaluator.ASTInterpreter.INTERPRET_BLOCK(ASTInterpreter.java:111)
        at 
org.jruby.runtime.InterpretedBlock.evalBlockBody(InterpretedBlock.java:374)
        at 
org.jruby.runtime.InterpretedBlock.yieldSpecific(InterpretedBlock.java:260)
        at org.jruby.runtime.Block.yieldSpecific(Block.java:117)
        at org.jruby.ast.YieldTwoNode.interpret(YieldTwoNode.java:31)
        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.ast.RescueNode.executeBody(RescueNode.java:216)
        at 
org.jruby.ast.RescueNode.interpretWithJavaExceptions(RescueNode.java:120)
        at org.jruby.ast.RescueNode.interpret(RescueNode.java:110)
        at org.jruby.ast.BeginNode.interpret(BeginNode.java:83)
        at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        at 
org.jruby.evaluator.ASTInterpreter.INTERPRET_BLOCK(ASTInterpreter.java:111)
        at 
org.jruby.runtime.InterpretedBlock.evalBlockBody(InterpretedBlock.java:374)
        at org.jruby.runtime.InterpretedBlock.yield(InterpretedBlock.java:295)
        at 
org.jruby.runtime.InterpretedBlock.yieldSpecific(InterpretedBlock.java:229)
        at org.jruby.runtime.Block.yieldSpecific(Block.java:99)
        at org.jruby.RubyKernel.loop(RubyKernel.java:1439)
        at org.jruby.RubyKernel$s$0$0$loop.call(RubyKernel$s$0$0$loop.gen:65535)
        at 
org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:302)
        at 
org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:144)
        at 
org.jruby.runtime.callsite.CachingCallSite.callIter(CachingCallSite.java:153)
        at 
org.jruby.ast.FCallNoArgBlockNode.interpret(FCallNoArgBlockNode.java:32)
        at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        at 
org.jruby.evaluator.ASTInterpreter.INTERPRET_BLOCK(ASTInterpreter.java:111)
        at 
org.jruby.runtime.InterpretedBlock.evalBlockBody(InterpretedBlock.java:374)
        at org.jruby.runtime.InterpretedBlock.yield(InterpretedBlock.java:347)
        at org.jruby.runtime.InterpretedBlock.yield(InterpretedBlock.java:304)
        at org.jruby.runtime.Block.yield(Block.java:130)
        at org.jruby.RubyContinuation.enter(RubyContinuation.java:106)
        at org.jruby.RubyKernel.rbCatch(RubyKernel.java:1212)
        at 
org.jruby.RubyKernel$s$1$0$rbCatch.call(RubyKernel$s$1$0$rbCatch.gen:65535)
        at 
org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:322)
        at 
org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:178)
        at 
org.jruby.runtime.callsite.CachingCallSite.callIter(CachingCallSite.java:187)
        at 
org.jruby.ast.FCallOneArgBlockNode.interpret(FCallOneArgBlockNode.java:34)
        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:169)
        at 
org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:191)
        at 
org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:302)
        at 
org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:144)
        at 
org.jruby.runtime.callsite.CachingCallSite.callIter(CachingCallSite.java:153)
        at 
org.jruby.ast.CallNoArgBlockNode.interpret(CallNoArgBlockNode.java:64)
        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:147)
        at 
org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:183)
        at 
org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:292)
        at 
org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:135)
        at 
home.jawed.hbase.bin.$_dot_dot_.bin.hirb.block_2$RUBY$start(/home/jawed/hbase/bin/../bin/hirb.rb:185)
        at 
home$jawed$hbase$bin$$_dot_dot_$bin$hirb$block_2$RUBY$start.call(home$jawed$hbase$bin$$_dot_dot_$bin$hirb$block_2$RUBY$start:65535)
        at org.jruby.runtime.CompiledBlock.yield(CompiledBlock.java:112)
        at org.jruby.runtime.CompiledBlock.yield(CompiledBlock.java:95)
        at org.jruby.runtime.Block.yield(Block.java:130)
        at org.jruby.RubyContinuation.enter(RubyContinuation.java:106)
        at org.jruby.RubyKernel.rbCatch(RubyKernel.java:1212)
        at 
org.jruby.RubyKernel$s$1$0$rbCatch.call(RubyKernel$s$1$0$rbCatch.gen:65535)
        at 
org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:322)
        at 
org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:178)
        at 
org.jruby.runtime.callsite.CachingCallSite.callIter(CachingCallSite.java:187)
        at 
home.jawed.hbase.bin.$_dot_dot_.bin.hirb.method__5$RUBY$start(/home/jawed/hbase/bin/../bin/hirb.rb:184)
        at 
home$jawed$hbase$bin$$_dot_dot_$bin$hirb$method__5$RUBY$start.call(home$jawed$hbase$bin$$_dot_dot_$bin$hirb$method__5$RUBY$start:65535)
        at 
org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:203)
        at 
org.jruby.internal.runtime.methods.CompiledMethod.call(CompiledMethod.java:255)
        at 
org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:292)
        at 
org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:135)
        at 
home.jawed.hbase.bin.$_dot_dot_.bin.hirb.__file__(/home/jawed/hbase/bin/../bin/hirb.rb:190)
        at 
home.jawed.hbase.bin.$_dot_dot_.bin.hirb.load(/home/jawed/hbase/bin/../bin/hirb.rb)
        at org.jruby.Ruby.runScript(Ruby.java:697)
        at org.jruby.Ruby.runScript(Ruby.java:690)
        at org.jruby.Ruby.runNormally(Ruby.java:597)
        at org.jruby.Ruby.runFromMain(Ruby.java:446)
        at org.jruby.Main.doRunFromMain(Main.java:369)
        at org.jruby.Main.internalRun(Main.java:258)
        at org.jruby.Main.run(Main.java:224)
        at org.jruby.Main.run(Main.java:208)
        at org.jruby.Main.main(Main.java:188)
Caused by: java.io.IOException: Call to host-10-18-40-101/10.18.40.101:60000 
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)



> 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
>
> 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:60000 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)
>         at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
>         at 
> org.jruby.evaluator.ASTInterpreter.INTERPRET_BLOCK(ASTInterpreter.java:111)
>         at 
> org.jruby.runtime.InterpretedBlock.evalBlockBody(InterpretedBlock.java:374)
>         at org.jruby.runtime.InterpretedBlock.yield(InterpretedBlock.java:295)
>         at 
> org.jruby.runtime.InterpretedBlock.yieldSpecific(InterpretedBlock.java:229)
>         at org.jruby.runtime.Block.yieldSpecific(Block.java:99)
>         at org.jruby.ast.ZYieldNode.interpret(ZYieldNode.java:25)
>         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:169)
>         at 
> org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:191)
>         at 
> org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:302)
>         at 
> org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:144)
>         at 
> org.jruby.runtime.callsite.CachingCallSite.callIter(CachingCallSite.java:153)
>         at 
> org.jruby.ast.FCallNoArgBlockNode.interpret(FCallNoArgBlockNode.java:32)
>         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:255)
>         at 
> org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:223)
>         at org.jruby.RubyClass.finvoke(RubyClass.java:611)
>         at org.jruby.RubyBasicObject.send(RubyBasicObject.java:2787)
>         at org.jruby.RubyKernel.send(RubyKernel.java:2113)
>         at org.jruby.RubyKernel$s$send.call(RubyKernel$s$send.gen:65535)
>         at 
> org.jruby.internal.runtime.methods.JavaMethod$JavaMethodZeroOrOneOrTwoOrThreeOrNBlock.call(JavaMethod.java:300)
>         at 
> org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:352)
>         at 
> org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:237)
>         at 
> org.jruby.ast.FCallSpecialArgNode.interpret(FCallSpecialArgNode.java:43)
>         at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
>         at 
> org.jruby.evaluator.ASTInterpreter.INTERPRET_BLOCK(ASTInterpreter.java:111)
>         at 
> org.jruby.runtime.InterpretedBlock.evalBlockBody(InterpretedBlock.java:374)
>         at org.jruby.runtime.InterpretedBlock.yield(InterpretedBlock.java:295)
>         at 
> org.jruby.runtime.InterpretedBlock.yieldSpecific(InterpretedBlock.java:229)
>         at org.jruby.runtime.Block.yieldSpecific(Block.java:99)
>         at org.jruby.ast.ZYieldNode.interpret(ZYieldNode.java:25)
>         at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
>         at org.jruby.ast.RescueNode.executeBody(RescueNode.java:216)
>         at 
> org.jruby.ast.RescueNode.interpretWithJavaExceptions(RescueNode.java:120)
>         at org.jruby.ast.RescueNode.interpret(RescueNode.java:110)
>         at 
> org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:74)
>         at 
> org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:255)
>         at 
> org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:223)
>         at 
> org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:342)
>         at 
> org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:212)
>         at 
> org.jruby.runtime.callsite.CachingCallSite.callIter(CachingCallSite.java:221)
>         at 
> org.jruby.ast.FCallSpecialArgBlockNode.interpret(FCallSpecialArgBlockNode.java:38)
>         at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
>         at org.jruby.ast.RescueNode.executeBody(RescueNode.java:216)
>         at 
> org.jruby.ast.RescueNode.interpretWithJavaExceptions(RescueNode.java:120)
>        at org.jruby.ast.RescueNode.interpret(RescueNode.java:110)
>         at 
> org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:74)
>         at 
> org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:120)
>         at 
> org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:134)
>         at 
> org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:174)
>         at 
> org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:282)
>         at 
> org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:71)
>         at 
> org.jruby.ast.CallSpecialArgNode.interpret(CallSpecialArgNode.java:73)
>         at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
>         at 
> org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:74)
>         at 
> org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:120)
>         at 
> org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:134)
>         at 
> org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:174)
>         at 
> org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:282)
>         at 
> org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:71)
>         at 
> org.jruby.ast.FCallSpecialArgNode.interpret(FCallSpecialArgNode.java:45)
>         at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
>         at 
> org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:74)
>         at 
> org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:276)
>         at 
> org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:231)
>         at 
> org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:352)
>         at 
> org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:237)
>         at 
> org.jruby.ast.CallSpecialArgNode.interpret(CallSpecialArgNode.java:71)
>         at org.jruby.ast.LocalAsgnNode.interpret(LocalAsgnNode.java:123)
>         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.FCallTwoArgNode.interpret(FCallTwoArgNode.java:38)
>         at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
>         at org.jruby.ast.RootNode.interpret(RootNode.java:129)
>         at 
> org.jruby.evaluator.ASTInterpreter.INTERPRET_EVAL(ASTInterpreter.java:95)
>         at 
> org.jruby.evaluator.ASTInterpreter.evalWithBinding(ASTInterpreter.java:166)
>         at org.jruby.RubyKernel.evalCommon(RubyKernel.java:1155)
>         at org.jruby.RubyKernel.eval(RubyKernel.java:1112)
>         at 
> org.jruby.RubyKernel$s$0$3$eval.call(RubyKernel$s$0$3$eval.gen:65535)
>         at 
> org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:181)
>         at 
> org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:282)
>         at 
> org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:71)
>         at 
> org.jruby.ast.FCallManyArgsNode.interpret(FCallManyArgsNode.java:60)
>         at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
>         at 
> org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:74)
>         at 
> org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:120)
>         at 
> org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:134)
>         at 
> org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:174)
>         at 
> org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:282)
>         at 
> org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:71)
>         at org.jruby.ast.CallManyArgsNode.interpret(CallManyArgsNode.java:59)
>         at org.jruby.ast.FCallOneArgNode.interpret(FCallOneArgNode.java:36)
>         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.CallTwoArgNode.interpret(CallTwoArgNode.java:59)
>         at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
>         at org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
>         at org.jruby.ast.RescueNode.executeBody(RescueNode.java:216)
>         at 
> org.jruby.ast.RescueNode.interpretWithJavaExceptions(RescueNode.java:120)
>         at org.jruby.ast.RescueNode.interpret(RescueNode.java:110)
>         at org.jruby.ast.BeginNode.interpret(BeginNode.java:83)
>         at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
>         at org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
>         at 
> org.jruby.evaluator.ASTInterpreter.INTERPRET_BLOCK(ASTInterpreter.java:111)
>         at 
> org.jruby.runtime.InterpretedBlock.evalBlockBody(InterpretedBlock.java:374)
>         at org.jruby.runtime.InterpretedBlock.yield(InterpretedBlock.java:295)
>         at 
> org.jruby.runtime.InterpretedBlock.yieldSpecific(InterpretedBlock.java:229)
>         at org.jruby.runtime.Block.yieldSpecific(Block.java:99)
>         at org.jruby.ast.ZYieldNode.interpret(ZYieldNode.java:25)
>         at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
>         at org.jruby.ast.EnsureNode.interpret(EnsureNode.java:96)
>         at org.jruby.ast.BeginNode.interpret(BeginNode.java:83)
>         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:212)
>         at 
> org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:207)
>         at 
> org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:322)
>         at 
> org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:178)
>         at 
> org.jruby.runtime.callsite.CachingCallSite.callIter(CachingCallSite.java:187)
>         at 
> org.jruby.ast.FCallOneArgBlockNode.interpret(FCallOneArgBlockNode.java:34)
>         at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
>         at 
> org.jruby.evaluator.ASTInterpreter.INTERPRET_BLOCK(ASTInterpreter.java:111)
>         at 
> org.jruby.runtime.InterpretedBlock.evalBlockBody(InterpretedBlock.java:374)
>         at 
> org.jruby.runtime.InterpretedBlock.yieldSpecific(InterpretedBlock.java:260)
>         at org.jruby.runtime.Block.yieldSpecific(Block.java:117)
>         at org.jruby.ast.YieldTwoNode.interpret(YieldTwoNode.java:31)
>         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.ast.RescueNode.executeBody(RescueNode.java:216)
>         at 
> org.jruby.ast.RescueNode.interpretWithJavaExceptions(RescueNode.java:120)
>         at org.jruby.ast.RescueNode.interpret(RescueNode.java:110)
>         at org.jruby.ast.BeginNode.interpret(BeginNode.java:83)
>         at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
>         at 
> org.jruby.evaluator.ASTInterpreter.INTERPRET_BLOCK(ASTInterpreter.java:111)
>         at 
> org.jruby.runtime.InterpretedBlock.evalBlockBody(InterpretedBlock.java:374)
>         at org.jruby.runtime.InterpretedBlock.yield(InterpretedBlock.java:295)
>         at 
> org.jruby.runtime.InterpretedBlock.yieldSpecific(InterpretedBlock.java:229)
>         at org.jruby.runtime.Block.yieldSpecific(Block.java:99)
>         at org.jruby.RubyKernel.loop(RubyKernel.java:1439)
>         at 
> org.jruby.RubyKernel$s$0$0$loop.call(RubyKernel$s$0$0$loop.gen:65535)
>         at 
> org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:302)
>         at 
> org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:144)
>         at 
> org.jruby.runtime.callsite.CachingCallSite.callIter(CachingCallSite.java:153)
>         at 
> org.jruby.ast.FCallNoArgBlockNode.interpret(FCallNoArgBlockNode.java:32)
>         at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
>         at 
> org.jruby.evaluator.ASTInterpreter.INTERPRET_BLOCK(ASTInterpreter.java:111)
>         at 
> org.jruby.runtime.InterpretedBlock.evalBlockBody(InterpretedBlock.java:374)
>         at org.jruby.runtime.InterpretedBlock.yield(InterpretedBlock.java:347)
>         at org.jruby.runtime.InterpretedBlock.yield(InterpretedBlock.java:304)
>         at org.jruby.runtime.Block.yield(Block.java:130)
>         at org.jruby.RubyContinuation.enter(RubyContinuation.java:106)
>         at org.jruby.RubyKernel.rbCatch(RubyKernel.java:1212)
>         at 
> org.jruby.RubyKernel$s$1$0$rbCatch.call(RubyKernel$s$1$0$rbCatch.gen:65535)
>         at 
> org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:322)
>         at 
> org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:178)
>         at 
> org.jruby.runtime.callsite.CachingCallSite.callIter(CachingCallSite.java:187)
>         at 
> org.jruby.ast.FCallOneArgBlockNode.interpret(FCallOneArgBlockNode.java:34)
>         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:169)
>         at 
> org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:191)
>         at 
> org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:302)
>         at 
> org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:144)
>         at 
> org.jruby.runtime.callsite.CachingCallSite.callIter(CachingCallSite.java:153)
>         at 
> org.jruby.ast.CallNoArgBlockNode.interpret(CallNoArgBlockNode.java:64)
>         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:147)
>         at 
> org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:183)
>         at 
> org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:292)
>         at 
> org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:135)
>         at 
> home.jawed.hbase.bin.$_dot_dot_.bin.hirb.block_2$RUBY$start(/home/jawed/hbase/bin/../bin/hirb.rb:185)
>         at 
> home$jawed$hbase$bin$$_dot_dot_$bin$hirb$block_2$RUBY$start.call(home$jawed$hbase$bin$$_dot_dot_$bin$hirb$block_2$RUBY$start:65535)
>         at org.jruby.runtime.CompiledBlock.yield(CompiledBlock.java:112)
>         at org.jruby.runtime.CompiledBlock.yield(CompiledBlock.java:95)
>         at org.jruby.runtime.Block.yield(Block.java:130)
>         at org.jruby.RubyContinuation.enter(RubyContinuation.java:106)
>         at org.jruby.RubyKernel.rbCatch(RubyKernel.java:1212)
>         at 
> org.jruby.RubyKernel$s$1$0$rbCatch.call(RubyKernel$s$1$0$rbCatch.gen:65535)
>         at 
> org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:322)
>         at 
> org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:178)
>         at 
> org.jruby.runtime.callsite.CachingCallSite.callIter(CachingCallSite.java:187)
>         at 
> home.jawed.hbase.bin.$_dot_dot_.bin.hirb.method__5$RUBY$start(/home/jawed/hbase/bin/../bin/hirb.rb:184)
>         at 
> home$jawed$hbase$bin$$_dot_dot_$bin$hirb$method__5$RUBY$start.call(home$jawed$hbase$bin$$_dot_dot_$bin$hirb$method__5$RUBY$start:65535)
>         at 
> org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:203)
>         at 
> org.jruby.internal.runtime.methods.CompiledMethod.call(CompiledMethod.java:255)
>         at 
> org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:292)
>         at 
> org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:135)
>         at 
> home.jawed.hbase.bin.$_dot_dot_.bin.hirb.__file__(/home/jawed/hbase/bin/../bin/hirb.rb:190)
>         at 
> home.jawed.hbase.bin.$_dot_dot_.bin.hirb.load(/home/jawed/hbase/bin/../bin/hirb.rb)
>         at org.jruby.Ruby.runScript(Ruby.java:697)
>         at org.jruby.Ruby.runScript(Ruby.java:690)
>         at org.jruby.Ruby.runNormally(Ruby.java:597)
>         at org.jruby.Ruby.runFromMain(Ruby.java:446)
>         at org.jruby.Main.doRunFromMain(Main.java:369)
>         at org.jruby.Main.internalRun(Main.java:258)
>         at org.jruby.Main.run(Main.java:224)
>         at org.jruby.Main.run(Main.java:208)
>         at org.jruby.Main.main(Main.java:188)
> Caused by: java.io.IOException: Call to host-10-18-40-101/10.18.40.101:60000 
> 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)

Reply via email to