Home | About | Sematext search-lucene.com search-hadoop.com
 Search Hadoop and all its subprojects:

Switch to Threaded View
MapReduce >> mail # user >> Re: Is FileSystem thread-safe?


Copy link to this message
-
Re: Is FileSystem thread-safe?

As of today, there is no atomic append, so no, what you say isn't possible. FWIU, it is one appender at a time - achieved through a lease per file, and multiple concurrent leases aren't allowed for any given file.

Thanks,
+Vinod Kumar Vavilapalli

On May 17, 2013, at 6:40 AM, John Lilley wrote:

> Thanks! Does this also imply that multiple clients may open the same HDFS file for append simultaneously, and expect append requests to be interleaved?
> john
>  
> From: Arpit Agarwal [mailto:[EMAIL PROTECTED]]
> Sent: Monday, April 01, 2013 4:18 PM
> To: [EMAIL PROTECTED]
> Subject: Re: Is FileSystem thread-safe?
>  
> Hi John,
>
> DistributedFileSystem is intended to be thread-safe, true to its name.
>
> Metadata operations are handled by the NameNode server which synchronizes concurrent client requests via locks (you can look at the FSNameSystem class).
>
> Some discussion on the thread-safety aspects of HDFS:
> http://storageconference.org/2010/Papers/MSST/Shvachko.pdf
>
> -Arpit
>
>
> On Sun, Mar 31, 2013 at 11:52 AM, Ted Yu <[EMAIL PROTECTED]> wrote:
> If you look at DistributedFileSystem source code, you would see that it calls the DFSClient field member for most of the actions.
> Requests to Namenode are then made through ClientProtocol.
>  
> An hdfs committer would be able to give you affirmative answer.
>  
>
> On Sun, Mar 31, 2013 at 11:27 AM, John Lilley <[EMAIL PROTECTED]> wrote:
> From: Ted Yu [mailto:[EMAIL PROTECTED]]
> Subject: Re: Is FileSystem thread-safe?
> >>FileSystem is an abstract class, what concrete class are you using (DistributedFileSystem, etc) ?
> Good point.  I am calling FileSystem.get(URI uri, Configuration conf) with an URI like “hdfs://server:port/…” on a remote server, so I assume it is creating a DistributedFileSystem.  However I am not finding any documentation discussing its thread-safety (or lack thereof), perhaps you can point me to it?
> Thanks, john
>