hadoop-hdfs-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ruyue Ma (JIRA)" <j...@apache.org>
Subject [jira] Created: (HDFS-495) Hadoop FSNamesystem startFileInternal() getLease() has bug
Date Mon, 20 Jul 2009 06:37:14 GMT
Hadoop FSNamesystem startFileInternal() getLease() has bug
----------------------------------------------------------

                 Key: HDFS-495
                 URL: https://issues.apache.org/jira/browse/HDFS-495
             Project: Hadoop HDFS
          Issue Type: Bug
          Components: name-node
    Affects Versions: 0.20.1
            Reporter: Ruyue Ma
            Priority: Minor
             Fix For: 0.20.1


Original Code:

        //
        // If the file is under construction , then it must be in our
        // leases. Find the appropriate lease record.
        //
        Lease lease = leaseManager.getLease(new StringBytesWritable(holder));
        //
        // We found the lease for this file. And surprisingly the original
        // holder is trying to recreate this file. This should never occur.
        //
        if (lease != null) {
          throw new AlreadyBeingCreatedException(
                                                 "failed to create file " + src + " for "
+ holder +
                                                 " on client " + clientMachine + 
                                                 " because current leaseholder is trying to
recreate file.");
        }

Problem: if another client (who has had some file leases) to recreate the underconstruction
file, it can't trigger the lease recovery. 
Reason:  we should do:

 if (new StringBytesWritable(holder).equals(pendingFile.clientName)){
          throw new AlreadyBeingCreatedException(
                                                 "failed to create file " + src + " for "
+ holder +
                                                 " on client " + clientMachine + 
                                                 " because current leaseholder is trying to
recreate file.");
}


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message