[
https://issues.apache.org/jira/browse/LUCENE-5152?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13732088#comment-13732088
]
Simon Willnauer commented on LUCENE-5152:
-----------------------------------------
{quote}In fact, I think findTargetArc isn't great in this regard; e.g. I
think MemoryPF only uses this API if the caller calls seekExact? So I
think the current location of the assert is both more costly and lower
coverage than if we moved it to FST.getBytesReader.{quote}
I am not sure if that is true actually since findTargetArc is the only place
where we actually use this cache? I mean I don't wanna be in the way of moving
it but what kind of message are we sending here. We don't guarantee that
asserts are fast but they won't slow you down massively? I mean we can call
this assert in the getBytesReader as well to increase coverage, can you
elaborate what you are concerned about?
> Lucene FST is not immutable
> ---------------------------
>
> Key: LUCENE-5152
> URL: https://issues.apache.org/jira/browse/LUCENE-5152
> Project: Lucene - Core
> Issue Type: Bug
> Components: core/FSTs
> Affects Versions: 4.4
> Reporter: Simon Willnauer
> Priority: Blocker
> Fix For: 5.0, 4.5
>
> Attachments: LUCENE-5152.patch, LUCENE-5152.patch, LUCENE-5152.patch
>
>
> a spinnoff from LUCENE-5120 where the analyzing suggester modified a returned
> output from and FST (BytesRef) which caused sideffects in later execution.
> I added an assertion into the FST that checks if a cached root arc is
> modified and in-fact this happens for instance in our MemoryPostingsFormat
> and I bet we find more places. We need to think about how to make this less
> trappy since it can cause bugs that are super hard to find.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]