You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Robert Muir (JIRA)" <ji...@apache.org> on 2013/02/20 20:17:12 UTC

[jira] [Updated] (LUCENE-4790) FieldCache.getDocTermOrds back to the future bug

     [ https://issues.apache.org/jira/browse/LUCENE-4790?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Robert Muir updated LUCENE-4790:
--------------------------------

    Attachment: LUCENE-4790.patch

Here's a test with my proposed fix. Again its to just make the livedocs always an explicit parameter so there are no traps or confusion, and FieldCacheImpl passes null always.
                
> FieldCache.getDocTermOrds back to the future bug
> ------------------------------------------------
>
>                 Key: LUCENE-4790
>                 URL: https://issues.apache.org/jira/browse/LUCENE-4790
>             Project: Lucene - Core
>          Issue Type: Bug
>            Reporter: Robert Muir
>         Attachments: LUCENE-4790.patch
>
>
> Found while working on LUCENE-4765:
> FieldCache.getDocTermOrds unsafely "bakes in" liveDocs into its structure.
> This means in cases if you have readers at two points in time (r1, r2), and you happen to call getDocTermOrds first on r2, then call it on r1, the results will be incorrect.
> Simple fix is to make DocTermOrds uninvert take liveDocs explicitly: FieldCacheImpl always passes null, Solr's UninvertedField just keeps doing what its doing today (since its a top-level reader, and cached somewhere else).
> Also DocTermOrds had a telescoping ctor that was uninverting twice. 

--
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: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org