Pierre Padovani created ATLAS-2478:
--------------------------------------

             Summary: Elasticsearch support 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
             Fix For: 1.0.0


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)

Reply via email to