random seeks using FSDataInputStream can become invalid such that reads return 
invalid data 
--------------------------------------------------------------------------------------------

                 Key: HADOOP-508
                 URL: http://issues.apache.org/jira/browse/HADOOP-508
             Project: Hadoop
          Issue Type: Bug
    Affects Versions: 0.5.0
            Reporter: Christian Kunz


Some of my applications using Hadoop DFS  receive wrong data after certain 
random seeks. After some investigation I believe (without looking at source 
code of java.io.BufferedInputStream) that it basically boils down to the fact 
that the method 
read(byte[] b, int off, int len), when called with an external buffer larger 
than the internal buffer, reads into the external buffer directly without using 
the internal buffer anymore, but without invalidating the internal buffer by 
setting the variable 'count' to 0 such that a subsequent seek to an offset 
which is closer to the 'position' of the Positioncache than the internal 
buffersize will put the current position into the internal buffer containing 
outdated data from somewhere else.

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