[ 
https://issues.apache.org/jira/browse/HBASE-27657?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17743225#comment-17743225
 ] 

Ray Mattingly commented on HBASE-27657:
---------------------------------------

I've updated [the design 
doc|https://docs.google.com/document/d/1cGEmUn2kAPhn_Q18DvAOhigtCbnQ8ia6oV4OvMb5DyU/edit?usp=sharing]
 to reflect our new TableBuilder interface for request attributes and have a 
branch which has proved the concept. Does this seem like a more suitable design 
to you [~zhangduo]?

> Connection and Request Attributes
> ---------------------------------
>
>                 Key: HBASE-27657
>                 URL: https://issues.apache.org/jira/browse/HBASE-27657
>             Project: HBase
>          Issue Type: New Feature
>            Reporter: Bryan Beaudreault
>            Assignee: Ray Mattingly
>            Priority: Major
>
> Currently we have the ability to set Operation attributes, via 
> Get.setAttribute, etc. It would be useful to be able to set attributes at the 
> request and connection level.
> These levels can result in less duplication. For example, send some 
> attributes once per connection instead of for every one of the millions of 
> requests a connection might send. Or send once for the request, instead of 
> duplicating on every operation in a multi request.
> Additionally, the Connection and RequestHeader are more globally available on 
> the server side. Both can be accessed via RpcServer.getCurrentCall(), which 
> is useful in various integration points – coprocessors, custom queues, 
> quotas, slow log, etc. Operation attributes are harder to access because you 
> need to parse the raw Message into the appropriate type to get access to the 
> getter.
> I was thinking adding two new methods to Connection interface:
> - setAttribute (and getAttribute/getAttributes)
> - setRequestAttributeProvider
> Any Connection attributes would be set onto the ConnectionHeader during 
> initialization. The RequestAttributeProvider would be called when creating 
> each RequestHeader.
> An alternative to setRequestAttributeProvider would be to add this into 
> HBaseRpcController, which can already be customized via site configuration. 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to