[ https://issues.apache.org/jira/browse/HBASE-16283?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Allan Yang updated HBASE-16283: ------------------------------- Attachment: FailedCase.java Attach a Unit Test to reproduce this issue > Batch Append/Increment will always fail if set ReturnResults to false > --------------------------------------------------------------------- > > Key: HBASE-16283 > URL: https://issues.apache.org/jira/browse/HBASE-16283 > Project: HBase > Issue Type: Bug > Components: API > Affects Versions: 2.0.0, 1.1.5, 1.2.2 > Reporter: Allan Yang > Priority: Minor > Fix For: 2.0.0 > > Attachments: FailedCase.java > > > If set Append/Increment's ReturnResult attribute to false, and batch the > appends/increments to server. The batch operation will always return false. > The reason is that, since return result is set to false, append/increment > will return null instead of Result object. But in > ResponseConverter#getResults, there is some check code > {code} > if (requestRegionActionCount != responseRegionActionResultCount) { > throw new IllegalStateException("Request mutation count=" + > requestRegionActionCount + > " does not match response mutation result count=" + > responseRegionActionResultCount); > } > {code} > That means if the result count is not meat with request mutation count, it > will fail the request. > The solution is simple, instead of returning a null result, return a empty > result if ReturnResult set to null. -- This message was sent by Atlassian JIRA (v6.3.4#6332)