hadoop-common-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "he yongqiang (JIRA)" <j...@apache.org>
Subject [jira] Created: (HADOOP-5438) Merge FileSystem.create and FileSystem.append
Date Mon, 09 Mar 2009 05:58:52 GMT
Merge FileSystem.create and FileSystem.append
---------------------------------------------

                 Key: HADOOP-5438
                 URL: https://issues.apache.org/jira/browse/HADOOP-5438
             Project: Hadoop Core
          Issue Type: Improvement
            Reporter: he yongqiang


Currently, when a user wants to modify a file, the user first calls exists() to know if this
file is already there. And then uses create() or append() according to whether the file exists
or not.
the code looks like:
{code}
FSDataOutputStream out_1 = null;
if (fs.exists(path_1))
   out_1 = fs.append(path_1);
else
   out_1 = fs.create(path_1);
{code}
. On the performace side,It involes two RPCs. On the easy-of-use side, it is not very convient
in contrast to the traditional open interface.

It will more complicate if there is a overwrite parameter specified. I donot know whether
there is a bug about 'overwrite' in 0.19, some times it takes a long time for overwrite creates
to reture. So i make the write file code with overwrite param works like:
{code}
boolean exists = fs.exists(name);
if (overwrite) {
    if (exists)
       fs.delete(name, true);
     this.out = fs.create(name, overwrite, bufferSize, replication,
				    blockSize, progress);
     this.currentRowID = 0;
 } else {
   if (!exists)
	this.out = fs.create(name, overwrite, bufferSize,
					replication, blockSize, progress);
   else
	this.out = fs.append(name, bufferSize, progress);
{code}

Some code statements there are really redundant and not needed, especialy with the delete().
But without deleting first, the overwrite takes a long time to reture.

BTW, i will create another issue about the overwrite problem. If it is not a bug at all or
a duplicate, someone please close it.



-- 
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