From 2cb3a66d0f4b72bfa118623b70cbf0fc228739fd Mon Sep 17 00:00:00 2001 From: Suman Das <59254445+sumandas0@users.noreply.github.com> Date: Tue, 4 Mar 2025 11:28:07 +0530 Subject: [PATCH 1/2] nit: change of nomenclature for the isolated ES clusters --- .../janus/AtlasElasticsearchDatabase.java | 32 +++++++++---------- .../janus/AtlasElasticsearchQuery.java | 18 +++++------ .../graphdb/janus/AtlasJanusGraph.java | 20 ++++++------ .../janus/AtlasJanusGraphDatabase.java | 6 ++-- .../org/apache/atlas/AtlasConfiguration.java | 4 +-- 5 files changed, 40 insertions(+), 40 deletions(-) diff --git a/graphdb/janus/src/main/java/org/apache/atlas/repository/graphdb/janus/AtlasElasticsearchDatabase.java b/graphdb/janus/src/main/java/org/apache/atlas/repository/graphdb/janus/AtlasElasticsearchDatabase.java index d02ac3fc8a..25e11f6f5c 100644 --- a/graphdb/janus/src/main/java/org/apache/atlas/repository/graphdb/janus/AtlasElasticsearchDatabase.java +++ b/graphdb/janus/src/main/java/org/apache/atlas/repository/graphdb/janus/AtlasElasticsearchDatabase.java @@ -37,8 +37,8 @@ public class AtlasElasticsearchDatabase { private static volatile RestHighLevelClient searchClient; private static volatile RestClient lowLevelClient; - private static volatile RestClient esProductClusterClient; - private static volatile RestClient esNonProductClusterClient; + private static volatile RestClient esUiClusterClient; + private static volatile RestClient esNonUiClusterClient; public static final String INDEX_BACKEND_CONF = "atlas.graph.index.search.hostname"; public static List getHttpHosts() throws AtlasException { @@ -105,25 +105,25 @@ public static RestClient getLowLevelClient() { return lowLevelClient; } - public static RestClient getProductClusterClient() { + public static RestClient getUiClusterClient() { if (!AtlasConfiguration.ATLAS_INDEXSEARCH_ENABLE_REQUEST_ISOLATION.getBoolean()) { return null; } - if (esProductClusterClient == null) { + if (esUiClusterClient == null) { synchronized (AtlasElasticsearchDatabase.class) { - if (esProductClusterClient == null) { + if (esUiClusterClient == null) { try { - HttpHost productHost = HttpHost.create(AtlasConfiguration.ATLAS_ELASTICSEARCH_PRODUCT_SEARCH_CLUSTER_URL.getString()); + HttpHost UiHost = HttpHost.create(AtlasConfiguration.ATLAS_ELASTICSEARCH_UI_SEARCH_CLUSTER_URL.getString()); - RestClientBuilder builder = RestClient.builder(productHost); + RestClientBuilder builder = RestClient.builder(UiHost); builder.setHttpClientConfigCallback(httpAsyncClientBuilder -> httpAsyncClientBuilder.setKeepAliveStrategy(((httpResponse, httpContext) -> 3600000))); builder.setRequestConfigCallback(requestConfigBuilder -> requestConfigBuilder .setConnectTimeout(AtlasConfiguration.INDEX_CLIENT_CONNECTION_TIMEOUT.getInt()) .setSocketTimeout(AtlasConfiguration.INDEX_CLIENT_SOCKET_TIMEOUT.getInt())); - esProductClusterClient = builder.build(); + esUiClusterClient = builder.build(); } catch (Exception e) { LOG.error("Failed to initialize product cluster client", e); return null; @@ -131,28 +131,28 @@ public static RestClient getProductClusterClient() { } } } - return esProductClusterClient; + return esUiClusterClient; } - public static RestClient getNonProductSearchClusterClient() { + public static RestClient getNonUiClusterClient() { if (!AtlasConfiguration.ATLAS_INDEXSEARCH_ENABLE_REQUEST_ISOLATION.getBoolean()) { return null; } - if (esNonProductClusterClient == null) { + if (esNonUiClusterClient == null) { synchronized (AtlasElasticsearchDatabase.class) { - if (esNonProductClusterClient == null) { + if (esNonUiClusterClient == null) { try { - HttpHost nonProductHost = HttpHost.create(AtlasConfiguration.ATLAS_ELASTICSEARCH_NON_PRODUCT_SEARCH_CLUSTER_URL.getString()); + HttpHost nonUiHost = HttpHost.create(AtlasConfiguration.ATLAS_ELASTICSEARCH_NON_UI_SEARCH_CLUSTER_URL.getString()); - RestClientBuilder builder = RestClient.builder(nonProductHost); + RestClientBuilder builder = RestClient.builder(nonUiHost); builder.setHttpClientConfigCallback(httpAsyncClientBuilder -> httpAsyncClientBuilder.setKeepAliveStrategy(((httpResponse, httpContext) -> 3600000))); builder.setRequestConfigCallback(requestConfigBuilder -> requestConfigBuilder .setConnectTimeout(AtlasConfiguration.INDEX_CLIENT_CONNECTION_TIMEOUT.getInt()) .setSocketTimeout(AtlasConfiguration.INDEX_CLIENT_SOCKET_TIMEOUT.getInt())); - esNonProductClusterClient = builder.build(); + esNonUiClusterClient = builder.build(); } catch (Exception e) { LOG.error("Failed to initialize Non-product cluster client", e); return null; @@ -160,7 +160,7 @@ public static RestClient getNonProductSearchClusterClient() { } } } - return esNonProductClusterClient; + return esNonUiClusterClient; } diff --git a/graphdb/janus/src/main/java/org/apache/atlas/repository/graphdb/janus/AtlasElasticsearchQuery.java b/graphdb/janus/src/main/java/org/apache/atlas/repository/graphdb/janus/AtlasElasticsearchQuery.java index 583eca7afc..76d15d9210 100644 --- a/graphdb/janus/src/main/java/org/apache/atlas/repository/graphdb/janus/AtlasElasticsearchQuery.java +++ b/graphdb/janus/src/main/java/org/apache/atlas/repository/graphdb/janus/AtlasElasticsearchQuery.java @@ -71,8 +71,8 @@ public class AtlasElasticsearchQuery implements AtlasIndexQuery scriptEngine = ThreadLocal.withInitial(() -> { DefaultImportCustomizer.Builder builder = DefaultImportCustomizer.build() @@ -134,10 +134,10 @@ public class AtlasJanusGraph implements AtlasGraph elasticsearchQuery(Stri LOG.error("restClient is not initiated, failed to run query on ES"); throw new AtlasBaseException(INDEX_SEARCH_FAILED, "restClient is not initiated"); } - return new AtlasElasticsearchQuery(this, restClient, INDEX_PREFIX + indexName, searchParams, esProductClusterClient, esNonProductClusterClient); + return new AtlasElasticsearchQuery(this, restClient, INDEX_PREFIX + indexName, searchParams, esUiClusterClient, esNonUiClusterClient); } @Override @@ -389,7 +389,7 @@ public AtlasIndexQuery elasticsearchQuery(String indexName) throws AtlasBaseExce LOG.error("restClient is not initiated, failed to run query on ES"); throw new AtlasBaseException(INDEX_SEARCH_FAILED, "restClient is not initiated"); } - return new AtlasElasticsearchQuery(this, indexName, restClient, esProductClusterClient, esNonProductClusterClient); + return new AtlasElasticsearchQuery(this, indexName, restClient, esUiClusterClient, esNonUiClusterClient); } @Override diff --git a/graphdb/janus/src/main/java/org/apache/atlas/repository/graphdb/janus/AtlasJanusGraphDatabase.java b/graphdb/janus/src/main/java/org/apache/atlas/repository/graphdb/janus/AtlasJanusGraphDatabase.java index d43a857971..501afb0c56 100644 --- a/graphdb/janus/src/main/java/org/apache/atlas/repository/graphdb/janus/AtlasJanusGraphDatabase.java +++ b/graphdb/janus/src/main/java/org/apache/atlas/repository/graphdb/janus/AtlasJanusGraphDatabase.java @@ -57,8 +57,8 @@ import static org.apache.atlas.repository.graphdb.janus.AtlasElasticsearchDatabase.getClient; import static org.apache.atlas.repository.graphdb.janus.AtlasElasticsearchDatabase.getLowLevelClient; -import static org.apache.atlas.repository.graphdb.janus.AtlasElasticsearchDatabase.getProductClusterClient; -import static org.apache.atlas.repository.graphdb.janus.AtlasElasticsearchDatabase.getNonProductSearchClusterClient; +import static org.apache.atlas.repository.graphdb.janus.AtlasElasticsearchDatabase.getUiClusterClient; +import static org.apache.atlas.repository.graphdb.janus.AtlasElasticsearchDatabase.getNonUiClusterClient; import static org.apache.atlas.ApplicationProperties.DEFAULT_INDEX_RECOVERY; @@ -357,7 +357,7 @@ public AtlasGraph getGraph() { @Override public AtlasGraph getGraphBulkLoading() { - return new AtlasJanusGraph(getBulkLoadingGraphInstance(), getClient(), getLowLevelClient(), getProductClusterClient(), getNonProductSearchClusterClient()); + return new AtlasJanusGraph(getBulkLoadingGraphInstance(), getClient(), getLowLevelClient(), getUiClusterClient(), getNonUiClusterClient()); } private static void startEmbeddedSolr() throws AtlasException { diff --git a/intg/src/main/java/org/apache/atlas/AtlasConfiguration.java b/intg/src/main/java/org/apache/atlas/AtlasConfiguration.java index f81e6a306d..082c42236e 100644 --- a/intg/src/main/java/org/apache/atlas/AtlasConfiguration.java +++ b/intg/src/main/java/org/apache/atlas/AtlasConfiguration.java @@ -121,8 +121,8 @@ public enum AtlasConfiguration { ATLAS_INDEXSEARCH_QUERY_SIZE_MAX_LIMIT("atlas.indexsearch.query.size.max.limit", 100000), ATLAS_INDEXSEARCH_LIMIT_UTM_TAGS("atlas.indexsearch.limit.ignore.utm.tags", ""), ATLAS_INDEXSEARCH_ENABLE_REQUEST_ISOLATION("atlas.indexsearch.request.isolation.enable", false), - ATLAS_ELASTICSEARCH_PRODUCT_SEARCH_CLUSTER_URL("atlas.index.elasticsearch.product.cluster.url","atlas-elasticsearch2-product-search-headless.atlas.svc.cluster.local:9200"), - ATLAS_ELASTICSEARCH_NON_PRODUCT_SEARCH_CLUSTER_URL("atlas.index.elasticsearch.nonproduct.cluster.url","atlas-elasticsearch2-non-product-search-headless.atlas.svc.cluster.local:9200"), + ATLAS_ELASTICSEARCH_UI_SEARCH_CLUSTER_URL("atlas.index.elasticsearch.ui.cluster.url","atlas-elasticsearch2-ui-search.atlas.svc.cluster.local:9200"), + ATLAS_ELASTICSEARCH_NON_UI_SEARCH_CLUSTER_URL("atlas.index.elasticsearch.nonui.cluster.url","atlas-elasticsearch2-non-ui-search.atlas.svc.cluster.local:9200"), ATLAS_INDEXSEARCH_ENABLE_API_LIMIT("atlas.indexsearch.enable.api.limit", false), ATLAS_INDEXSEARCH_ENABLE_JANUS_OPTIMISATION("atlas.indexsearch.enable.janus.optimization", false), ATLAS_MAINTENANCE_MODE("atlas.maintenance.mode", false), From 729a9a36f25f406234e87a098a5fc93a6c5f0908 Mon Sep 17 00:00:00 2001 From: Suman Das <59254445+sumandas0@users.noreply.github.com> Date: Tue, 4 Mar 2025 12:55:31 +0530 Subject: [PATCH 2/2] nit: skimmed through places to eliminate product/non-product --- .../graphdb/janus/AtlasElasticsearchDatabase.java | 4 ++-- .../repository/graphdb/janus/AtlasElasticsearchQuery.java | 7 +++---- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/graphdb/janus/src/main/java/org/apache/atlas/repository/graphdb/janus/AtlasElasticsearchDatabase.java b/graphdb/janus/src/main/java/org/apache/atlas/repository/graphdb/janus/AtlasElasticsearchDatabase.java index 25e11f6f5c..31c09b1c12 100644 --- a/graphdb/janus/src/main/java/org/apache/atlas/repository/graphdb/janus/AtlasElasticsearchDatabase.java +++ b/graphdb/janus/src/main/java/org/apache/atlas/repository/graphdb/janus/AtlasElasticsearchDatabase.java @@ -125,7 +125,7 @@ public static RestClient getUiClusterClient() { esUiClusterClient = builder.build(); } catch (Exception e) { - LOG.error("Failed to initialize product cluster client", e); + LOG.error("Failed to initialize UI cluster client", e); return null; } } @@ -154,7 +154,7 @@ public static RestClient getNonUiClusterClient() { esNonUiClusterClient = builder.build(); } catch (Exception e) { - LOG.error("Failed to initialize Non-product cluster client", e); + LOG.error("Failed to initialize Non-Ui cluster client", e); return null; } } diff --git a/graphdb/janus/src/main/java/org/apache/atlas/repository/graphdb/janus/AtlasElasticsearchQuery.java b/graphdb/janus/src/main/java/org/apache/atlas/repository/graphdb/janus/AtlasElasticsearchQuery.java index 76d15d9210..7a1e571498 100644 --- a/graphdb/janus/src/main/java/org/apache/atlas/repository/graphdb/janus/AtlasElasticsearchQuery.java +++ b/graphdb/janus/src/main/java/org/apache/atlas/repository/graphdb/janus/AtlasElasticsearchQuery.java @@ -117,18 +117,17 @@ private SearchRequest getSearchRequest(String index, SearchSourceBuilder sourceB /** * Returns the appropriate Elasticsearch RestClient based on client origin and configuration settings if isolation is enabled. * - * @return RestClient configured for either product or SDK cluster, falling back to low-level client + * @return RestClient configured for either UI or Non-UI cluster, falling back to low-level client */ private RestClient getESClient() { - RestClient client = lowLevelRestClient; if (!AtlasConfiguration.ATLAS_INDEXSEARCH_ENABLE_REQUEST_ISOLATION.getBoolean()) { - return client; + return lowLevelRestClient; } try { String clientOrigin = RequestContext.get().getClientOrigin(); if (clientOrigin == null) { - return client; + return lowLevelRestClient; } if (CLIENT_ORIGIN_PRODUCT.equals(clientOrigin)) { return Optional.ofNullable(esUiClusterClient)