hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jurriaan Mous (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-13784) Add Async Client Table API
Date Fri, 29 May 2015 09:48:19 GMT

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

Jurriaan Mous commented on HBASE-13784:

bq. Well, we have timeouts and retries now (after you fix the 'stop' missed in current patch?)
Adding another timeout in RetryingResponsePromise would be on top of these?

Well I think I will currently leave the logic alone and it can always be addressed in a follow-up
issue. It seems I was mistaken with forgetting end-retry and missed that I copied some code
of the current retry handler into its failure handler. So currently the async retry handler
works as the current sync one.

We need these?
mutate(List<Mutation>): ResponsePromise<Void> - Will not accept Append and Increment
because of nonce requirement.
mutate(RowMutations): ResponsePromise<Void> - Will not accept Append and Increment
mutate(List<RowMutations>): ResponsePromise<Void> - Will not accept Append and
Is it just because Append and Increment are not Mutations? Lets fix that rather than do above?

Append and Increment are mutations but I think it was chosen in the current workflow to not
handle them because they are nonce dependent and thus only allowed to be sent one at a time
to prevent problems.

I don't entirely like that there are 4 mutate methods. There are methods needed to send multiple
Mutations either grouped by row by RowMutation or just a list of mutations to be able to write
buffer them. (Since it is optimal to send multiple mutations in one request) 
Maybe we could remove this functionality completely from AsyncTable and ask people to make
an async BufferedMutator if they want to send multiple mutations. 

 (PromiseKeeping and changing scan... FYI, Scan has had a bunch of work done since you were
around last ... did you notice? It should be easier to fit it to your new form that previous).

I am not aware of all changes so will certainly take a deeper look into those before trying
to fit in an async workflow.

Suggest you float message on dev list to get more input on your new API set.

Will do!

> Add Async Client Table API
> --------------------------
>                 Key: HBASE-13784
>                 URL: https://issues.apache.org/jira/browse/HBASE-13784
>             Project: HBase
>          Issue Type: New Feature
>            Reporter: Jurriaan Mous
>            Assignee: Jurriaan Mous
>         Attachments: HBASE-13784-v1.patch, HBASE-13784.patch
> With the introduction of the Async HBase RPC Client it is possible to create an Async
Table API and more. This issue is focussed on creating a first async Table API so it is possible
to do any non deprecated Table call in an async way.

This message was sent by Atlassian JIRA

View raw message