[ 
https://issues.apache.org/jira/browse/HDFS-3361?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Brahma Reddy Battula updated HDFS-3361:
---------------------------------------

    Description: 
Start NN and DN
write a file with size 1024
now try to read file using following api
fsin.read(writeBuff, 1024, fsin.available())..This is retuning correctly as 
expected.
fsin.read(10, writeBuff, 10, fsin.available())(this is retunring zero.)

Here it's returning zero..But actual file length is 1024
 
  *Java Docs provided* 
{code}
/**
   * Read bytes from the given position in the stream to the given buffer.
   *
   * @param position  position in the input stream to seek
   * @param buffer    buffer into which data is read
   * @param offset    offset into the buffer in which data is written
   * @param length    maximum number of bytes to read
   * @return total number of bytes read into the buffer, or <code>-1</code>
   *         if there is no more data because the end of the stream has been
   *         reached
   */
  public int read(long position, byte[] buffer, int offset, int length)
    throws IOException {
    return ((PositionedReadable)in).read(position, buffer, offset, length);
  }
{code}

But If I try with only ->fsin.read(10, writeBuff, 10, fsin.available())(client 
prog contains only one read method)

I am getting actual length...I am not sure actual cause..

Please correct me If I am wrong.........


  was:
Start NN and DN
write a file with size 1024
now try to read file using following api
fsin.read(10, writeBuff, 10, fsin.available())

Here it's returning zero..But actual file length is 1024
 
  *Java Docs provided* 
{code}
/**
   * Read bytes from the given position in the stream to the given buffer.
   *
   * @param position  position in the input stream to seek
   * @param buffer    buffer into which data is read
   * @param offset    offset into the buffer in which data is written
   * @param length    maximum number of bytes to read
   * @return total number of bytes read into the buffer, or <code>-1</code>
   *         if there is no more data because the end of the stream has been
   *         reached
   */
  public int read(long position, byte[] buffer, int offset, int length)
    throws IOException {
    return ((PositionedReadable)in).read(position, buffer, offset, length);
  }
{code}

    
> read(long position, byte[] buffer, int offset, int length) is not  behaving 
> as expected
> ---------------------------------------------------------------------------------------
>
>                 Key: HDFS-3361
>                 URL: https://issues.apache.org/jira/browse/HDFS-3361
>             Project: Hadoop HDFS
>          Issue Type: Bug
>          Components: hdfs client
>    Affects Versions: 2.0.0, 3.0.0
>            Reporter: Brahma Reddy Battula
>             Fix For: 2.0.0
>
>
> Start NN and DN
> write a file with size 1024
> now try to read file using following api
> fsin.read(writeBuff, 1024, fsin.available())..This is retuning correctly as 
> expected.
> fsin.read(10, writeBuff, 10, fsin.available())(this is retunring zero.)
> Here it's returning zero..But actual file length is 1024
>  
>   *Java Docs provided* 
> {code}
> /**
>    * Read bytes from the given position in the stream to the given buffer.
>    *
>    * @param position  position in the input stream to seek
>    * @param buffer    buffer into which data is read
>    * @param offset    offset into the buffer in which data is written
>    * @param length    maximum number of bytes to read
>    * @return total number of bytes read into the buffer, or <code>-1</code>
>    *         if there is no more data because the end of the stream has been
>    *         reached
>    */
>   public int read(long position, byte[] buffer, int offset, int length)
>     throws IOException {
>     return ((PositionedReadable)in).read(position, buffer, offset, length);
>   }
> {code}
> But If I try with only ->fsin.read(10, writeBuff, 10, 
> fsin.available())(client prog contains only one read method)
> I am getting actual length...I am not sure actual cause..
> Please correct me If I am wrong.........

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to