Description
Similar to HBASE-9256 , SecureClient#setupIOStreams should also catch up all Exception. In our production environment, an OutOfMemoryError is thrown in SecureClient#setupIOStreams, leaving an unclosed SecureConnection with its inputStream/outputStream still null. Therefore, following calls will be attached to this connection and will encounter NPE in HBaseClient#sendParam:
java.lang.NullPointerException at org.apache.hadoop.hbase.ipc.HBaseClient$Connection.sendParam(HBaseClient.java:619) at org.apache.hadoop.hbase.ipc.HBaseClient.call(HBaseClient.java:977) at org.apache.hadoop.hbase.ipc.SecureRpcEngine$Invoker.invoke(SecureRpcEngine.java:107) at $Proxy21.replicateLogEntries(Unknown Source) at org.apache.hadoop.hbase.replication.regionserver.ReplicationSource.shipEdits(ReplicationSource.java:772) at org.apache.hadoop.hbase.replication.regionserver.ReplicationSource.run(ReplicationSource.java:451)
We'd fix this in 0.94.