virajjasani commented on a change in pull request #1921:
URL: https://github.com/apache/hbase/pull/1921#discussion_r441567013
##########
File path:
hbase-client/src/main/java/org/apache/hadoop/hbase/security/HBaseSaslRpcClient.java
##########
@@ -148,6 +148,18 @@ public boolean saslConnect(InputStream inS, OutputStream
outS) throws IOExceptio
inStream.readFully(saslToken);
}
}
+
+ if(isComplete()){
+ try {
+ readStatus(inStream);
+ }
+ catch (Exception e){
+ if(e instanceof RemoteException){
+ LOG.debug("Sasl connection failed: ", e);
+ throw e;
Review comment:
This should be out of if condition right? Don't we want to re-throw
`IOException` other than `RemoteException`?
Which brings the question, why to even have if condition? I know
`RemoteException` coming from `readStatus` is imp to us but we don't want to
swallow IOException if `inStream.readInt()` throws one because
`inStream.readInt()` is pre-requisite to know whether the status is
`SaslStatus.SUCCESS`
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]