[
https://issues.apache.org/jira/browse/LUCENE-5586?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Adrien Grand updated LUCENE-5586:
---------------------------------
Description:
{{BufferedChecksumIndexInput}} implements {{Cloneable}}, yet its close method
would return a shallow copy that still wraps the same {{IndexInput}} and
{{Checksum}}. This is trappy, because reading on the clone would also read on
the original instance and update the checksum.
Since {{Checksum}} are not cloneable, I think {{ChecksumIndexInput.clone}}
should just throw an UOE.
was:
{{BufferedChecksumIndexInput}} implements {{Cloneable}}, yet its close method
would return a shallow copy that still wraps the same {{IndexInput}} and
{{Checksum}}. This is trappy, because reading on the clone would also read on
the original instance and update the checksum.
Since {{Checksum}}s are not cloneable, I think {{ChecksumIndexInput.clone}}
should just throw an UOE.
> BufferedChecksumIndexInput is not cloneable
> -------------------------------------------
>
> Key: LUCENE-5586
> URL: https://issues.apache.org/jira/browse/LUCENE-5586
> Project: Lucene - Core
> Issue Type: Bug
> Affects Versions: 4.8
> Reporter: Adrien Grand
> Priority: Minor
>
> {{BufferedChecksumIndexInput}} implements {{Cloneable}}, yet its close method
> would return a shallow copy that still wraps the same {{IndexInput}} and
> {{Checksum}}. This is trappy, because reading on the clone would also read on
> the original instance and update the checksum.
> Since {{Checksum}} are not cloneable, I think {{ChecksumIndexInput.clone}}
> should just throw an UOE.
--
This message was sent by Atlassian JIRA
(v6.2#6252)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]