David Mollitor created AVRO-4048:
------------------------------------

             Summary: Ignore Negative Return Values for InputStream Skip
                 Key: AVRO-4048
                 URL: https://issues.apache.org/jira/browse/AVRO-4048
             Project: Apache Avro
          Issue Type: Improvement
          Components: java
    Affects Versions: 1.13.0
            Reporter: David Mollitor
            Assignee: David Mollitor


There are a couple of places in the code with the following:

 
{code:java}
          // The inputStream contract is evil.
          // zero "might" mean EOF. So check for 2 in a row, we will
          // infinite loop waiting for -1 with some classes others
          // spuriously will return 0 on occasion without EOF {code}
Which, is understandable that this is in place for a 'read' method. However, 
'skip' has the following contract:

 
{quote}the actual number of bytes skipped which might be zero.
{quote}
 

[https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/InputStream.html#skip(long)]

 

There is no mention of a negative value and therefore should not be supported. 
There exist no unit tests today the suggest that this is supported. Just remove 
the extra superfluous branching logic.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to