hadoop-hdfs-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Fei Hui (Jira)" <j...@apache.org>
Subject [jira] [Updated] (HDFS-14852) Remove of LowRedundancyBlocks do NOT remove the block from all queues
Date Wed, 18 Sep 2019 12:39:00 GMT

     [ https://issues.apache.org/jira/browse/HDFS-14852?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Fei Hui updated HDFS-14852:
---------------------------
    Attachment:     (was: HDFS-14852.001.patch)

> Remove of LowRedundancyBlocks do NOT remove the block from all queues
> ---------------------------------------------------------------------
>
>                 Key: HDFS-14852
>                 URL: https://issues.apache.org/jira/browse/HDFS-14852
>             Project: Hadoop HDFS
>          Issue Type: Bug
>          Components: hdfs
>    Affects Versions: 3.2.0, 3.0.3, 3.1.2, 3.3.0
>            Reporter: Fei Hui
>            Assignee: Fei Hui
>            Priority: Major
>
> LowRedundancyBlocks.java
> {code:java}
> // Some comments here
>     if(priLevel >= 0 && priLevel < LEVEL
>         && priorityQueues.get(priLevel).remove(block)) {
>       NameNode.blockStateChangeLog.debug(
>           "BLOCK* NameSystem.LowRedundancyBlock.remove: Removing block {}"
>               + " from priority queue {}",
>           block, priLevel);
>       decrementBlockStat(block, priLevel, oldExpectedReplicas);
>       return true;
>     } else {
>       // Try to remove the block from all queues if the block was
>       // not found in the queue for the given priority level.
>       for (int i = 0; i < LEVEL; i++) {
>         if (i != priLevel && priorityQueues.get(i).remove(block)) {
>           NameNode.blockStateChangeLog.debug(
>               "BLOCK* NameSystem.LowRedundancyBlock.remove: Removing block" +
>                   " {} from priority queue {}", block, i);
>           decrementBlockStat(block, i, oldExpectedReplicas);
>           return true;
>         }
>       }
>     }
>     return false;
>   }
> {code}
> Source code is above, the comments as follow
> {quote}
>       // Try to remove the block from all queues if the block was
>       // not found in the queue for the given priority level.
> {quote}
> The function "remove" does NOT remove the block from all queues.
> Function add from LowRedundancyBlocks.java is used on some places and maybe one block
in two or more queues.
> We found that corrupt blocks mismatch corrupt files on NN web UI. Maybe it is related
to this.
> Upload initial patch



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: hdfs-issues-unsubscribe@hadoop.apache.org
For additional commands, e-mail: hdfs-issues-help@hadoop.apache.org


Mime
View raw message