-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/74065/
-----------------------------------------------------------
(Updated Aug. 1, 2022, 12:30 p.m.)
Review request for atlas, Jayendra Parab and Pinal Shah.
Bugs: ATLAS-4615
https://issues.apache.org/jira/browse/ATLAS-4615
Repository: atlas
Description
-------
Problem Statement : Given a custom entity that defines an array attribute of
another custom type, any removed elements always appear in the array
Diffs
-----
repository/src/main/java/org/apache/atlas/repository/store/graph/v2/EntityGraphRetriever.java
a8fe5a762
repository/src/test/java/org/apache/atlas/repository/store/graph/v2/InverseReferenceUpdateSoftDeleteV2Test.java
afa1c5991
repository/src/test/java/org/apache/atlas/repository/store/graph/v2/InverseReferenceUpdateV2Test.java
d01ea3043
webapp/src/test/java/org/apache/atlas/web/adapters/TestEntityREST.java
6a00c1764
Diff: https://reviews.apache.org/r/74065/diff/3/
Testing
-------
Manual testing done as follows:
created a custom type "Tab"
created 4 entities of this type : tab1,tab2,tab3 and tab4
created another custom type "Alphatab" having an attribute "tabArray" of type
array<Tab>
created entity ATEntity of type Alphatab with tabArray = {tab1, tab2}
//add an element and remove an element from array
updated ATEntity with tabArray = {tab1, tab3}
// add back removed element to array
updated ATEntity with tabArray = {tab1, tab2, tab3}
// delete an entity in the array by its guid
deleted tab2; size of array doesnt change yet (tab2 is soft deleted)
//removed 2 and added 1 element
updated ATEntity with tabArray = {tab3, tab4}
//remove one add 2 elements
updated ATEntity with tabArray = {tab1, tab2, tab3}
//elements returned by getById(guid) mwthod will return an array of only ACTIVE
edges (DELETEd edges will be ignored)
size of array = number of active edges
Note : Following test cases have been edited to accomodate the feature
change(set ignoreInactive=true as default)
1.org.apache.atlas.repository.store.graph.v2.InverseReferenceUpdateV2Test
2.org.apache.atlas.repository.store.graph.v2.InverseReferenceUpdateSoftDeleteV2Test
Thanks,
Sheetal Shah