Updating ES indices with posting_format set to bloom_default


#1

Hi all,

I am running an elasticsearch cluster (version 1.3.7) and would like to upgrade it to version 1.7.2. But I get the following error when starting ES 1.7.2.

[2015-10-13 20:59:48,432][WARN ][indices.cluster          ] [Screech] [my_index] failed to add mapping [sub_item], source [{"sub_item":{"dynamic_date_formats":["date_time_no_millis","date_time","date_optional_time"],"_parent":{"type":"item"},"_routing":{"required":true},"_analyzer":{"path":"language_code"},"_size":{"enabled":true,"store":true},"properties":{"file_id":{"type":"string","index":"not_analyzed"},"item_language":{"type":"string","index":"not_analyzed"},"language_code":{"type":"string","index":"not_analyzed"},"offset":{"type":"string","index":"not_analyzed"},"sort_key":{"type":"string","index":"not_analyzed"},"title":{"type":"string","analyzer":"default","fields":{"orig":{"type":"string","index":"not_analyzed","postings_format":"bloom_default"},"stemmed":{"type":"string","term_vector":"with_positions_offsets"}}}}}}]
org.elasticsearch.ElasticsearchIllegalArgumentException: failed to find postings_format [bloom_default]
    at org.elasticsearch.index.codec.postingsformat.PostingsFormatService.get(PostingsFormatService.java:88)
    at org.elasticsearch.index.mapper.core.TypeParsers.parseField(TypeParsers.java:233)
    at org.elasticsearch.index.mapper.core.StringFieldMapper$TypeParser.parse(StringFieldMapper.java:153)
    at org.elasticsearch.index.mapper.core.TypeParsers.parseMultiField(TypeParsers.java:284)
    at org.elasticsearch.index.mapper.core.StringFieldMapper$TypeParser.parse(StringFieldMapper.java:184)
    at org.elasticsearch.index.mapper.object.ObjectMapper$TypeParser.parseProperties(ObjectMapper.java:290)
    at org.elasticsearch.index.mapper.object.ObjectMapper$TypeParser.parseObjectOrDocumentTypeProperties(ObjectMapper.java:214)
    at org.elasticsearch.index.mapper.object.RootObjectMapper$TypeParser.parse(RootObjectMapper.java:136)
    at org.elasticsearch.index.mapper.DocumentMapperParser.parse(DocumentMapperParser.java:211)
    at org.elasticsearch.index.mapper.DocumentMapperParser.parseCompressed(DocumentMapperParser.java:192)
    at org.elasticsearch.index.mapper.MapperService.parse(MapperService.java:434)
    at org.elasticsearch.index.mapper.MapperService.merge(MapperService.java:307)
    at org.elasticsearch.indices.cluster.IndicesClusterStateService.processMapping(IndicesClusterStateService.java:430)
    at org.elasticsearch.indices.cluster.IndicesClusterStateService.applyMappings(IndicesClusterStateService.java:376)
    at org.elasticsearch.indices.cluster.IndicesClusterStateService.clusterChanged(IndicesClusterStateService.java:181)
    at org.elasticsearch.cluster.service.InternalClusterService$UpdateTask.run(InternalClusterService.java:467)
    at org.elasticsearch.common.util.concurrent.PrioritizedEsThreadPoolExecutor$TieBreakingPrioritizedRunnable.runAndClean(PrioritizedEsThreadPoolExecutor.java:188)
    at org.elasticsearch.common.util.concurrent.PrioritizedEsThreadPoolExecutor$TieBreakingPrioritizedRunnable.run(PrioritizedEsThreadPoolExecutor.java:158)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)

Elasticsearch does not startup but endlessly tries to open the index and fails on the same error again and agin.
The reason for the error seems to be the deprecated "bloom_default" posting format that I have defined in our mapping.
I only see the error for the child type 'sub_item'. The parent type 'item' does also have a field with posting_format = bloom_default defined, but no error is logged for this type.

DId anyone else run into this problem? Is there a way to open/migrate the index with v1.7.2 without having to re-index?

Thank you for your help.
Best regards,
Felix


(system) #2