[ 
http://issues.apache.org/jira/browse/HADOOP-76?page=comments#action_12445173 ] 
            
Sanjay Dahiya commented on HADOOP-76:
-------------------------------------

Looking at FileSystem implementation here is a concern 

FileSystem is an abstract class, extended by Local/Distributed FileSystem. 
ideal way to have a PhasedFileSystem would be if FileSystem was an interface, 
we could implement it and take a FileSystem in the constructor of 
PhasedFIleSystem. some thing like  - 
PhasedFileSystem implements FileSystem{
   public PhasedFileSystem(FileSysten fs);
   // channel all methods to fs 
  // implement commit() / abort()
}
In this case we could use Phased functionality with both Local/Distributed 
FileSystem, still maintaining interface compatibility. Doing this with base 
abstract class will cause some dummy objects. as in next option 

Next option is to have something like 

PhasedFileSystem extends FileSystem{
   private FileSystem fs ; 
   protected PhasedFileSystem(FileSysten fs) { 
    super(fs.getConf()); // not used, just dummy for base class creation
        this.fs = fs ; 
   }
   protected PhasedFileSystem(conf){ super(conf); throw NotSupportedException; 
} 
   
   public static getNamed(...) { 
     return new PhasedFileSystem(FileSystem.getNamed..) ;
   }
   //  All other methods channel calls to fs
   commit() ;
   abort(); 
}

Last option is to add extra methods to FileSystem itself, which will not be 
used in most cases but will be available in derived FileSystems. This doesnt 
sound too good. 
 
Option 2 is something that will work well for us, even though its not a good 
design.

Comments?

> Implement speculative re-execution of reduces
> ---------------------------------------------
>
>                 Key: HADOOP-76
>                 URL: http://issues.apache.org/jira/browse/HADOOP-76
>             Project: Hadoop
>          Issue Type: Improvement
>          Components: mapred
>    Affects Versions: 0.1.0
>            Reporter: Doug Cutting
>         Assigned To: Sanjay Dahiya
>            Priority: Minor
>         Attachments: Hadoop-76.patch, spec_reducev.patch
>
>
> As a first step, reduce task outputs should go to temporary files which are 
> renamed when the task completes.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to