[jira] [Updated] (HDFS-13846) Safe blocks counter is not decremented correctly if the block is striped
[ https://issues.apache.org/jira/browse/HDFS-13846?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Daniel Templeton updated HDFS-13846: Resolution: Fixed Hadoop Flags: Reviewed Fix Version/s: 3.2.0 Status: Resolved (was: Patch Available) > Safe blocks counter is not decremented correctly if the block is striped > > > Key: HDFS-13846 > URL: https://issues.apache.org/jira/browse/HDFS-13846 > Project: Hadoop HDFS > Issue Type: Bug > Components: hdfs >Affects Versions: 3.1.0 >Reporter: Kitti Nanasi >Assignee: Kitti Nanasi >Priority: Major > Fix For: 3.2.0 > > Attachments: HDFS-13846.001.patch, HDFS-13846.002.patch, > HDFS-13846.003.patch, HDFS-13846.004.patch, HDFS-13846.005.patch > > > In BlockManagerSafeMode class, the "safe blocks" counter is incremented if > the number of nodes containing the block equals to the number of data units > specified by the erasure coding policy, which looks like this in the code: > {code:java} > final int safe = storedBlock.isStriped() ? > ((BlockInfoStriped)storedBlock).getRealDataBlockNum() : > safeReplication; > if (storageNum == safe) { > this.blockSafe++; > {code} > But when it is decremented the code does not check if the block is striped or > not, just compares the number of nodes containing the block with 0 > (safeReplication - 1) if the block is complete, which is not correct. > {code:java} > if (storedBlock.isComplete() && > blockManager.countNodes(b).liveReplicas() == safeReplication - 1) { > this.blockSafe--; > assert blockSafe >= 0; > checkSafeMode(); > } > {code} -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org
[jira] [Updated] (HDFS-13846) Safe blocks counter is not decremented correctly if the block is striped
[ https://issues.apache.org/jira/browse/HDFS-13846?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Kitti Nanasi updated HDFS-13846: Attachment: HDFS-13846.005.patch > Safe blocks counter is not decremented correctly if the block is striped > > > Key: HDFS-13846 > URL: https://issues.apache.org/jira/browse/HDFS-13846 > Project: Hadoop HDFS > Issue Type: Bug > Components: hdfs >Affects Versions: 3.1.0 >Reporter: Kitti Nanasi >Assignee: Kitti Nanasi >Priority: Major > Attachments: HDFS-13846.001.patch, HDFS-13846.002.patch, > HDFS-13846.003.patch, HDFS-13846.004.patch, HDFS-13846.005.patch > > > In BlockManagerSafeMode class, the "safe blocks" counter is incremented if > the number of nodes containing the block equals to the number of data units > specified by the erasure coding policy, which looks like this in the code: > {code:java} > final int safe = storedBlock.isStriped() ? > ((BlockInfoStriped)storedBlock).getRealDataBlockNum() : > safeReplication; > if (storageNum == safe) { > this.blockSafe++; > {code} > But when it is decremented the code does not check if the block is striped or > not, just compares the number of nodes containing the block with 0 > (safeReplication - 1) if the block is complete, which is not correct. > {code:java} > if (storedBlock.isComplete() && > blockManager.countNodes(b).liveReplicas() == safeReplication - 1) { > this.blockSafe--; > assert blockSafe >= 0; > checkSafeMode(); > } > {code} -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org
[jira] [Updated] (HDFS-13846) Safe blocks counter is not decremented correctly if the block is striped
[ https://issues.apache.org/jira/browse/HDFS-13846?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Kitti Nanasi updated HDFS-13846: Attachment: HDFS-13846.004.patch > Safe blocks counter is not decremented correctly if the block is striped > > > Key: HDFS-13846 > URL: https://issues.apache.org/jira/browse/HDFS-13846 > Project: Hadoop HDFS > Issue Type: Bug > Components: hdfs >Affects Versions: 3.1.0 >Reporter: Kitti Nanasi >Assignee: Kitti Nanasi >Priority: Major > Attachments: HDFS-13846.001.patch, HDFS-13846.002.patch, > HDFS-13846.003.patch, HDFS-13846.004.patch > > > In BlockManagerSafeMode class, the "safe blocks" counter is incremented if > the number of nodes containing the block equals to the number of data units > specified by the erasure coding policy, which looks like this in the code: > {code:java} > final int safe = storedBlock.isStriped() ? > ((BlockInfoStriped)storedBlock).getRealDataBlockNum() : > safeReplication; > if (storageNum == safe) { > this.blockSafe++; > {code} > But when it is decremented the code does not check if the block is striped or > not, just compares the number of nodes containing the block with 0 > (safeReplication - 1) if the block is complete, which is not correct. > {code:java} > if (storedBlock.isComplete() && > blockManager.countNodes(b).liveReplicas() == safeReplication - 1) { > this.blockSafe--; > assert blockSafe >= 0; > checkSafeMode(); > } > {code} -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org
[jira] [Updated] (HDFS-13846) Safe blocks counter is not decremented correctly if the block is striped
[ https://issues.apache.org/jira/browse/HDFS-13846?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Kitti Nanasi updated HDFS-13846: Attachment: HDFS-13846.003.patch > Safe blocks counter is not decremented correctly if the block is striped > > > Key: HDFS-13846 > URL: https://issues.apache.org/jira/browse/HDFS-13846 > Project: Hadoop HDFS > Issue Type: Bug > Components: hdfs >Affects Versions: 3.1.0 >Reporter: Kitti Nanasi >Assignee: Kitti Nanasi >Priority: Major > Attachments: HDFS-13846.001.patch, HDFS-13846.002.patch, > HDFS-13846.003.patch > > > In BlockManagerSafeMode class, the "safe blocks" counter is incremented if > the number of nodes containing the block equals to the number of data units > specified by the erasure coding policy, which looks like this in the code: > {code:java} > final int safe = storedBlock.isStriped() ? > ((BlockInfoStriped)storedBlock).getRealDataBlockNum() : > safeReplication; > if (storageNum == safe) { > this.blockSafe++; > {code} > But when it is decremented the code does not check if the block is striped or > not, just compares the number of nodes containing the block with 0 > (safeReplication - 1) if the block is complete, which is not correct. > {code:java} > if (storedBlock.isComplete() && > blockManager.countNodes(b).liveReplicas() == safeReplication - 1) { > this.blockSafe--; > assert blockSafe >= 0; > checkSafeMode(); > } > {code} -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org
[jira] [Updated] (HDFS-13846) Safe blocks counter is not decremented correctly if the block is striped
[ https://issues.apache.org/jira/browse/HDFS-13846?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Kitti Nanasi updated HDFS-13846: Attachment: HDFS-13846.002.patch > Safe blocks counter is not decremented correctly if the block is striped > > > Key: HDFS-13846 > URL: https://issues.apache.org/jira/browse/HDFS-13846 > Project: Hadoop HDFS > Issue Type: Bug > Components: hdfs >Affects Versions: 3.1.0 >Reporter: Kitti Nanasi >Assignee: Kitti Nanasi >Priority: Major > Attachments: HDFS-13846.001.patch, HDFS-13846.002.patch > > > In BlockManagerSafeMode class, the "safe blocks" counter is incremented if > the number of nodes containing the block equals to the number of data units > specified by the erasure coding policy, which looks like this in the code: > {code:java} > final int safe = storedBlock.isStriped() ? > ((BlockInfoStriped)storedBlock).getRealDataBlockNum() : > safeReplication; > if (storageNum == safe) { > this.blockSafe++; > {code} > But when it is decremented the code does not check if the block is striped or > not, just compares the number of nodes containing the block with 0 > (safeReplication - 1) if the block is complete, which is not correct. > {code:java} > if (storedBlock.isComplete() && > blockManager.countNodes(b).liveReplicas() == safeReplication - 1) { > this.blockSafe--; > assert blockSafe >= 0; > checkSafeMode(); > } > {code} -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org
[jira] [Updated] (HDFS-13846) Safe blocks counter is not decremented correctly if the block is striped
[ https://issues.apache.org/jira/browse/HDFS-13846?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Kitti Nanasi updated HDFS-13846: Attachment: (was: HDFS-13846.002.patch) > Safe blocks counter is not decremented correctly if the block is striped > > > Key: HDFS-13846 > URL: https://issues.apache.org/jira/browse/HDFS-13846 > Project: Hadoop HDFS > Issue Type: Bug > Components: hdfs >Affects Versions: 3.1.0 >Reporter: Kitti Nanasi >Assignee: Kitti Nanasi >Priority: Major > Attachments: HDFS-13846.001.patch > > > In BlockManagerSafeMode class, the "safe blocks" counter is incremented if > the number of nodes containing the block equals to the number of data units > specified by the erasure coding policy, which looks like this in the code: > {code:java} > final int safe = storedBlock.isStriped() ? > ((BlockInfoStriped)storedBlock).getRealDataBlockNum() : > safeReplication; > if (storageNum == safe) { > this.blockSafe++; > {code} > But when it is decremented the code does not check if the block is striped or > not, just compares the number of nodes containing the block with 0 > (safeReplication - 1) if the block is complete, which is not correct. > {code:java} > if (storedBlock.isComplete() && > blockManager.countNodes(b).liveReplicas() == safeReplication - 1) { > this.blockSafe--; > assert blockSafe >= 0; > checkSafeMode(); > } > {code} -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org
[jira] [Updated] (HDFS-13846) Safe blocks counter is not decremented correctly if the block is striped
[ https://issues.apache.org/jira/browse/HDFS-13846?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Kitti Nanasi updated HDFS-13846: Attachment: HDFS-13846.002.patch > Safe blocks counter is not decremented correctly if the block is striped > > > Key: HDFS-13846 > URL: https://issues.apache.org/jira/browse/HDFS-13846 > Project: Hadoop HDFS > Issue Type: Bug > Components: hdfs >Affects Versions: 3.1.0 >Reporter: Kitti Nanasi >Assignee: Kitti Nanasi >Priority: Major > Attachments: HDFS-13846.001.patch, HDFS-13846.002.patch > > > In BlockManagerSafeMode class, the "safe blocks" counter is incremented if > the number of nodes containing the block equals to the number of data units > specified by the erasure coding policy, which looks like this in the code: > {code:java} > final int safe = storedBlock.isStriped() ? > ((BlockInfoStriped)storedBlock).getRealDataBlockNum() : > safeReplication; > if (storageNum == safe) { > this.blockSafe++; > {code} > But when it is decremented the code does not check if the block is striped or > not, just compares the number of nodes containing the block with 0 > (safeReplication - 1) if the block is complete, which is not correct. > {code:java} > if (storedBlock.isComplete() && > blockManager.countNodes(b).liveReplicas() == safeReplication - 1) { > this.blockSafe--; > assert blockSafe >= 0; > checkSafeMode(); > } > {code} -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org
[jira] [Updated] (HDFS-13846) Safe blocks counter is not decremented correctly if the block is striped
[ https://issues.apache.org/jira/browse/HDFS-13846?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Kitti Nanasi updated HDFS-13846: Attachment: HDFS-13846.001.patch > Safe blocks counter is not decremented correctly if the block is striped > > > Key: HDFS-13846 > URL: https://issues.apache.org/jira/browse/HDFS-13846 > Project: Hadoop HDFS > Issue Type: Bug > Components: hdfs >Affects Versions: 3.1.0 >Reporter: Kitti Nanasi >Assignee: Kitti Nanasi >Priority: Major > Attachments: HDFS-13846.001.patch > > > In BlockManagerSafeMode class, the "safe blocks" counter is incremented if > the number of nodes containing the block equals to the number of data units > specified by the erasure coding policy, which looks like this in the code: > {code:java} > final int safe = storedBlock.isStriped() ? > ((BlockInfoStriped)storedBlock).getRealDataBlockNum() : > safeReplication; > if (storageNum == safe) { > this.blockSafe++; > {code} > But when it is decremented the code does not check if the block is striped or > not, just compares the number of nodes containing the block with 0 > (safeReplication - 1) if the block is complete, which is not correct. > {code:java} > if (storedBlock.isComplete() && > blockManager.countNodes(b).liveReplicas() == safeReplication - 1) { > this.blockSafe--; > assert blockSafe >= 0; > checkSafeMode(); > } > {code} -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org
[jira] [Updated] (HDFS-13846) Safe blocks counter is not decremented correctly if the block is striped
[ https://issues.apache.org/jira/browse/HDFS-13846?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Kitti Nanasi updated HDFS-13846: Status: Patch Available (was: Open) > Safe blocks counter is not decremented correctly if the block is striped > > > Key: HDFS-13846 > URL: https://issues.apache.org/jira/browse/HDFS-13846 > Project: Hadoop HDFS > Issue Type: Bug > Components: hdfs >Affects Versions: 3.1.0 >Reporter: Kitti Nanasi >Assignee: Kitti Nanasi >Priority: Major > Attachments: HDFS-13846.001.patch > > > In BlockManagerSafeMode class, the "safe blocks" counter is incremented if > the number of nodes containing the block equals to the number of data units > specified by the erasure coding policy, which looks like this in the code: > {code:java} > final int safe = storedBlock.isStriped() ? > ((BlockInfoStriped)storedBlock).getRealDataBlockNum() : > safeReplication; > if (storageNum == safe) { > this.blockSafe++; > {code} > But when it is decremented the code does not check if the block is striped or > not, just compares the number of nodes containing the block with 0 > (safeReplication - 1) if the block is complete, which is not correct. > {code:java} > if (storedBlock.isComplete() && > blockManager.countNodes(b).liveReplicas() == safeReplication - 1) { > this.blockSafe--; > assert blockSafe >= 0; > checkSafeMode(); > } > {code} -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org