This is an automated email from the ASF dual-hosted git repository.
pinal pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/atlas.git
The following commit(s) were added to refs/heads/master by this push:
new 52a315449 ATLAS-4916 : Improve Efficiency in Access Request Handling
by Optimizing Classification Retrieval (#374)
52a315449 is described below
commit 52a315449bdf99bf7b9fa0c0a3325decdcb6c5f1
Author: Vinayak Marraiya
<[email protected]>
AuthorDate: Fri Aug 8 09:30:28 2025 +0530
ATLAS-4916 : Improve Efficiency in Access Request Handling by Optimizing
Classification Retrieval (#374)
Co-authored-by: Vinayak Marraiya <[email protected]>
---
.../main/java/org/apache/atlas/authorize/AtlasAccessRequest.java | 9 ++-------
.../apache/atlas/authorize/simple/AtlasSimpleAuthorizerTest.java | 4 ++--
.../atlas/repository/store/graph/v2/AtlasEntityStoreV2.java | 2 +-
3 files changed, 5 insertions(+), 10 deletions(-)
diff --git
a/authorization/src/main/java/org/apache/atlas/authorize/AtlasAccessRequest.java
b/authorization/src/main/java/org/apache/atlas/authorize/AtlasAccessRequest.java
index 0f3f8d4dc..c1137aa77 100644
---
a/authorization/src/main/java/org/apache/atlas/authorize/AtlasAccessRequest.java
+++
b/authorization/src/main/java/org/apache/atlas/authorize/AtlasAccessRequest.java
@@ -17,7 +17,6 @@
*/
package org.apache.atlas.authorize;
-import org.apache.atlas.model.instance.AtlasClassification;
import org.apache.atlas.model.instance.AtlasEntityHeader;
import org.apache.atlas.type.AtlasClassificationType;
import org.apache.atlas.type.AtlasEntityType;
@@ -173,14 +172,10 @@ public class AtlasAccessRequest {
public Set<String> getClassificationNames(AtlasEntityHeader entity) {
final Set<String> ret;
- if (entity == null || entity.getClassifications() == null) {
+ if (entity == null || entity.getClassificationNames() == null) {
ret = Collections.emptySet();
} else {
- ret = new HashSet<>();
-
- for (AtlasClassification classify : entity.getClassifications()) {
- ret.add(classify.getTypeName());
- }
+ ret = new HashSet<>(entity.getClassificationNames());
}
return ret;
diff --git
a/authorization/src/test/java/org/apache/atlas/authorize/simple/AtlasSimpleAuthorizerTest.java
b/authorization/src/test/java/org/apache/atlas/authorize/simple/AtlasSimpleAuthorizerTest.java
index 406af0f7f..d61ae7afc 100644
---
a/authorization/src/test/java/org/apache/atlas/authorize/simple/AtlasSimpleAuthorizerTest.java
+++
b/authorization/src/test/java/org/apache/atlas/authorize/simple/AtlasSimpleAuthorizerTest.java
@@ -142,7 +142,7 @@ public class AtlasSimpleAuthorizerTest {
try {
AtlasEntityHeader entityHeader = new AtlasEntityHeader();
- entityHeader.setClassifications(Arrays.asList(new
AtlasClassification("TAG1"), new AtlasClassification("TAG2")));
+ entityHeader.setClassificationNames(Arrays.asList("TAG1", "TAG2"));
AtlasEntityAccessRequest request = new
AtlasEntityAccessRequest(null, AtlasPrivilege.ENTITY_ADD_CLASSIFICATION,
entityHeader, new AtlasClassification("PII"));
@@ -203,7 +203,7 @@ public class AtlasSimpleAuthorizerTest {
try {
AtlasEntityHeader entity = new AtlasEntityHeader();
- entity.setClassifications(Arrays.asList(new
AtlasClassification("FINANCE"), new AtlasClassification("PII")));
+ entity.setClassificationNames(Arrays.asList("FINANCE", "PII"));
for (AtlasPrivilege privilege : ENTITY_PRIVILEGES) {
AtlasEntityAccessRequest request = new
AtlasEntityAccessRequest(null, privilege, entity, new
AtlasClassification("PII"));
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 e5cff1c16..cdfa8b542 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
@@ -694,7 +694,7 @@ public class AtlasEntityStoreV2 implements AtlasEntityStore
{
throw new
AtlasBaseException(AtlasErrorCode.INSTANCE_GUID_NOT_FOUND, guid);
}
- AtlasEntityHeader entityHeader =
entityRetriever.toAtlasEntityHeaderWithClassifications(entityVertex);
+ AtlasEntityHeader entityHeader =
entityRetriever.toAtlasEntityHeader(entityVertex);
AtlasAuthorizationUtils.verifyAccess(new
AtlasEntityAccessRequest(typeRegistry,
AtlasPrivilege.ENTITY_ADD_CLASSIFICATION, entityHeader, classification),
"add classification: guid=", guid, ",
classification=", classification.getTypeName());