Mapping definition error on ES2.4

Guys,

I have upgraded my ES from 1.5 to 2.4. I know there were significant difference between the two versions and i understand the upgrade caused this thing. But can someone help me fix this.

[2016-11-28 07:02:11,353][DEBUG][action.admin.indices.template.put] [elk-test-04-data01-elk-test-04-data01] failed to put template [base]
MapperParsingException[Failed to parse mapping [default]: Mapping definition for [geoip] has unsupported parameters: [path : full]]; nested: MapperParsingException[Mapping definition for [geoip] has unsupported parameters: [path : full]];
at org.elasticsearch.index.mapper.MapperService.merge(MapperService.java:280)
at org.elasticsearch.cluster.metadata.MetaDataIndexTemplateService.validateAndAddTemplate(MetaDataIndexTemplateService.java:213)
at org.elasticsearch.cluster.metadata.MetaDataIndexTemplateService.access$200(MetaDataIndexTemplateService.java:57)
at org.elasticsearch.cluster.metadata.MetaDataIndexTemplateService$2.execute(MetaDataIndexTemplateService.java:157)
at org.elasticsearch.cluster.ClusterStateUpdateTask.execute(ClusterStateUpdateTask.java:45)
at org.elasticsearch.cluster.service.InternalClusterService.runTasksForExecutor(InternalClusterService.java:468)
at org.elasticsearch.cluster.service.InternalClusterService$UpdateTask.run(InternalClusterService.java:772)
at org.elasticsearch.common.util.concurrent.PrioritizedEsThreadPoolExecutor$TieBreakingPrioritizedRunnable.runAndClean(PrioritizedEsThreadPoolExecutor.java:231)
at org.elasticsearch.common.util.concurrent.PrioritizedEsThreadPoolExecutor$TieBreakingPrioritizedRunnable.run(PrioritizedEsThreadPoolExecutor.java:194)
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)
Caused by: MapperParsingException[Mapping definition for [geoip] has unsupported parameters: [path : full]]
at org.elasticsearch.index.mapper.DocumentMapperParser.checkNoRemainingFields(DocumentMapperParser.java:171)
at org.elasticsearch.index.mapper.DocumentMapperParser.checkNoRemainingFields(DocumentMapperParser.java:165)
at org.elasticsearch.index.mapper.object.ObjectMapper$TypeParser.parseProperties(ObjectMapper.java:311)
at org.elasticsearch.index.mapper.object.ObjectMapper$TypeParser.parseObjectOrDocumentTypeProperties(ObjectMapper.java:222)
at org.elasticsearch.index.mapper.object.RootObjectMapper$TypeParser.parse(RootObjectMapper.java:139)
at org.elasticsearch.index.mapper.DocumentMapperParser.parse(DocumentMapperParser.java:118)
at org.elasticsearch.index.mapper.DocumentMapperParser.parse(DocumentMapperParser.java:99)
at org.elasticsearch.index.mapper.DocumentMapperParser.parse(DocumentMapperParser.java:85)
at org.elasticsearch.index.mapper.MapperService.merge(MapperService.java:300)
at org.elasticsearch.index.mapper.MapperService.merge(MapperService.java:278)
... 11 more

I am ingested a bulk data of cloudtrails. Also one thing i notice is that there are couple of fields that are missing in when i try to ingest it in ES 2.4 as compared to ES 1.5.

I can provide other info. as well if required.

Any help would be greatly appreciated.

--
Niraj

Remove path attributes

From where and how? Sorry for the noob question. This is the template i am using.

Also can you let me know if this template is compatible with ES 2.4

{
"template": "${index}-",
"settings": {
"index.refresh_interval": "5s"
},
"mappings": {
"default": {
"_all": {
"enabled": true
},
"dynamic_templates": [ {
"string_fields": {
"match" : "
",
"match_mapping_type": "string",
"mapping" : {
"type": "string",
"index": "analyzed",
"omit_norms": "true",
"fields": {
"raw": {
"type": "string",
"index": "not_analyzed",
"ignore_above": 256
}
}
}
}
} ]
}
}
}

Please format your code using </> icon. It will make your post more readable.

I saw in your logs:

Mapping definition for [geoip] has unsupported parameters: [path : full]]; nested: MapperParsingException[Mapping definition for [geoip] has unsupported parameters: [path : full]];

Are you sure you don't have other templates? Like one called base?

Nope i don't see one when i issue

/_template GET.

Is there other way to check this?

May be you were using stored templates? https://www.elastic.co/guide/en/elasticsearch/reference/1.5/query-dsl-template-query.html#_stored_templates

FWIW you should upgrade first to 1.7, then install the migration plugin to see what you have to do before upgrading.
Have a look at https://www.elastic.co/guide/en/elasticsearch/reference/2.4/breaking-changes-2.0.html#_elasticsearch_migration_plugin

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.