[
https://issues.apache.org/jira/browse/AVRO-4048?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
David Mollitor reassigned AVRO-4048:
------------------------------------
> 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
> Priority: Minor
>
> 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)