You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-issues@jackrabbit.apache.org by "Francesco Mari (JIRA)" <ji...@apache.org> on 2018/12/05 14:59:00 UTC
[jira] [Commented] (OAK-7942) Fix covariant return type changes in
ByteBuffer
[ https://issues.apache.org/jira/browse/OAK-7942?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16710161#comment-16710161 ]
Francesco Mari commented on OAK-7942:
-------------------------------------
The first version of the patch wraps every usage of {{ByteBuffer}} into a new class {{Buffer}}. The API and the semantics of the new class are the same, {{Buffer}} being just a wrapper around {{ByteBuffer}}. I had to put {{Buffer}} into an exported package because of the Azure Segment Store, so I chose {{org.apache.jackrabbit.oak.segment.spi.persistence}}. The only other usage of {{ByteBuffer}} in oak-segment-tar is in {{CharsetEncodingUtils}}, but none of the usages is affected by the covariant return type of {{ByteBuffer}}. [~mduerig], [~dulceanu], can you have a look at the patch?
> Fix covariant return type changes in ByteBuffer
> -----------------------------------------------
>
> Key: OAK-7942
> URL: https://issues.apache.org/jira/browse/OAK-7942
> Project: Jackrabbit Oak
> Issue Type: Technical task
> Components: segment-tar
> Reporter: Francesco Mari
> Assignee: Francesco Mari
> Priority: Major
> Fix For: 1.10
>
> Attachments: OAK-7942-01.patch
>
>
> Many methods in {{ByteBuffer}} now return an instance of {{ByteBuffer}} instead of {{Buffer}}. This results in {{NoSuchMethodError}} when code compiled in Java 9 is executed in an older JVM. See [this|https://jira.mongodb.org/browse/JAVA-2559] and [this|https://github.com/plasma-umass/doppio/issues/497#issuecomment-334740243] for reference and proposed fixes.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)