You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Chia-Ping Tsai (JIRA)" <ji...@apache.org> on 2017/04/22 20:26:04 UTC

[jira] [Commented] (HBASE-9899) for idempotent operation dups, return the result instead of throwing conflict exception

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

Chia-Ping Tsai commented on HBASE-9899:
---------------------------------------

hi [~zghaobac]
We forget to pass the nonce/nonceGroup into the scanner in branch-1.
{code}
  protected RegionScanner instantiateRegionScanner(Scan scan,
      List<KeyValueScanner> additionalScanners, long nonceGroup, long nonce) throws IOException {
    if (scan.isReversed()) {
      if (scan.getFilter() != null) {
        scan.getFilter().setReversed(true);
      }
      return new ReversedRegionScannerImpl(scan, additionalScanners, this);
    }
    return new RegionScannerImpl(scan, additionalScanners, this);
  }
{code}
Would you please fix it? Otherwise, we will break the idempotent. (The duplicate append will see the different version of data)
FYI [~stack]

> for idempotent operation dups, return the result instead of throwing conflict exception
> ---------------------------------------------------------------------------------------
>
>                 Key: HBASE-9899
>                 URL: https://issues.apache.org/jira/browse/HBASE-9899
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: Sergey Shelukhin
>            Assignee: Guanghao Zhang
>             Fix For: 2.0.0, 1.3.0, 1.4.0
>
>         Attachments: HBASE-9899-addendum.patch, HBASE-9899-branch-1.patch, HBASE-9899-branch-1.patch, HBASE-9899-branch-1.patch, HBASE-9899-v1.patch, HBASE-9899-v2.patch, HBASE-9899-v3.patch, HBASE-9899-v3.patch, HBASE-9899-v4.patch, HBASE-9899-v4.patch
>
>
> After HBASE-3787, we could store mvcc in operation context, and use it to convert the modification request into read on dups instead of throwing OperationConflictException.
> MVCC tracking will have to be aware of such MVCC numbers present. Given that scanners are usually relatively short-lived, that would prevent low watermark from advancing for quite a bit more time



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)