hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ryan rawson (JIRA)" <j...@apache.org>
Subject [jira] Commented: (HBASE-2408) Add envelope around client<->server communication so can pass state along w/ data during interchange
Date Tue, 06 Apr 2010 01:50:27 GMT

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

ryan rawson commented on HBASE-2408:

one thing we might have to do here is to add in the concurrency control numbers, if a client
is scanning a row in multiple calls, normally this might be reset.

i like the idea of using optional fields in avro to carry this along. it should be in-band,
since it is an in-band message, although maybe only advisory.

> Add envelope around client<->server communication so can pass state along w/ data
during interchange
> ----------------------------------------------------------------------------------------------------
>                 Key: HBASE-2408
>                 URL: https://issues.apache.org/jira/browse/HBASE-2408
>             Project: Hadoop HBase
>          Issue Type: Improvement
>            Reporter: stack
> This issue is about adding a dimension along which we can pass metadata on changes in
client-server communications.  What i mean by this is that that while an HTable#get will return
a RowResult, we need to also be able to also convey, messages like "I got the result for this
row from a region other than the one you asked for -- update your cache with this new location".
> I can think of two examples where this mechanism could be useful.
> 1. HBASE-72 "'Normal' operation should not depend on throwing of exceptions (e.g. NotServingRegionException)".
 Rather than have the server throw a NotServingRegionException as we do now as signal to client
to go look elsewhere for the wanted data, we could instead signal the client to look elsewhere
by setting a state in the envelope.
> 2. If a client asks for a row and meantime the region has split, if the regionserver
queried is hosting the daughter that is carrying the wanted row, it could save the client
hops by passing back the wanted row with a message in the envelope that client should update
its cache removing parent and replacing with daughter location.
> AVRO rpc carries headers?  We could stuff our enveloping stuff there?  Or, shudder, if
we used AVRO HTTP for RPC, we could do our messages as HTTP headers.

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message