atlas-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Graham Wallis (JIRA)" <j...@apache.org>
Subject [jira] [Comment Edited] (ATLAS-2260) Ensure BerkeleyDB works with Janus
Date Tue, 21 Nov 2017 09:55:00 GMT

    [ https://issues.apache.org/jira/browse/ATLAS-2260?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16260493#comment-16260493
] 

Graham Wallis edited comment on ATLAS-2260 at 11/21/17 9:54 AM:
----------------------------------------------------------------

The problem we have with the current master is a case of clashing profiles. In order for the
distro module to build a standalone distribution it is currently necessary to adopt the 'dist'
profile, but the 'dist' profile in webapp has the effect of excluding berkeley, elasticsearch
and lucene. So you cannot current build a standalone berkeley-elasticsearch package like you
used to. The solution to this could be very simple - see workaround below - or somewhat more
sophisticated depending on how many combinations of graph-provider, persistent store and indexing
backend we decide to support going forward. So, rather than going for the immediate and obvious
fix, I opened ATLAS-2270 for that discussion. If we need to support multiple combinations
of hbase (with solr or es) and berkeley (with solr or es) and possibly cassandra (see ATLAS-2259,
with solr or es), then we may want to introduce a system variable (similar to GRAPH-PROVIDER)
in order to ensure mutual exclusion between profiles.

It is worth mentioning here that berkeley and es are used for internal UTs - the problem only
afflicts standalone package builds. If you are happy with hbase-solr then standalone is OK,
but it's the only standalone option.

For now, if you need to build a standalone package with the berkeley-elasticsearch profile
then, as a workaround, you need to locally modify the webapp/pom.xml to prevent the dist profile
from excluding WEB-INF/lib/je-\*.jar,WEB-INF/lib/elasticsearch-\*.jar,WEB-INF/lib/lucene-\*.jar,
and modify the berkeley-elasticsearch profile from excluding WEB-INF/lib/je-\*.jar. Or you
could just rename the webapp/pom.xml occurrence of the 'dist' profile. I don't think you need
to worry about the titan-\* jars being excluded because they should be in the uber jar if
using titan0 and you won't need them if using janus.


was (Author: grahamwallis):
The problem we have with the current master is a case of clashing profiles. In order for the
distro module to build a standalone distribution it is currently necessary to adopt the 'dist'
profile, but the 'dist' profile in webapp has the effect of excluding berkeley, elasticsearch
and lucene. So you cannot current build a standalone berkeley-elasticsearch package like you
used to. The solution to this could be very simple - see workaround below - or somewhat more
sophisticated depending on how many combinations of graph-provider, persistent store and indexing
backend we decide to support going forward. So, rather than going for the immediate and obvious
fix, I opened ATLAS-2270 for that discussion. If we need to support multiple combinations
of hbase (with solr or es) and berkeley (with solr or es) and possibly cassandra (see ATLAS-2259,
with solr or es), then we may want to introduce a system variable (similar to GRAPH-PROVIDER)
in order to ensure mutual exclusion between profiles.

It is worth mentioning here that berkeley and es are used for internal UTs - the problem only
afflicts standalone package builds. If you are happy with hbase-solr then standalone is OK,
but it's the only standalone option.

For now, if you need to build a standalone package with the berkeley-elasticsearch profile
then, as a workaround, you need to locally modify the webapp/pom.xml to prevent the dist profile
from excluding WEB-INF/lib/je-*.jar,WEB-INF/lib/elasticsearch-*.jar,WEB-INF/lib/lucene-*.jar,
and modify the berkeley-elasticsearch profile from excluding WEB-INF/lib/je-*.jar. Or you
could just rename the webapp/pom.xml occurrence of the 'dist' profile. I don't think you need
to worry about the titan-* jars being excluded because they should be in the uber jar if using
titan0 and you won't need them if using janus.

> Ensure BerkeleyDB works with Janus 
> -----------------------------------
>
>                 Key: ATLAS-2260
>                 URL: https://issues.apache.org/jira/browse/ATLAS-2260
>             Project: Atlas
>          Issue Type: Bug
>            Reporter: David Radley
>
> currently Atlas defaults to JanusGraph in master. The Atlas build appears to bring in
the Apache 2 licensed BerkeleyDB JE 7.3.7. I should be possible for Atlas to be built and
run with Janus using this embedded BerkeleyDB. Currently building with 
> mvn clean package -Pdist,berkeley-elasticsearch -DskipTests  
> is clean but Atlas fails to start - as it cannot find a sleepycat DBException class.
> We should consider supporting running Berkeley with solr as well. 



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Mime
View raw message