[
https://issues.apache.org/jira/browse/ATLAS-5220?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Pinal Shah updated ATLAS-5220:
------------------------------
Summary: Add Maven profiles to build slim server by selecting only required
storage/index backend (was: Add Maven profiles to build slim server by
selecting only required storage/index backends)
> Add Maven profiles to build slim server by selecting only required
> storage/index backend
> ----------------------------------------------------------------------------------------
>
> Key: ATLAS-5220
> URL: https://issues.apache.org/jira/browse/ATLAS-5220
> Project: Atlas
> Issue Type: Improvement
> Components: atlas-core
> Reporter: Pinal Shah
> Priority: Major
>
> *Issue:*
> Atlas server currently includes dependencies for multiple storage and index
> backends regardless of which backend is configured at runtime.
> Storage backend:
> * HBase
> * Cassandra
> * RDBMS (Postgres, eclipselink, persistence)
> Index backend:
> * Solr
> * Elasticsearch
> *Purpose:*
> Reduce Atlas server footprint by excluding unused backend/index libraries at
> build/package time, improving
> * classpath size
> * deployement size
> * container image size
> *Behaviour:*
> * Provide build-time selection so that a given server build includes only
> one storage backend and one index backend
> * Default should be hbase-solr
> * (Need to check for tests)
> *Impact (Low):*
> With same artifact, user will not be able to switch the backends.
> *Acceptance Criteria:*
> * Default server build: mvn -Pdist package produces war and distro package
> with HBase + Solr only.
> * Variant server build produces war and distro package containing only the
> selected backend/index deps.
> * Atlas starts without class-init failures when unused backend jars are
> absent.
> * WAR WEB-INF/lib does not contain unnecessary backend/index jars for the
> chosen profile.
> *Areas to be modified:*
> * create profiles
> * introduce properties for storage.backend, index.backend, audit.backend
> * atlas-graphdb-janus should be profile driven
> * atlas-repository for audit backends
> * AtlasJanusGraphDatabase should be updated accordingly
> * AtlasJanusGraphIndexClient should be updated (we only have solr support)
--
This message was sent by Atlassian Jira
(v8.20.10#820010)