hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Hudson (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-8942) DFS errors during a read operation (get/scan), may cause write outliers
Date Mon, 04 Nov 2013 05:04:19 GMT

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

Hudson commented on HBASE-8942:
-------------------------------

SUCCESS: Integrated in HBase-0.94 #1194 (See [https://builds.apache.org/job/HBase-0.94/1194/])
HBASE-8942 DFS errors during a read operation (get/scan), may cause write outliers (Amitanand
Aiyer) (larsh: rev 1538484)
* /hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/regionserver/Store.java


> DFS errors during a read operation (get/scan), may cause write outliers
> -----------------------------------------------------------------------
>
>                 Key: HBASE-8942
>                 URL: https://issues.apache.org/jira/browse/HBASE-8942
>             Project: HBase
>          Issue Type: Bug
>    Affects Versions: 0.89-fb, 0.95.2
>            Reporter: Amitanand Aiyer
>            Assignee: Amitanand Aiyer
>            Priority: Minor
>             Fix For: 0.89-fb, 0.98.0, 0.96.1, 0.94.14
>
>         Attachments: 8942.096.txt, HBase-8942.txt
>
>
> This is a similar issue as discussed in HBASE-8228
> 1) A scanner holds the Store.ReadLock() while opening the store files ... encounters
errors. Thus, takes a long time to finish.
> 2) A flush is completed, in the mean while. It needs the write lock to commit(), and
update scanners. Hence ends up waiting.
> 3+) All Puts (and also Gets) to the CF, which will need a read lock, will have to wait
for 1) and 2) to complete. Thus blocking updates to the system for the DFS timeout.
> Fix:
>  Open Store files outside the read lock. getScanners() already tries to do this optimisation.
However, Store.getScanner() which calls this functions through the StoreScanner constructor,
redundantly tries to grab the readLock. Causing the readLock to be held while the storeFiles
are being opened, and seeked.
>  We should get rid of the readLock() in Store.getScanner(). This is not required. The
constructor for StoreScanner calls getScanners(xxx, xxx, xxx). This has the required locking
already.



--
This message was sent by Atlassian JIRA
(v6.1#6144)

Mime
View raw message