Failed on parsing mappings on index creation [nyc_taxis]

Hi All,

I got below error while running benchmarking with nyc_taxis track.

failed on parsing mappings on index creation [nyc_taxis]", "ecs.version": "1.2.0","service.name":"ES_ECS","event.dataset":"elasticsearch.server","process.thread.name":"elasticsearch[es-master][masterService#updateTask][T#1]","log.logger":"org.elasticsearch.cluster.metadata.MetadataCreateIndexService","elasticsearch.cluster.uuid":"aTZW8zstTpGjcWl9aHTGhw","elasticsearch.node.id":"qfLV4yDySnyl9t9D0vKGlw","elasticsearch.node.name":"es-master","elasticsearch.cluster.name":"elasticsearch","error.type":"org.elasticsearch.index.mapper.MapperParsingException","error.message":"Failed to parse mapping: unknown parameter [mode] on mapper [_source] of type [null]","error.stack_trace":"org.elasticsearch.index.mapper.MapperParsingException: Failed to parse mapping: unknown parameter [mode] on mapper [_source] of type [null]\n\tat org.elasticsearch.index.mapper.MapperService.parseMapping(MapperService.java:372)\n\tat org.elasticsearch.index.mapper.MapperService.merge(MapperService.java:347)\n\tat org.elasticsearch.cluster.metadata.MetadataCreateIndexService.updateIndexMappingsAndBuildSortOrder(MetadataCreateIndexService.java:1230)\n\tat org.elasticsearch.cluster.metadata.MetadataCreateIndexService.lambda$applyCreateIndexWithTemporaryService$3(MetadataCreateIndexService.java:435)\n\tat org.elasticsearch.indices.IndicesService.withTempIndexService(IndicesService.java:671)\n\tat org.elasticsearch.cluster.metadata.MetadataCreateIndexService.applyCreateIndexWithTemporaryService(MetadataCreateIndexService.java:433)\n\tat org.elasticsearch.cluster.metadata.MetadataCreateIndexService.applyCreateIndexRequestWithV1Templates(MetadataCreateIndexService.java:546)\n\tat org.elasticsearch.cluster.metadata.MetadataCreateIndexService.applyCreateIndexRequest(MetadataCreateIndexService.java:395)\n\tat org.elasticsearch.cluster.metadata.MetadataCreateIndexService.applyCreateIndexRequest(MetadataCreateIndexService.java:402)\n\tat org.elasticsearch.cluster.metadata.MetadataCreateIndexService$1.execute(MetadataCreateIndexService.java:295)\n\tat org.elasticsearch.cluster.ClusterStateTaskExecutor$1.execute(ClusterStateTaskExecutor.java:95)\n\tat org.elasticsearch.cluster.service.MasterService.innerExecuteTasks(MasterService.java:901)\n\tat org.elasticsearch.cluster.service.MasterService.executeTasks(MasterService.java:871)\n\tat org.elasticsearch.cluster.service.MasterService.runTasks(MasterService.java:253)\n\tat org.elasticsearch.cluster.service.MasterService$Batcher.run(MasterService.java:153)\n\tat org.elasticsearch.cluster.service.TaskBatcher.runIfNotProcessed(TaskBatcher.java:114)\n\tat org.elasticsearch.cluster.service.TaskBatcher$BatchedTask.run(TaskBatcher.java:170)\n\tat org.elasticsearch.common.util.concurrent.ThreadContext$ContextPreservingRunnable.run(ThreadContext.java:714)\n\tat org.elasticsearch.common.util.concurrent.PrioritizedEsThreadPoolExecutor$TieBreakingPrioritizedRunnable.runAndClean(PrioritizedEsThreadPoolExecutor.java:260)\n\tat org.elasticsearch.common.util.concurrent.PrioritizedEsThreadPoolExecutor$TieBreakingPrioritizedRunnable.run(PrioritizedEsThreadPoolExecutor.java:223)\n\tat java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)\n\tat java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)\n\tat java.base/java.lang.Thread.run(Thread.java:833)\nCaused by: org.elasticsearch.index.mapper.MapperParsingException: unknown parameter [mode] on mapper [_source] of type [null]\n\tat org.elasticsearch.index.mapper.FieldMapper$Builder.parse(FieldMapper.java:1323)\n\tat org.elasticsearch.index.mapper.MetadataFieldMapper$ConfigurableTypeParser.parse(MetadataFieldMapper.java:104)\n\tat org.elasticsearch.index.mapper.MappingParser.parse(MappingParser.java:118)\n\tat org.elasticsearch.index.mapper.MappingParser.parse(MappingParser.java:94)\n\tat org.elasticsearch.index.mapper.MapperService.parseMapping(MapperService.java:370)\n\t... 22 more\n"}

Kindly help.

The actual error is here:

The mode parameter is only supported in Elasticsearch 8.4 and above but we currently use it on every Elasticsearch 8.x version. We should probably fix the issue on our end, but in the meantime you can work around this by using either Elasticsearch 8.4 (which supports the mode parameter`) or Elasticsearh 7.17 (where we will not set it).

Thankyou @Quentin_Pradet for quick response.

How long will it take to fix this issue on other releases? Any PR or issue raised for this one.?

Hello @amitsa,

The upstream issue has been resolved. Can you please try again?

I am using the docker image of version 8.2.0 is the fix updated on docker image as well?

Hi @RickBoyd

Is the fix for issue updated on official docker images as well?
I am using the docker images version 8.2

The fix is independent of the version of Rally you're using, since it was done in the rally-tracks repository.

So yes the Rally Docker image should work, you don't have to update it.

Hi @Quentin_Pradet
I am talking about Elasticsearch version 8.2.0. The mode parameter error.

The bug was in the tracks repository that Rally uses. Now Rally correctly supports all Elasticsearch versions, including 8.2.0, where we will stop setting that mode parameter.

Have you considered just trying again to see if the bug was indeed fixed for you?