hadoop-hdfs-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andrew Wang (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HDFS-5064) Standby checkpoints should not block concurrent readers
Date Tue, 15 Apr 2014 00:13:16 GMT

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

Andrew Wang commented on HDFS-5064:
-----------------------------------

Hi Daryn,

It's an unfair RW lock with a slight twist. Rather than just having readers and writers, we
have short reads, long reads, and writes. During a long read, we let short reads jump ahead
of waiting writers and enter the critical section. This lets us get read concurrency during
these long read ops when otherwise a single waiting writer would block all readers from entering.

> Standby checkpoints should not block concurrent readers
> -------------------------------------------------------
>
>                 Key: HDFS-5064
>                 URL: https://issues.apache.org/jira/browse/HDFS-5064
>             Project: Hadoop HDFS
>          Issue Type: Bug
>          Components: ha, namenode
>    Affects Versions: 2.3.0
>            Reporter: Aaron T. Myers
>            Assignee: Aaron T. Myers
>             Fix For: 2.4.0
>
>         Attachments: HDFS-5064.patch, HDFS-5064.patch
>
>
> We've observed an issue which causes fetches of the {{/jmx}} page of the NN to take a
long time to load when the standby is in the process of creating a checkpoint.
> Even though both creating the checkpoint and gathering the statistics for {{/jmx}} take
only the FSNS read lock, the issue is that since the FSNS uses a _fair_ RW lock, a single
writer attempting to get the lock will block all threads attempting to get only the read lock
for the duration of the checkpoint. This will cause {{/jmx}}, and really any thread only attempting
to get the read lock, to block for the duration of the checkpoint, even though they should
be able to proceed concurrently with the checkpointing thread.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Mime
View raw message