You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@atlas.apache.org by Pierre Padovani <pi...@padovani.org> on 2018/03/14 14:26:06 UTC

Review Request 66064: ATLAS-2478 Elasticsearch support broken with JanusGraph 0.2.0

-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/66064/
-----------------------------------------------------------

Review request for atlas.


Summary (updated)
-----------------

ATLAS-2478 Elasticsearch support broken with JanusGraph 0.2.0


Bugs: ATLAS-2478
    https://issues.apache.org/jira/browse/ATLAS-2478


Repository: atlas


Description (updated)
-------

This patch fixes the Elasticsearch support for JanusGraph 0.2.0 and updates documentation.

Included with this patch is an update to the berkley-elasticsearch profile to automatically download and include elasticsearch as a side application much like solr is. Updates to the start/stop/conf scripts are included as well.

NOTE: This patch includes a **BACKWARDS INCOMPATIBLE** change to /atlas/common/src/main/java/org/apache/atlas/repository/Constants.java. There are six constants that are incorrectly named with a '.' (dot). This is not supported in Elasticsearch 5 and beyond when defining a mapping **UNLESS** the field names can be collectively thought of as an object. In the case of the fields defined in the Constants.java file, 'type' is defined as a string field, and 'type.name' is also defined as a string field. Elasticsearch sees this as an error, since it cannot convert type to an object. The fix included simply changes the field names from using a '.' (dot) to an '_' (underscore).

**Query**: There is a way we can simplify integration/unit tests for the in-memory graph store by using a maven plugin that will download and run an elasticsearch node. This is nothing more than a maven change, and change to the atlas-application.properties to switch to elasticsearch from solr. I did not implement this, but am curious if this change would be desired. If so, this can be done with a separate ticket.


Testing (updated)
-------

We currently use this fix with our Atlas setup in a fork of the Atlas code, and have found no issues with it. Additionally, with the update to the berkley-elasticsearch profile, I have extensively tested that profile to make sure that management of Elasticsearch functioned correctly.


Thanks,

Pierre Padovani