[
https://issues.apache.org/jira/browse/HBASE-19680?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16334759#comment-16334759
]
Chia-Ping Tsai commented on HBASE-19680:
----------------------------------------
bq. Looks like there is just regular mode now anyways so can make the below
statement general?
yep, there is no global mode anymore. The error will be thrown to the mutate
thread which triggers the flush.
bq. now, inline, each mutate waits until it has gone to the server and server
sends result back? No more background flushing or flushing when BM buffer is
full? mutate is blocking?
If the buffer has room to accept more mutations, no blocking will happen. The
mutate will block until the buffer is freed if the buffer reaches the limit.
That is what BMI is doing now. The changes added by this patch is to have the
mutate which triggers the flush wait the result from ap in order to catch the
error.
> BufferedMutatorImpl#mutate should wait the result from AP in order to throw
> the failed mutations
> ------------------------------------------------------------------------------------------------
>
> Key: HBASE-19680
> URL: https://issues.apache.org/jira/browse/HBASE-19680
> Project: HBase
> Issue Type: Improvement
> Reporter: Chia-Ping Tsai
> Assignee: Chia-Ping Tsai
> Priority: Major
> Fix For: 2.0.0-beta-2
>
> Attachments: HBASE-19680.v0.patch, HBASE-19680.v1.patch
>
>
> Currently, BMI#mutate doesn't wait the result from AP so the errors are
> stored in AP. The only way which can return the errors to user is, calling
> the flush to catch the exception. That is non-intuitive.
> I feel BMI#mutate should wait the result. That is to say, user can parse the
> exception thrown by BM#mutate to get the failed mutations. Also, we can
> remove the global error from AP.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)