diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml index 25f56d6c73..93a25a6066 100644 --- a/.github/workflows/maven.yml +++ b/.github/workflows/maven.yml @@ -27,7 +27,7 @@ on: - development - master - lineageondemand - - makerlogic + - janusupgrade jobs: build: diff --git a/build.sh b/build.sh index d60c540769..d3f77f5647 100755 --- a/build.sh +++ b/build.sh @@ -24,9 +24,9 @@ unzip -o keycloak-15.0.2.1.zip -d ~/.m2/repository/org echo "Maven Building" if [ "$1" == "build_without_dashboard" ]; then - mvn -pl '!test-tools,!addons/hdfs-model,!addons/hive-bridge,!addons/hive-bridge-shim,!addons/falcon-bridge-shim,!addons/falcon-bridge,!addons/sqoop-bridge,!addons/sqoop-bridge-shim,!addons/hbase-bridge,!addons/hbase-bridge-shim,!addons/hbase-testing-util,!addons/kafka-bridge,!addons/impala-hook-api,!addons/impala-bridge-shim,!addons/impala-bridge,!dashboardv2,!dashboardv3' -Dmaven.test.skip -DskipTests -Drat.skip=true -DskipOverlay -DskipEnunciate=true package -Pdist + mvn -pl '!addons/hdfs-model,!addons/hive-bridge,!addons/hive-bridge-shim,!addons/falcon-bridge-shim,!addons/falcon-bridge,!addons/sqoop-bridge,!addons/sqoop-bridge-shim,!addons/hbase-bridge,!addons/hbase-bridge-shim,!addons/hbase-testing-util,!addons/kafka-bridge,!addons/impala-hook-api,!addons/impala-bridge-shim,!addons/impala-bridge,!dashboardv2,!dashboardv3' -Dmaven.test.skip -DskipTests -Drat.skip=true -DskipOverlay -DskipEnunciate=true package -Pdist else - mvn -pl '!test-tools,!addons/hdfs-model,!addons/hive-bridge,!addons/hive-bridge-shim,!addons/falcon-bridge-shim,!addons/falcon-bridge,!addons/sqoop-bridge,!addons/sqoop-bridge-shim,!addons/hbase-bridge,!addons/hbase-bridge-shim,!addons/hbase-testing-util,!addons/kafka-bridge,!addons/impala-hook-api,!addons/impala-bridge-shim,!addons/impala-bridge' -Dmaven.test.skip -DskipTests -Drat.skip=true -DskipEnunciate=true package -Pdist + mvn -pl '!addons/hdfs-model,!addons/hive-bridge,!addons/hive-bridge-shim,!addons/falcon-bridge-shim,!addons/falcon-bridge,!addons/sqoop-bridge,!addons/sqoop-bridge-shim,!addons/hbase-bridge,!addons/hbase-bridge-shim,!addons/hbase-testing-util,!addons/kafka-bridge,!addons/impala-hook-api,!addons/impala-bridge-shim,!addons/impala-bridge' -Dmaven.test.skip -DskipTests -Drat.skip=true -DskipEnunciate=true package -Pdist fi echo "[DEBUG listing distro/target" diff --git a/graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraph.java b/graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraph.java index 666ab376a7..8b7a18695d 100644 --- a/graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraph.java +++ b/graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraph.java @@ -384,8 +384,4 @@ public interface AtlasGraph { */ AtlasGraphIndexClient getGraphIndexClient()throws AtlasException; - - void setEnableCache(boolean enableCache); - - Boolean isCacheEnabled(); } diff --git a/graphdb/janus/pom.xml b/graphdb/janus/pom.xml index 75c9079eee..6497397fb9 100644 --- a/graphdb/janus/pom.xml +++ b/graphdb/janus/pom.xml @@ -95,6 +95,10 @@ org.apache.tinkerpop gremlin-driver + + cassandra-hadoop-util + * + diff --git a/graphdb/janus/src/main/java/org/apache/atlas/repository/graphdb/janus/AtlasJanusGraph.java b/graphdb/janus/src/main/java/org/apache/atlas/repository/graphdb/janus/AtlasJanusGraph.java index 6c5e0c9886..7aca9ebe82 100644 --- a/graphdb/janus/src/main/java/org/apache/atlas/repository/graphdb/janus/AtlasJanusGraph.java +++ b/graphdb/janus/src/main/java/org/apache/atlas/repository/graphdb/janus/AtlasJanusGraph.java @@ -69,12 +69,7 @@ import org.elasticsearch.client.RestClient; import org.elasticsearch.client.RestHighLevelClient; import org.elasticsearch.search.builder.SearchSourceBuilder; -import org.janusgraph.core.Cardinality; -import org.janusgraph.core.JanusGraph; -import org.janusgraph.core.JanusGraphFactory; -import org.janusgraph.core.JanusGraphIndexQuery; -import org.janusgraph.core.PropertyKey; -import org.janusgraph.core.SchemaViolationException; +import org.janusgraph.core.*; import org.janusgraph.core.schema.JanusGraphIndex; import org.janusgraph.core.schema.JanusGraphManagement; import org.janusgraph.core.schema.Parameter; @@ -689,11 +684,7 @@ private Edge getFirstActiveEdge(GraphTraversal gt) { return null; } - public void setEnableCache(boolean enableCache) { - this.janusGraph.setEnableCache(enableCache); - } - - public Boolean isCacheEnabled() { - return this.janusGraph.isCacheEnabled(); + public JanusGraphTransaction getTransaction() { + return this.janusGraph.newThreadBoundTransaction(); } } 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 0d96b0e839..93afe8b68f 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 @@ -90,7 +90,7 @@ public class AtlasJanusGraphDatabase implements GraphDatabase directIndexQuery(String query) throws AtlasBaseExcept @Override public Iterator> vertices() { - Iterator> results = query.vertices().iterator(); + Iterator> results = query.vertexStream().iterator(); Function, Result> function = new Function, Result>() { @@ -77,7 +77,7 @@ public Iterator> vertices(int offset, i Iterator> results = query .offset(offset) .limit(limit) - .vertices().iterator(); + .vertexStream().iterator(); Function, Result> function = new Function, Result>() { @@ -100,7 +100,7 @@ public Iterator> vertices(int offset, i .orderBy(sortBy, sortOrder) .offset(offset) .limit(limit) - .vertices().iterator(); + .vertexStream().iterator(); Function, Result> function = new Function, Result>() { diff --git a/graphdb/janus/src/main/java/org/janusgraph/diskstorage/solr/Solr6Index.java b/graphdb/janus/src/main/java/org/janusgraph/diskstorage/solr/Solr6Index.java index 23c11de301..3f5b3688ba 100644 --- a/graphdb/janus/src/main/java/org/janusgraph/diskstorage/solr/Solr6Index.java +++ b/graphdb/janus/src/main/java/org/janusgraph/diskstorage/solr/Solr6Index.java @@ -121,6 +121,7 @@ import org.janusgraph.graphdb.query.condition.Not; import org.janusgraph.graphdb.query.condition.Or; import org.janusgraph.graphdb.query.condition.PredicateCondition; +import org.janusgraph.graphdb.tinkerpop.optimize.step.Aggregation; import org.janusgraph.graphdb.types.ParameterType; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -672,7 +673,7 @@ public Stream query(IndexQuery query, KeyInformation.IndexRetriever info doc -> doc.getFieldValue(keyIdField).toString()); } - @Override + //@Override public Long queryCount(IndexQuery query, KeyInformation.IndexRetriever information, BaseTransaction tx) throws BackendException { try { String collection = query.getStore(); @@ -1178,6 +1179,16 @@ public boolean exists() throws BackendException { } } + @Override + public Number queryAggregation(IndexQuery indexQuery, KeyInformation.IndexRetriever indexRetriever, BaseTransaction baseTransaction, Aggregation aggregation) throws BackendException { + return null; + } + + @Override + public void clearStore(String s) throws BackendException { + + } + /* ################# UTILITY METHODS ####################### */ diff --git a/intg/src/main/java/org/apache/atlas/model/discovery/AtlasSearchResult.java b/intg/src/main/java/org/apache/atlas/model/discovery/AtlasSearchResult.java index 96bc0dc587..963e850636 100644 --- a/intg/src/main/java/org/apache/atlas/model/discovery/AtlasSearchResult.java +++ b/intg/src/main/java/org/apache/atlas/model/discovery/AtlasSearchResult.java @@ -31,13 +31,7 @@ import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlRootElement; import java.io.Serializable; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; -import java.util.Map; -import java.util.Objects; -import java.util.LinkedHashMap; +import java.util.*; import static com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility.NONE; import static com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility.PUBLIC_ONLY; diff --git a/pom.xml b/pom.xml index 45bbee7382..bee12727c5 100644 --- a/pom.xml +++ b/pom.xml @@ -697,7 +697,7 @@ 4.3.0 1.8 3.2.2 - 7.16.2 + 7.17.4 org.apache.atlas.repository.audit.InMemoryEntityAuditRepository 2.13.2 2.18.1 @@ -717,7 +717,7 @@ 4.4.13 2.12.4 2.12.4 - 0.6.03 + 1.0.0 0.5.3 1 3.1.0 @@ -773,7 +773,7 @@ 2C 3.0.0-M5 6.9.4 - 3.5.1 + 3.7.0 5.0.3 3.5.5 3.20.1 @@ -836,16 +836,6 @@ false - - github - https://maven.pkg.github.com/atlanhq/atlan-janusgraph - - true - - - true - - hortonworks.repo https://repo.hortonworks.com/content/repositories/releases @@ -1806,7 +1796,7 @@ com.github.eirslett frontend-maven-plugin - 1.4 + 1.11.0 diff --git a/repository/pom.xml b/repository/pom.xml index bbe15338f8..0c8a7d9c92 100755 --- a/repository/pom.xml +++ b/repository/pom.xml @@ -59,6 +59,18 @@ atlas-graphdb-api + + org.apache.tinkerpop + gremlin-util + ${tinkerpop.version} + + + + org.jctools + jctools-core + 4.0.1 + + org.antlr antlr4-runtime @@ -111,7 +123,7 @@ io.netty - * + netty-handler org.slf4j diff --git a/repository/src/main/java/org/apache/atlas/discovery/EntityDiscoveryService.java b/repository/src/main/java/org/apache/atlas/discovery/EntityDiscoveryService.java index 5c66f77e05..a8f039e4fd 100644 --- a/repository/src/main/java/org/apache/atlas/discovery/EntityDiscoveryService.java +++ b/repository/src/main/java/org/apache/atlas/discovery/EntityDiscoveryService.java @@ -1071,7 +1071,7 @@ public SearchLogSearchResult searchLogs(SearchLogSearchParams searchParams) thro } } - private void prepareSearchResult(AtlasSearchResult ret, DirectIndexQueryResult indexQueryResult, Set resultAttributes, boolean fetchCollapsedResults) throws AtlasBaseException { + private void prepareSearchResult(AtlasSearchResult ret, DirectIndexQueryResult indexQueryResult, Set resultAttributes, boolean collapseResults) throws AtlasBaseException { SearchParams searchParams = ret.getSearchParameters(); try { if(LOG.isDebugEnabled()){ @@ -1099,7 +1099,7 @@ private void prepareSearchResult(AtlasSearchResult ret, DirectIndexQueryResult i if (showSearchScore) { ret.addEntityScore(header.getGuid(), result.getScore()); } - if (fetchCollapsedResults) { + if (collapseResults) { Map collapse = new HashMap<>(); Set collapseKeys = result.getCollapseKeys(); @@ -1140,11 +1140,40 @@ private void prepareSearchResult(AtlasSearchResult ret, DirectIndexQueryResult i ret.addEntity(header); } } catch (Exception e) { - throw e; + throw e; } scrubSearchResults(ret, searchParams.getSuppressLogs()); } + // Non-recursive collapse processing + private Map processCollapseResults(Result result, SearchParams searchParams, Set resultAttributes) throws AtlasBaseException { + Map collapse = new HashMap<>(); + Set collapseKeys = result.getCollapseKeys(); + + for (String collapseKey : collapseKeys) { + AtlasSearchResult collapseRet = new AtlasSearchResult(); + collapseRet.setSearchParameters(searchParams); + Set collapseResultAttributes = new HashSet<>(Optional.ofNullable(searchParams.getCollapseAttributes()).orElse(resultAttributes)); + DirectIndexQueryResult indexQueryCollapsedResult = result.getCollapseVertices(collapseKey); + collapseRet.setApproximateCount(indexQueryCollapsedResult.getApproximateCount()); + + // Directly iterate over collapse vertices + Iterator iterator = indexQueryCollapsedResult.getIterator(); + while (iterator != null && iterator.hasNext()) { + Result collapseResult = iterator.next(); + AtlasVertex collapseVertex = collapseResult.getVertex(); + if (collapseVertex == null) continue; + + AtlasEntityHeader collapseHeader = entityRetriever.toAtlasEntityHeader(collapseVertex, collapseResultAttributes); + collapseRet.addEntity(collapseHeader); + } + + collapse.put(collapseKey, collapseRet); + } + + return collapse; + } + private Map getMap(String key, Object value) { Map map = new HashMap<>(); map.put(key, value); diff --git a/repository/src/main/java/org/apache/atlas/repository/audit/EntityAuditListenerV2.java b/repository/src/main/java/org/apache/atlas/repository/audit/EntityAuditListenerV2.java index d0dbecad38..b6b3fd4d44 100644 --- a/repository/src/main/java/org/apache/atlas/repository/audit/EntityAuditListenerV2.java +++ b/repository/src/main/java/org/apache/atlas/repository/audit/EntityAuditListenerV2.java @@ -493,7 +493,7 @@ private EntityAuditEventV2 createEvent(EntityAuditEventV2 entityAuditEventV2, At String qualifiedName = (String) originalEntity.getAttribute(QUALIFIED_NAME); entityAuditEventV2.setEntityQualifiedName(AtlasType.toJson(qualifiedName)); } else { - String qualifiedName = (String) entity.getAttribute(QUALIFIED_NAME); + String qualifiedName = (String)entity.getAttribute(QUALIFIED_NAME); entityAuditEventV2.setEntityQualifiedName(AtlasType.toJson(qualifiedName)); } diff --git a/repository/src/main/java/org/apache/atlas/repository/graph/GraphHelper.java b/repository/src/main/java/org/apache/atlas/repository/graph/GraphHelper.java index 335e2accc8..99a48c47e8 100755 --- a/repository/src/main/java/org/apache/atlas/repository/graph/GraphHelper.java +++ b/repository/src/main/java/org/apache/atlas/repository/graph/GraphHelper.java @@ -1081,6 +1081,10 @@ public static Boolean isEntityIncomplete(AtlasElement element) { return ret; } + public static Boolean isEntityIncomplete(Integer value) { + return value != null && value.equals(INCOMPLETE_ENTITY_VALUE) ? Boolean.TRUE : Boolean.FALSE; + } + public static Boolean getEntityHasLineage(AtlasElement element) { if (element.getPropertyKeys().contains(HAS_LINEAGE)) { return element.getProperty(HAS_LINEAGE, Boolean.class); @@ -1108,10 +1112,24 @@ public static Map getCustomAttributes(AtlasElement element) { return ret; } + public static Map getCustomAttributes(String customAttrsString) { + Map ret = null; + + if (customAttrsString != null) { + ret = AtlasType.fromJson(customAttrsString, Map.class); + } + + return ret; + } + public static Set getLabels(AtlasElement element) { return parseLabelsString(element.getProperty(LABELS_PROPERTY_KEY, String.class)); } + public static Set getLabels(String labels) { + return parseLabelsString(labels); + } + public static Integer getProvenanceType(AtlasElement element) { return element.getProperty(Constants.PROVENANCE_TYPE_KEY, Integer.class); } @@ -2008,6 +2026,27 @@ public static Iterator getActiveEdges(AtlasVertex vertex, String chil } } + /** + * Get all the active edges + * @param vertex entity vertex + * @return Iterator of children edges + */ + public static Iterator getOnlyActiveEdges(AtlasVertex vertex, AtlasEdgeDirection direction) throws AtlasBaseException { + AtlasPerfMetrics.MetricRecorder metricRecorder = RequestContext.get().startMetricRecord("GraphHelper.getOnlyActiveEdges"); + + try { + return vertex.query() + .direction(direction) + .has(STATE_PROPERTY_KEY, ACTIVE_STATE_VALUE) + .edges() + .iterator(); + } catch (Exception e) { + throw new AtlasBaseException(AtlasErrorCode.INTERNAL_ERROR, e); + } + finally { + RequestContext.get().endMetricRecord(metricRecorder); + } + } public static Iterator getActiveVertices(AtlasVertex vertex, String childrenEdgeLabel, AtlasEdgeDirection direction) throws AtlasBaseException { AtlasPerfMetrics.MetricRecorder metricRecorder = RequestContext.get().startMetricRecord("CategoryPreProcessor.getEdges"); diff --git a/repository/src/main/java/org/apache/atlas/repository/graph/IndexRecoveryService.java b/repository/src/main/java/org/apache/atlas/repository/graph/IndexRecoveryService.java index c39876d19c..4600699149 100644 --- a/repository/src/main/java/org/apache/atlas/repository/graph/IndexRecoveryService.java +++ b/repository/src/main/java/org/apache/atlas/repository/graph/IndexRecoveryService.java @@ -228,7 +228,6 @@ private void startMonitoring() { try { startTime = recoveryInfoManagement.getStartTime(); Instant newStartTime = Instant.now(); - this.graph.setEnableCache(false); txRecoveryObject = this.graph.getManagementSystem().startIndexRecovery(startTime); recoveryInfoManagement.updateStartTime(newStartTime.toEpochMilli()); diff --git a/repository/src/main/java/org/apache/atlas/repository/store/graph/v2/AtlasEntityStoreV2.java b/repository/src/main/java/org/apache/atlas/repository/store/graph/v2/AtlasEntityStoreV2.java index f99d1659c2..16c5479183 100644 --- a/repository/src/main/java/org/apache/atlas/repository/store/graph/v2/AtlasEntityStoreV2.java +++ b/repository/src/main/java/org/apache/atlas/repository/store/graph/v2/AtlasEntityStoreV2.java @@ -1700,7 +1700,6 @@ private void executePreProcessor(EntityMutationContext context) throws AtlasBase private EntityMutationContext preCreateOrUpdate(EntityStream entityStream, EntityGraphMapper entityGraphMapper, boolean isPartialUpdate) throws AtlasBaseException { MetricRecorder metric = RequestContext.get().startMetricRecord("preCreateOrUpdate"); - this.graph.setEnableCache(RequestContext.get().isCacheEnabled()); EntityGraphDiscovery graphDiscoverer = new AtlasEntityGraphDiscoveryV2(graph, typeRegistry, entityStream, entityGraphMapper); EntityGraphDiscoveryContext discoveryContext = graphDiscoverer.discoverEntities(); EntityMutationContext context = new EntityMutationContext(discoveryContext); diff --git a/repository/src/main/java/org/apache/atlas/repository/util/AccessControlUtils.java b/repository/src/main/java/org/apache/atlas/repository/util/AccessControlUtils.java index 1f89e4d65c..f4b72f42f6 100644 --- a/repository/src/main/java/org/apache/atlas/repository/util/AccessControlUtils.java +++ b/repository/src/main/java/org/apache/atlas/repository/util/AccessControlUtils.java @@ -59,6 +59,11 @@ public final class AccessControlUtils { public static final String ATTR_PERSONA_USERS = "personaUsers"; public static final String ATTR_PERSONA_GROUPS = "personaGroups"; + public static final String ATTR_SERVICE_SERVICE_TYPE = "authServiceType"; + public static final String ATTR_SERVICE_TAG_SERVICE = "tagService"; + public static final String ATTR_SERVICE_IS_ENABLED = "authServiceIsEnabled"; + public static final String ATTR_SERVICE_LAST_SYNC = "authServicePolicyLastSync"; + public static final String ATTR_PURPOSE_CLASSIFICATIONS = "purposeClassifications"; public static final String ATTR_SERVICE_SERVICE_TYPE = "authServiceType"; diff --git a/repository/src/main/java/org/apache/atlas/services/MetricsService.java b/repository/src/main/java/org/apache/atlas/services/MetricsService.java index 5a8f445348..f8001720dd 100644 --- a/repository/src/main/java/org/apache/atlas/services/MetricsService.java +++ b/repository/src/main/java/org/apache/atlas/services/MetricsService.java @@ -98,7 +98,6 @@ public MetricsService(final AtlasGraph graph, final AtlasTypeRegistry typeRegist @SuppressWarnings("unchecked") @GraphTransaction public AtlasMetrics getMetrics() { - this.atlasGraph.setEnableCache(false); final AtlasTypesDef typesDef = getTypesDef(); Collection entityDefs = typesDef.getEntityDefs(); diff --git a/repository/src/main/java/org/apache/atlas/util/AtlasMetricsUtil.java b/repository/src/main/java/org/apache/atlas/util/AtlasMetricsUtil.java index 971c4d6404..224a8a5120 100644 --- a/repository/src/main/java/org/apache/atlas/util/AtlasMetricsUtil.java +++ b/repository/src/main/java/org/apache/atlas/util/AtlasMetricsUtil.java @@ -194,13 +194,10 @@ public Map getStats() { private boolean getBackendStoreStatus(){ try { - boolean isCacheEnabled = this.graph.isCacheEnabled(); runWithTimeout(new Runnable() { @Override public void run() { - graph.setEnableCache(isCacheEnabled); graph.query().has(TYPE_NAME_PROPERTY_KEY, TYPE_NAME_INTERNAL).vertices(1); - graphCommit(); } }, 10, TimeUnit.SECONDS); @@ -219,11 +216,9 @@ private boolean getIndexStoreStatus(){ final String query = AtlasGraphUtilsV2.getIndexSearchPrefix() + "\"" + Constants.TYPE_NAME_PROPERTY_KEY + "\":(" + TYPE_NAME_INTERNAL + ")"; try { - boolean isCacheEnabled = this.graph.isCacheEnabled(); runWithTimeout(new Runnable() { @Override public void run() { - graph.setEnableCache(isCacheEnabled); graph.indexQuery(Constants.VERTEX_INDEX, query).vertices(0, 1); graphCommit(); diff --git a/server-api/src/main/java/org/apache/atlas/RequestContext.java b/server-api/src/main/java/org/apache/atlas/RequestContext.java index fc13b38971..0abed3d369 100644 --- a/server-api/src/main/java/org/apache/atlas/RequestContext.java +++ b/server-api/src/main/java/org/apache/atlas/RequestContext.java @@ -739,15 +739,7 @@ public void setUri(String uri) { public String getRequestUri() { return this.requestUri; } - - public void setEnableCache(boolean cacheEnabled) { - this.cacheEnabled = cacheEnabled; - } - - public boolean isCacheEnabled() { - return this.cacheEnabled; - } - + public boolean isIncludeClassificationNames() { return includeClassificationNames; } diff --git a/webapp/pom.xml b/webapp/pom.xml index 05a97f200a..3dd213b5c5 100755 --- a/webapp/pom.xml +++ b/webapp/pom.xml @@ -552,7 +552,6 @@ org.apache.atlas atlas-testtools ${project.version} - test diff --git a/webapp/src/main/java/org/apache/atlas/web/rest/EntityREST.java b/webapp/src/main/java/org/apache/atlas/web/rest/EntityREST.java index 88a5c6c56c..5a29fb92a1 100644 --- a/webapp/src/main/java/org/apache/atlas/web/rest/EntityREST.java +++ b/webapp/src/main/java/org/apache/atlas/web/rest/EntityREST.java @@ -810,7 +810,6 @@ public EntityMutationResponse createOrUpdate(AtlasEntitiesWithExtInfo entities, @QueryParam("replaceBusinessAttributes") @DefaultValue("false") boolean replaceBusinessAttributes, @QueryParam("overwriteBusinessAttributes") @DefaultValue("false") boolean isOverwriteBusinessAttributes) throws AtlasBaseException { AtlasPerfTracer perf = null; - RequestContext.get().setEnableCache(false); try { if (AtlasPerfTracer.isPerfTraceEnabled(PERF_LOG)) { perf = AtlasPerfTracer.getPerfTracer(PERF_LOG, "EntityREST.createOrUpdate(entityCount=" + diff --git a/webapp/src/main/java/org/apache/atlas/web/service/AtlasDebugMetricsSink.java b/webapp/src/main/java/org/apache/atlas/web/service/AtlasDebugMetricsSink.java index ef24b861ea..39ee4b7f36 100644 --- a/webapp/src/main/java/org/apache/atlas/web/service/AtlasDebugMetricsSink.java +++ b/webapp/src/main/java/org/apache/atlas/web/service/AtlasDebugMetricsSink.java @@ -19,6 +19,7 @@ import org.apache.atlas.web.model.DebugMetrics; import org.apache.commons.lang.StringUtils; +import org.apache.hadoop.hbase.shaded.org.apache.commons.configuration2.SubsetConfiguration; import org.apache.hadoop.metrics2.AbstractMetric; import org.apache.hadoop.metrics2.MetricsRecord; import org.apache.hadoop.metrics2.MetricsSink; @@ -58,10 +59,6 @@ public HashMap getMetrics() { return metricStructuredSnapshot; } - @Override - public void init(org.apache.commons.configuration2.SubsetConfiguration subsetConfiguration) { - } - @Override public void flush() { } @@ -109,6 +106,11 @@ private void updateMetricType(DebugMetrics debugMetrics, String metricType, Abst } } + @Override + public void init(SubsetConfiguration subsetConfiguration) { + + } + private static String inferMeasureType(String fullName, String nameWithoutMetricType) { return fullName.replaceFirst(nameWithoutMetricType, ""); }