Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
1.8.12
Description
If an index definition contains the same orderable property with and without functions, it will fail to index any node which contains that property. The failure will be logged as [1].
Steps to reproduce:
- Configure index with the two property definitions shown at [2].
- Refresh the index definition
- Modify a node that falls under the definition - it will fail with the exception shown at [1]
- Modify the 'non-function' index definition to not be orderable (orderable=false)
- Refresh the index definition
- Modify the same node - note there is no exception.
Thanks to catholicon for assistance identifying root cause.
[1]
25.03.2019 15:39:04.135 *WARN* [async-index-update-async] org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexEditor Failed to index the node [/content/dam/Unknown-2.png] java.lang.IllegalArgumentException: DocValuesField ":dvjcr:content/metadata/dc:title" appears more than once in this document (only one value is allowed per field) at org.apache.lucene.index.SortedDocValuesWriter.addValue(SortedDocValuesWriter.java:62) [org.apache.jackrabbit.oak-lucene:1.8.9] at org.apache.lucene.index.DocValuesProcessor.addSortedField(DocValuesProcessor.java:125) [org.apache.jackrabbit.oak-lucene:1.8.9] at org.apache.lucene.index.DocValuesProcessor.addField(DocValuesProcessor.java:59) [org.apache.jackrabbit.oak-lucene:1.8.9] at org.apache.lucene.index.TwoStoredFieldsConsumers.addField(TwoStoredFieldsConsumers.java:36) [org.apache.jackrabbit.oak-lucene:1.8.9] at org.apache.lucene.index.DocFieldProcessor.processDocument(DocFieldProcessor.java:236) [org.apache.jackrabbit.oak-lucene:1.8.9] at org.apache.lucene.index.DocumentsWriterPerThread.updateDocument(DocumentsWriterPerThread.java:253) [org.apache.jackrabbit.oak-lucene:1.8.9] at org.apache.lucene.index.DocumentsWriter.updateDocument(DocumentsWriter.java:455) [org.apache.jackrabbit.oak-lucene:1.8.9] at org.apache.lucene.index.IndexWriter.updateDocument(IndexWriter.java:1534) [org.apache.jackrabbit.oak-lucene:1.8.9] at org.apache.lucene.index.IndexWriter.updateDocument(IndexWriter.java:1507) [org.apache.jackrabbit.oak-lucene:1.8.9] at org.apache.jackrabbit.oak.plugins.index.lucene.writer.DefaultIndexWriter.updateDocument(DefaultIndexWriter.java:86) [org.apache.jackrabbit.oak-lucene:1.8.9] at org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexEditor.addOrUpdate(LuceneIndexEditor.java:258) [org.apache.jackrabbit.oak-lucene:1.8.9] at org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexEditor.leave(LuceneIndexEditor.java:140) [org.apache.jackrabbit.oak-lucene:1.8.9] at org.apache.jackrabbit.oak.spi.commit.CompositeEditor.leave(CompositeEditor.java:74) [org.apache.jackrabbit.oak-store-spi:1.8.9]
[2]
"dcTitle": { "jcr:primaryType": "nt:unstructured", "nodeScopeIndex": "true", "useInSuggest": "true", "ordered": "true", "propertyIndex": "true", "useInSpellcheck": "true", "name": "jcr:content/metadata/dc:title", "boost": "2.0" }, "dcTitleLowercase": { "jcr:primaryType": "nt:unstructured", "ordered": "true", "propertyIndex": "true", "function": "fn:lower-case(jcr:content/metadata/@dc:title)" }
Attachments
Attachments
Issue Links
- relates to
-
OAK-3574 Query engine: support p=lowercase('x') and other function-based indexes
- Closed