Github user sohami commented on a diff in the pull request: https://github.com/apache/drill/pull/1145#discussion_r173041172 --- Diff: exec/java-exec/src/main/java/org/apache/drill/exec/rpc/control/ControlClient.java --- @@ -103,6 +96,23 @@ protected void handle(ControlConnection connection, int rpcType, ByteBuf pBody, connection.getCurrentHandler().handle(connection, rpcType, pBody, dBody, sender); } + @Override + protected void prepareSaslHandshake(final RpcConnectionHandler<ControlConnection> connectionListener) --- End diff -- `RpcType.SASL_MESSAGE` message accessed within `prepareSaslHandshake` implementation of DataClient/ControlClient is defined separately. Also each of these client except UserClient has access to ConnectionConfig which is not part of BasicClient too and is used in prepareSaslHandshake implementation. Hence I kept the implementations separate for both DataClient and ControlClient.
---