Pinal Shah created ATLAS-5220:
---------------------------------

             Summary: Add Maven profiles to build slim server by selecting only 
required storage/index backends
                 Key: ATLAS-5220
                 URL: https://issues.apache.org/jira/browse/ATLAS-5220
             Project: Atlas
          Issue Type: Improvement
          Components:  atlas-core
            Reporter: Pinal Shah


*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 

intoduce properties for storage.backend, index.backend, audit.backend 

atlas-graphdb-janus should be profile driven
AtlasJanusGraphDatabase should be updated accordingly



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to