hadoop-hdfs-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Dinesh S. Atreya (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HDFS-9607) Advance Hadoop Architecture (AHA) - HDFS
Date Sun, 03 Jan 2016 23:22:39 GMT

    [ https://issues.apache.org/jira/browse/HDFS-9607?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15080571#comment-15080571
] 

Dinesh S. Atreya commented on HDFS-9607:
----------------------------------------

Please choose which of the following API signatures are preferable by the HDFS team. Note
that “write” similar to POSIX is not supported. Only limited write-in-place is supported.
A detailed design document can be prepared after the APIs are agreed upon,

First alternative is given hereunder: 

{code:title= FSWriteInPlaceStream.java|borderStyle=solid}

long 	getPos()
// Get the current position in the input stream.

void 	seek(long desiredWritePos)
// Seek to the given offset.

int 	writeInPlace(long position, int readLength, byte[] writeBuffer)
// Write/Update bytes from writeBuffer up to previously read length 
// at given position in file

int 	writeInPlace(int readLength, byte[] writeBuffer)
// Write/Update bytes from writeBuffer up to previously read length 
// after seek in file

boolean  checkWriteInPlace(long position, int readLength, byte[] writeBuffer)
// Check whether Write/Update of bytes from writeBuffer up to 
// previously read length at given position is possible inside file

boolean  checkWriteInPlace(int readLength, byte[] writeBuffer)
// Check whether Write/Update of bytes from writeBuffer up to 
// previously read length after seek is possible inside file

{code}
 
Second alternative is given below:

{code:title= FSWriteInPlaceStream.java|borderStyle=solid}


long 	getPos()
// Get the current position in the input stream.

void 	seek(long desiredWritePos)
// Seek to the given offset.

int 	updtInPlace(long position, int readLength, byte[] writeBuffer)
// Write/Update bytes from writeBuffer up to previously read length 
// at given position in file

int 	updtInPlace(int readLength, byte[] writeBuffer)
// Write/Update bytes from writeBuffer up to previously read length 
// after seek in file

boolean  checkUpdtInPlace(long position, int readLength, byte[] writeBuffer)
// Check whether Write/Update of bytes from writeBuffer up to 
// previously read length at given position is possible inside file

boolean  checkUpdtInPlace(int readLength, byte[] writeBuffer)
// Check whether Write/Update of bytes from writeBuffer up to 
// previously read length after seek is possible inside file

{code}

Please indicate the preferred class name as well. One alternative is FSWriteInPlaceStream
(which extends FSDataOutputStream) that explicitly specifies that only writes/updates in-place
are supported.


> Advance Hadoop Architecture (AHA) - HDFS
> ----------------------------------------
>
>                 Key: HDFS-9607
>                 URL: https://issues.apache.org/jira/browse/HDFS-9607
>             Project: Hadoop HDFS
>          Issue Type: New Feature
>            Reporter: Dinesh S. Atreya
>
> Link to Umbrella JIRA
> https://issues.apache.org/jira/browse/HADOOP-12620 
> Provide capability to carry out in-place writes/updates. Only writes in-place are supported
where the existing length does not change.
> For example, "Hello World" can be replaced by "Hello HDFS!"
> See https://issues.apache.org/jira/browse/HADOOP-12620?focusedCommentId=15046300&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-15046300
for more details.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message