apurtell opened a new pull request, #4642:
URL: https://github.com/apache/hbase/pull/4642

   Revert "HBASE-24579: Failed SASL authentication does not result in an 
exception on client side (#1921)"
   
   This reverts commit bd79c4065ccb13a5e217d844376b3e7b9489d2fe.
   
   When Kerberos authentication succeeds, on the server side, after
   receiving the final SASL token from the client, we simply wait for
   the client to continue by sending the connection header.
   After HBASE-24579, on the client side, an additional readStatus()
   was added, which mistakenly assumes that after negotiation has
   completed a status code will be sent. However when authentication
   has succeeded the server will not send one. As a result the client
   will hang and only throw an exception when the configured read
   timeout is reached, which is 20 seconds by default.
   
   We cannot unilaterally send the expected additional status code
   from the server side because older clients will not expect it. The
   first call will fail because the client finds unexpected bytes in
   the stream ahead of the call response. Fabricating a call response
   also does not seem a viable strategy for backwards compatibility.
   
   The HBASE-24579 change needs to be reconsidered given the
   difficult backwards compatibility challenges here.


-- 
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.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to