Uploaded image for project: 'Jackrabbit Oak'
  1. Jackrabbit Oak
  2. OAK-9162

Elastic indexes - Index creation fails if multiple suggest fields are present

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 1.34.0
    • indexing
    • None

    Description

      If an index definition contains useInSuggest on multiple properties, remote index creation fails with exception - 

      0.07.2020 13:36:13.262 *WARN* [async-index-update-elastic-async] org.apache.jackrabbit.oak.plugins.index.AsyncIndexUpdate [elastic-async] The index update is still failing
      org.elasticsearch.ElasticsearchStatusException: Elasticsearch exception [type=parse_exception, reason=Failed to parse content to map]
      	at org.elasticsearch.rest.BytesRestResponse.errorFromXContent(BytesRestResponse.java:177) [org.apache.jackrabbit.oak-search-elastic:1.33.0.SNAPSHOT]
      	at org.elasticsearch.client.RestHighLevelClient.parseEntity(RestHighLevelClient.java:1897) [org.apache.jackrabbit.oak-search-elastic:1.33.0.SNAPSHOT]
      	at org.elasticsearch.client.RestHighLevelClient.parseResponseException(RestHighLevelClient.java:1867) [org.apache.jackrabbit.oak-search-elastic:1.33.0.SNAPSHOT]
      	at org.elasticsearch.client.RestHighLevelClient.internalPerformRequest(RestHighLevelClient.java:1624) [org.apache.jackrabbit.oak-search-elastic:1.33.0.SNAPSHOT]
      	at org.elasticsearch.client.RestHighLevelClient.performRequest(RestHighLevelClient.java:1596) [org.apache.jackrabbit.oak-search-elastic:1.33.0.SNAPSHOT]
      	at org.elasticsearch.client.RestHighLevelClient.performRequestAndParseEntity(RestHighLevelClient.java:1563) [org.apache.jackrabbit.oak-search-elastic:1.33.0.SNAPSHOT]
      	at org.elasticsearch.client.IndicesClient.create(IndicesClient.java:139) [org.apache.jackrabbit.oak-search-elastic:1.33.0.SNAPSHOT]
      	at org.apache.jackrabbit.oak.plugins.index.elastic.index.ElasticIndexWriter.provisionIndex(ElasticIndexWriter.java:121) [org.apache.jackrabbit.oak-search-elastic:1.33.0.SNAPSHOT]
      	at org.apache.jackrabbit.oak.plugins.index.elastic.index.ElasticIndexEditorContext.enableReindexMode(ElasticIndexEditorContext.java:68) [org.apache.jackrabbit.oak-search-elastic:1.33.0.SNAPSHOT]
      	at org.apache.jackrabbit.oak.plugins.index.search.spi.editor.FulltextIndexEditor.enter(FulltextIndexEditor.java:117)
      	at org.apache.jackrabbit.oak.spi.commit.CompositeEditor.enter(CompositeEditor.java:65) [org.apache.jackrabbit.oak-store-spi:1.27.0.R1877737]
      	at org.apache.jackrabbit.oak.plugins.index.progress.ProgressTrackingEditor.enter(ProgressTrackingEditor.java:67) [org.apache.jackrabbit.oak-core:1.27.0.R1877737]
      	at org.apache.jackrabbit.oak.spi.commit.VisibleEditor.enter(VisibleEditor.java:53) [org.apache.jackrabbit.oak-store-spi:1.27.0.R1877737]
      	at org.apache.jackrabbit.oak.spi.commit.EditorDiff.process(EditorDiff.java:48) [org.apache.jackrabbit.oak-store-spi:1.27.0.R1877737]
      	at org.apache.jackrabbit.oak.plugins.index.IndexUpdate.enter(IndexUpdate.java:173) [org.apache.jackrabbit.oak-core:1.27.0.R1877737]
      	at org.apache.jackrabbit.oak.spi.commit.VisibleEditor.enter(VisibleEditor.java:53) [org.apache.jackrabbit.oak-store-spi:1.27.0.R1877737]
      	at org.apache.jackrabbit.oak.spi.commit.EditorDiff.process(EditorDiff.java:48) [org.apache.jackrabbit.oak-store-spi:1.27.0.R1877737]
      	at org.apache.jackrabbit.oak.plugins.index.AsyncIndexUpdate.updateIndex(AsyncIndexUpdate.java:739) [org.apache.jackrabbit.oak-core:1.27.0.R1877737]
      	at org.apache.jackrabbit.oak.plugins.index.AsyncIndexUpdate.runWhenPermitted(AsyncIndexUpdate.java:573) [org.apache.jackrabbit.oak-core:1.27.0.R1877737]
      	at org.apache.jackrabbit.oak.plugins.index.AsyncIndexUpdate.run(AsyncIndexUpdate.java:432) [org.apache.jackrabbit.oak-core:1.27.0.R1877737]
      	at org.apache.sling.commons.scheduler.impl.QuartzJobExecutor.execute(QuartzJobExecutor.java:347) [org.apache.sling.commons.scheduler:2.7.6]
      	at org.quartz.core.JobRunShell.run(JobRunShell.java:202) [org.apache.sling.commons.scheduler:2.7.6]
      	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
      	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
      	at java.base/java.lang.Thread.run(Thread.java:834)
      	Suppressed: org.elasticsearch.client.ResponseException: method [PUT], host [http://elasticsearch-master:9200], URI [/ns-team-indexing-amrverma-3-author._elasticcqpagelucene-ccbd06c57acc40d1?master_timeout=30s&timeout=30s], status line [HTTP/1.1 400 Bad Request]
      {"error":{"root_cause":[{"type":"parse_exception","reason":"Failed to parse content to map"}],"type":"parse_exception","reason":"Failed to parse content to map","caused_by":{"type":"json_parse_exception","reason":"Duplicate field ':suggest'\n at [Source: (org.elasticsearch.common.bytes.AbstractBytesReference$MarkSupportingStreamInputWrapper); line: 1, column: 1135]"}},"status":400}
      		at org.elasticsearch.client.RestClient.convertResponse(RestClient.java:283) [org.apache.jackrabbit.oak-search-elastic:1.33.0.SNAPSHOT]
      		at org.elasticsearch.client.RestClient.performRequest(RestClient.java:261) [org.apache.jackrabbit.oak-search-elastic:1.33.0.SNAPSHOT]
      		at org.elasticsearch.client.RestClient.performRequest(RestClient.java:235) [org.apache.jackrabbit.oak-search-elastic:1.33.0.SNAPSHOT]
      		at org.elasticsearch.client.RestHighLevelClient.internalPerformRequest(RestHighLevelClient.java:1611) [org.apache.jackrabbit.oak-search-elastic:1.33.0.SNAPSHOT]
      		... 21 common frames omitted
      Caused by: org.elasticsearch.ElasticsearchException: Elasticsearch exception [type=json_parse_exception, reason=Duplicate field ':suggest'
       at [Source: (org.elasticsearch.common.bytes.AbstractBytesReference$MarkSupportingStreamInputWrapper); line: 1, column: 1135]]
      	at org.elasticsearch.ElasticsearchException.innerFromXContent(ElasticsearchException.java:496) [org.apache.jackrabbit.oak-search-elastic:1.33.0.SNAPSHOT]
      	at org.elasticsearch.ElasticsearchException.fromXContent(ElasticsearchException.java:407) [org.apache.jackrabbit.oak-search-elastic:1.33.0.SNAPSHOT]
      	at org.elasticsearch.ElasticsearchException.innerFromXContent(ElasticsearchException.java:437) [org.apache.jackrabbit.oak-search-elastic:1.33.0.SNAPSHOT]
      	at org.elasticsearch.ElasticsearchException.failureFromXContent(ElasticsearchException.java:603) [org.apache.jackrabbit.oak-search-elastic:1.33.0.SNAPSHOT]
      	at org.elasticsearch.rest.BytesRestResponse.errorFromXContent(BytesRestResponse.java:169) [org.apache.jackrabbit.oak-search-elastic:1.33.0.SNAPSHOT]
      	... 24 common frames omitted 

      Attachments

        Issue Links

          Activity

            People

              fortino Fabrizio Fortino
              amrverma Amrit Verma
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: