[
https://issues.apache.org/jira/browse/HDFS-142?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Todd Lipcon updated HDFS-142:
-----------------------------
Attachment: hdfs-142-commitBlockSynchronization-unknown-datanode.txt
hdfs-142-testcases.txt
Uploading two more patches for 0.20 append:
- hdfs-142-commitBlockSynchronization-unknown-datanode.txt fixes a case where
FSN.getDatanode was throwing an UnregisteredDatanodeException since one of the
original recovery targets had departed the cluster (in this case been replaced
by a new DN with the same storage but a different port). This exception was
causing the commitBlockSynchronization to fail after removing the old block
from blocksMap but before putting in the new one, making both old and new
blocks inaccessible, and causing any further nextGenerationStamp calls to fail.
- hdfs-142-testcases.txt includes two new test cases:
-- testRecoverFinalizedBlock stops a writer just before it calls completeFile()
and then has another client recover the file
-- testDatanodeFailsToCommit() injects an IOE when the DN calls
commitBlockSynchronization for the first time, to make sure that the retry
succeeds even though updateBlocks() was already called during the first
synchronization attempt.
-- These tests pass after applying Sam's patch to fix refinalization of a
finalized block.
> In 0.20, move blocks being written into a blocksBeingWritten directory
> ----------------------------------------------------------------------
>
> Key: HDFS-142
> URL: https://issues.apache.org/jira/browse/HDFS-142
> Project: Hadoop HDFS
> Issue Type: Bug
> Reporter: Raghu Angadi
> Assignee: dhruba borthakur
> Priority: Blocker
> Attachments: appendQuestions.txt, deleteTmp.patch, deleteTmp2.patch,
> deleteTmp5_20.txt, deleteTmp5_20.txt, deleteTmp_0.18.patch, handleTmp1.patch,
> hdfs-142-commitBlockSynchronization-unknown-datanode.txt,
> HDFS-142-deaddn-fix.patch, HDFS-142-finalize-fix.txt,
> hdfs-142-minidfs-fix-from-409.txt,
> HDFS-142-multiple-blocks-datanode-exception.patch, hdfs-142-testcases.txt,
> HDFS-142_20.patch, testfileappend4-deaddn.txt
>
>
> Before 0.18, when Datanode restarts, it deletes files under data-dir/tmp
> directory since these files are not valid anymore. But in 0.18 it moves these
> files to normal directory incorrectly making them valid blocks. One of the
> following would work :
> - remove the tmp files during upgrade, or
> - if the files under /tmp are in pre-18 format (i.e. no generation), delete
> them.
> Currently effect of this bug is that, these files end up failing block
> verification and eventually get deleted. But cause incorrect over-replication
> at the namenode before that.
> Also it looks like our policy regd treating files under tmp needs to be
> defined better. Right now there are probably one or two more bugs with it.
> Dhruba, please file them if you rememeber.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.