[
https://issues.apache.org/jira/browse/HBASE-17187?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15706368#comment-15706368
]
Enis Soztutar commented on HBASE-17187:
---------------------------------------
bq. So addition of this ... means we will not throw back ScannerResetException
now?
We will throw the exception as it is if it is already a DNRIOE. Otherwise we
throw the exception as ScannerReset or UnknownScanner below.
bq. So which all IO exception will come under and converted to
ScannerResetException now?
All of the IOExceptions coming from deeper layers are converted to
ScannerResetExceptions. Previous behavior before HBASE-16604 was that we will
throw it back to the Scanner, and the scan RPC (callable) will retry when
getting this exception. The scanner was not closed so leaving the scan state in
the server possibly dirty. With HBASE-16604 and this patch, we are making it so
that upon getting IOE, we throw ScannerReset, which closes the scanner and the
RPC is not retried (Callable), however the client scanner will still re-open
another scanner and continue from where ever we are left. So end-to-end
behavior is not changed I think, however we are retrying at the different layer
(RPC retry versus re-opening region scanner).
> DoNotRetryExceptions from coprocessors should bubble up to the application
> --------------------------------------------------------------------------
>
> Key: HBASE-17187
> URL: https://issues.apache.org/jira/browse/HBASE-17187
> Project: HBase
> Issue Type: Bug
> Reporter: Enis Soztutar
> Assignee: Enis Soztutar
> Attachments: hbase-17187_v1.patch
>
>
> In HBASE-16604, we fixed a case where scanner retries was causing the scan to
> miss some data in case the scanner is left with a dirty state (like a
> half-seeked KVHeap).
> The patch introduced a minor compatibility issue, because now if a
> coprocessor throws DNRIOE, we still retry the ClientScanner indefinitely.
> The test {{ServerExceptionIT}} in Phoenix is failing because of this with
> HBASE-16604.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)