[
https://issues.apache.org/jira/browse/HBASE-25709?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17321036#comment-17321036
]
Xiaolin Ha commented on HBASE-25709:
------------------------------------
Yes, [~stack] , you are right. Setting it default on will make all scanners be
aborted as soon as possible. While only compaction scanners be aborted is not
enough, because the user-scanner also want to be preempted instead of a long
timeout return. What's more, it will not bring correctness issues, because the
KeyValueHeap only used the result set, the top cell on the store heap is for
completing whole raw cells, eagerly close for store scanners and some other
checks...
I have updated the PR, set default on, and add UTs to check both the semantic
and the data correctness.
Would you mind reviewing the patch again?
> Close region may stuck when region is compacting and skipped most cells read
> ----------------------------------------------------------------------------
>
> Key: HBASE-25709
> URL: https://issues.apache.org/jira/browse/HBASE-25709
> Project: HBase
> Issue Type: Improvement
> Components: Compaction
> Affects Versions: 1.4.13
> Reporter: Xiaolin Ha
> Assignee: Xiaolin Ha
> Priority: Major
> Attachments: Master-UI-RIT.png, RS-region-state.png
>
>
> We found in our cluster about stop region stuck. The region is compacting,
> and its store files has many TTL expired cells. Close region state
> marker(HRegion#writestate.writesEnabled) is not checked in compaction,
> because most cells were skipped.
> !RS-region-state.png|width=698,height=310!
>
> !Master-UI-RIT.png|width=693,height=157!
>
> HBASE-23968 has encountered similar problem, but the solution in it is outer
> the method
> InternalScanner#next(List<Cell> result, ScannerContext scannerContext), which
> will not return if there are many skipped cells, for current compaction
> scanner context. As a result, we need to return in time in the next method,
> and then check the stop marker.
>
>
>
--
This message was sent by Atlassian Jira
(v8.3.4#803005)