[ https://issues.apache.org/jira/browse/HBASE-25709?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17318654#comment-17318654 ]
Xiaolin Ha commented on HBASE-25709: ------------------------------------ Yes, I'll also turn on this for user scanners to avoid unexpected long queries. Thanks, [~stack]. I got it. Seems that we can check time limit for scanners when the cell should SKIP and before looping in next()? Codes are as follows, {code:java} case SKIP: if (scannerContext.checkTimeLimit(LimitScope.BETWEEN_CELLS)) { return scannerContext.setScannerState(NextState.TIME_LIMIT_REACHED).hasMoreValues(); } this.heap.next(); break; {code} As a result, we can use the `hbase.hstore.close.check.time.interval` as the time limit for compaction scanners, no need to add this `preventLoopReadEnabled` variable to ScannerContext? > 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)