lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Michael McCandless (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (LUCENE-8441) Wrong index sort field type throws unexpected NullPointerException
Date Wed, 01 Aug 2018 14:42:00 GMT

    [ https://issues.apache.org/jira/browse/LUCENE-8441?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16565418#comment-16565418
] 

Michael McCandless commented on LUCENE-8441:
--------------------------------------------

+1, thanks for fixing so quickly [~jim.ferenczi]!

We could maybe improve the new per-DV-field-per-document check so that instead of doing a
for loop over all index sort fields, we add a new member to the {{PerField}} in {{DefaultIndexingChain}}
e.g. {{requiredDocValuesSortFieldType}} or so?  So we would do that for loop through all
index sort fields only when creating a new {{PerField}} (first time this in-memory segment
sees this field being indexed).

If that is non-null (meaning that field was included in the index sort), we check that it's
the same type as what the user is now trying to index?

But this can come later ... it's just a small performance improvement over the functionally
correct patch you created.  Thanks!

> Wrong index sort field type throws unexpected NullPointerException
> ------------------------------------------------------------------
>
>                 Key: LUCENE-8441
>                 URL: https://issues.apache.org/jira/browse/LUCENE-8441
>             Project: Lucene - Core
>          Issue Type: Bug
>          Components: core/index
>            Reporter: Michael McCandless
>            Assignee: Michael McCandless
>            Priority: Minor
>         Attachments: LUCENE-8441.patch, LUCENE-8441.patch
>
>
> I came across this scary exception if you pass the wrong {{SortField.Type}} for a field;
I'll attach patch w/ small test case:
> {noformat}
> 1) testWrongSortFieldType(org.apache.lucene.index.TestIndexSorting)
> java.lang.NullPointerException
>         at __randomizedtesting.SeedInfo.seed([995FF58C7B184E8F:B0CC507647B2ED95]:0)
>         at org.apache.lucene.index.SortingTermVectorsConsumer.abort(SortingTermVectorsConsumer.java:87)
>         at org.apache.lucene.index.TermsHash.abort(TermsHash.java:68)
>         at org.apache.lucene.index.DefaultIndexingChain.abort(DefaultIndexingChain.java:332)
>         at org.apache.lucene.index.DocumentsWriterPerThread.abort(DocumentsWriterPerThread.java:138)
>         at org.apache.lucene.index.DocumentsWriterPerThread.maybeAbort(DocumentsWriterPerThread.java:532)
>         at org.apache.lucene.index.DocumentsWriterPerThread.flush(DocumentsWriterPerThread.java:524)
>         at org.apache.lucene.index.DocumentsWriter.doFlush(DocumentsWriter.java:554)
>         at org.apache.lucene.index.DocumentsWriter.flushAllThreads(DocumentsWriter.java:719)
>         at org.apache.lucene.index.IndexWriter.prepareCommitInternal(IndexWriter.java:3201)
>         at org.apache.lucene.index.IndexWriter.commitInternal(IndexWriter.java:3446)
>         at org.apache.lucene.index.IndexWriter.commit(IndexWriter.java:3411)
>         at org.apache.lucene.index.TestIndexSorting.testWrongSortFieldType(TestIndexSorting.java:2489)
> {noformat}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org


Mime
View raw message