hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "zhangduo (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-13530) Add param for bulkload wait duration in HRegion.
Date Sat, 25 Apr 2015 10:04:38 GMT

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

zhangduo commented on HBASE-13530:

[~victorunique] So we need to find the real operation that locks region for a long time?

The ReentrantReadWriteLock in java does have the problem as what you said, if one thread is
waiting on getting WriteLock, then all following operations of getting ReadLock will be blocked
even in unfair mode.

But there are lots of other operations other than bulkload that need to hold WriteLock and
lots of them do not have a timeout. So this is a general problem, we need to find a general
way to solve it.


> Add param for bulkload wait duration in HRegion.
> ------------------------------------------------
>                 Key: HBASE-13530
>                 URL: https://issues.apache.org/jira/browse/HBASE-13530
>             Project: HBase
>          Issue Type: Improvement
>          Components: regionserver
>    Affects Versions: 0.98.12
>            Reporter: Victor Xu
>            Priority: Minor
>             Fix For: 2.0.0, 0.98.13
>         Attachments: HBASE-13530-0.98-v2.patch, HBASE-13530-0.98.patch, HBASE-13530-master-v2.patch,
HBASE-13530-master.patch, HBASE-13530-v1.patch
> In our scenario, incremental read/write operations and complete bulkload operations are
mixed together. Bulkload needs write lock while read/write and flush/compact need read lock.
When a region is compacting, the bulkload could hang at writeLock.tryLock(waitDuration, TimeUnit)
method. The original default waitDuration is 60sec (from 'hbase.busy.wait.duration'), and
this could block all read/writes operations from acquiring read lock for 1 minute. The chances
of this scenario become high when compaction speed limit feature(HBASE-8329) is used.
> Maybe we need to decrease the wait duration ONLY for bulkload, and let read/write keep
theirs. So I add this param('hbase.bulkload.wait.duration') to tune wait duration for bulkloading.
Of course, it is a table level setting, and the default value is from original logic.

This message was sent by Atlassian JIRA

View raw message