Andrew Purtell created HBASE-9351:
-------------------------------------

             Summary: Connection capability negotiation
                 Key: HBASE-9351
                 URL: https://issues.apache.org/jira/browse/HBASE-9351
             Project: HBase
          Issue Type: Improvement
            Reporter: Andrew Purtell


Would be useful to support negotiation at connection setup time beyond SASL. 
Consider:

Start with a default baseline profile. Both client and server sides can begin 
communicating immediately (or after SASL completes if security is active), with 
a baseline set of messages and codecs.

For more interesting use cases, support configuration messages that negotiate 
connection configuration going forward after both sides ack the changes: codec, 
configuration, compression. Any nack aborts the upgrade request and leaves both 
sides still in the default profile.

Should be a pluggable implementation. For example, codec implementations should 
be automatically discovered at runtime if shipped with the client or server, 
and the set of available options should be communicated to the other side.

Features like codecs should all be versioned themselves. Negotiation should be 
version aware, and decisionmaking on if a given pair of component versions are 
compatible should be delegated to the component.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to