You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Hudson (Jira)" <ji...@apache.org> on 2024/03/10 19:41:00 UTC

[jira] [Commented] (HBASE-28424) Set correct Result to RegionActionResult for successful Put/Delete mutations

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

Hudson commented on HBASE-28424:
--------------------------------

Results for branch branch-2.5
	[build #494 on builds.a.o|https://ci-hbase.apache.org/job/HBase%20Nightly/job/branch-2.5/494/]: (x) *{color:red}-1 overall{color}*
----
details (if available):

(x) {color:red}-1 general checks{color}
-- For more information [see general report|https://ci-hbase.apache.org/job/HBase%20Nightly/job/branch-2.5/494/General_20Nightly_20Build_20Report/]


(x) {color:red}-1 jdk8 hadoop2 checks{color}
-- For more information [see jdk8 (hadoop2) report|https://ci-hbase.apache.org/job/HBase%20Nightly/job/branch-2.5/494/JDK8_20Nightly_20Build_20Report_20_28Hadoop2_29/]


(x) {color:red}-1 jdk8 hadoop3 checks{color}
-- For more information [see jdk8 (hadoop3) report|https://ci-hbase.apache.org/job/HBase%20Nightly/job/branch-2.5/494/JDK8_20Nightly_20Build_20Report_20_28Hadoop3_29/]


(/) {color:green}+1 jdk11 hadoop3 checks{color}
-- For more information [see jdk11 report|https://ci-hbase.apache.org/job/HBase%20Nightly/job/branch-2.5/494/JDK11_20Nightly_20Build_20Report_20_28Hadoop3_29/]


(/) {color:green}+1 source release artifact{color}
-- See build output for details.


(/) {color:green}+1 client integration test{color}


> Set correct Result to RegionActionResult for successful Put/Delete mutations
> ----------------------------------------------------------------------------
>
>                 Key: HBASE-28424
>                 URL: https://issues.apache.org/jira/browse/HBASE-28424
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: Viraj Jasani
>            Assignee: Jing Yu
>            Priority: Major
>              Labels: pull-request-available
>             Fix For: 2.6.0, 2.4.18, 3.0.0-beta-2, 2.5.9
>
>
> While returning response of multi(), RSRpcServices build the RegionActionResult with Result or Exception (ClientProtos.ResultOrException). It sets the Exception to this class in all cases where the operation fails with corresponding exception types e.g. NoSuchColumnFamilyException or FailedSanityCheckException etc.
> In case of atomic mutations Increment and Append, we add the Result object to ClientProtos.ResultOrException, which is used by client to retrieve result from the batch API: {_}Table#batch(List<? extends Row> actions, Object[] results){_}.
> Phoenix performs atomic mutation for Put using _preBatchMutate()_ endpoint. Hence, returning Result object with ResultOrException is important for the purpose of returning the result back to the client as part of the atomic operation. Even if Phoenix returns the OperationStatus (with Result) to MiniBatchOperationInProgress, since HBase uses the empty Result for the Success case, the client would not be able to get the expected result.
> {code:java}
> case SUCCESS:
>   builder.addResultOrException(
>     getResultOrException(ClientProtos.Result.getDefaultInstance(), index));
>   break; {code}
> If OperationStatus returned by _Region#batchMutate_ has valid Result object, it should be used by RSRpcServices while returning the response.



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