[ https://issues.apache.org/jira/browse/ATLAS-2478?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Madhan Neethiraj updated ATLAS-2478: ------------------------------------ Summary: Elasticsearch support (Tech Preview) is broken for JanusGraph (was: Elasticsearch support is broken for JanusGraph) > Elasticsearch support (Tech Preview) is broken for JanusGraph > ------------------------------------------------------------- > > Key: ATLAS-2478 > URL: https://issues.apache.org/jira/browse/ATLAS-2478 > Project: Atlas > Issue Type: Bug > Components: atlas-core > Affects Versions: 1.0.0-alpha > Reporter: Pierre Padovani > Assignee: Pierre Padovani > Priority: Major > Fix For: 1.0.0 > > Attachments: ATLAS-2478.patch > > > With JanusGraph the Elasticsearch support moved to 5.x+. This introduced a > change where fields that contained '.' (dots) were not allowed unless either > a specific cluster wide setting was enabled AND the mapping was formatted > such that each of the fields that contained a '.' could be considered part of > an object. > Example: > {code:java} > foo.x > foo.y > foo.z{code} > Elasticsearch looks at these fields as if they are truly: > {code:java} > foo : { > x, > y, > z > }{code} > In the file: > /atlas/common/src/main/java/org/apache/atlas/repository/Constants.java > {code:java} > /** > * Properties for type store graph. > */ > public static final String TYPE_CATEGORY_PROPERTY_KEY = > INTERNAL_PROPERTY_KEY_PREFIX + "type.category"; > public static final String VERTEX_TYPE_PROPERTY_KEY = > INTERNAL_PROPERTY_KEY_PREFIX + "type"; > public static final String TYPENAME_PROPERTY_KEY = > INTERNAL_PROPERTY_KEY_PREFIX + "type.name"; > public static final String TYPEDESCRIPTION_PROPERTY_KEY = > INTERNAL_PROPERTY_KEY_PREFIX + "type.description"; > public static final String TYPEVERSION_PROPERTY_KEY = > INTERNAL_PROPERTY_KEY_PREFIX + "type.version"; > public static final String TYPEOPTIONS_PROPERTY_KEY = > INTERNAL_PROPERTY_KEY_PREFIX + "type.options"; > {code} > These are the only fields that cause Elasticsearch issue. As you can see a > field called 'type' is created, then additional fields type.name, > type.description etc. This will cause a mapping conflict exception in > Elasticsearch and it will refuse to create the mapping. > > The easy fix is to simply replace the '.' with an '_' (underscore) but this > will be a backwards incompatible change for existing customers. -- This message was sent by Atlassian JIRA (v7.6.3#76005)