[
https://issues.apache.org/jira/browse/HBASE-23349?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16989474#comment-16989474
]
Viraj Jasani edited comment on HBASE-23349 at 12/10/19 5:48 AM:
----------------------------------------------------------------
It seems at least max refCount based metric is not going to help here. Let me
repurpose this Jira.
The major issue is client holding read lock on compacted files for longer time
and if we really want to tackle this gracefully, we might have to remove file
reader from open scanners and let open scanners use new store files - seems
tricky though.
Also, on the other hand, once reader lock is released, we can check if archival
of compacted files was blocked on this and if so, let the discharger thread run
forcefully then and there before someone else takes read lock - this might also
be tricky and not sure if it would be performant.
[~apurtell] [~anoop.hbase]
was (Author: vjasani):
It seems at least max refCount based metric is not going to help here. Let me
repurpose this Jira and the patch attached so far upto 002 can be ignored.
The major issue is client holding read lock on compacted files for longer time
and if we really want to tackle this gracefully, we might have to remove file
reader from open scanners and let open scanners use new store files - seems
tricky though.
Also, on the other hand, once reader lock is released, we can check if archival
of compacted files was blocked on this and if so, let the discharger thread run
forcefully then and there before someone else takes read lock - this might also
be tricky and not sure if it would be performant.
[~apurtell] [~anoop.hbase]
> Reader lock on compacted store files preventing archival of compacted files
> ---------------------------------------------------------------------------
>
> Key: HBASE-23349
> URL: https://issues.apache.org/jira/browse/HBASE-23349
> Project: HBase
> Issue Type: Improvement
> Affects Versions: 3.0.0, 2.3.0, 1.6.0
> Reporter: Viraj Jasani
> Assignee: Viraj Jasani
> Priority: Major
> Fix For: 3.0.0, 2.3.0, 1.6.0
>
>
> refCounts on compacted away store files as low as 1 can also prevent archival.
> {code:java}
> regionserver.HStore - Can't archive compacted file
> hdfs://{{root-dir}}/hbase/data/default/t1/12a9e1112e0371955b3db8d3ebb2d298/cf1/73b72f5ddfce4a34a9e01afe7b83c1f9
> because of either isCompactedAway=true or file has reference,
> isReferencedInReads=true, refCount=1, skipping for now.
> {code}
> We should come up with core code blocking reader lock if client or
> coprocessor has held the lock for significantly high amount of
> time(configurable - mostly same as discharger thread interval) or gracefully
> resolve reader lock issue.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)