This is an automated email from the ASF dual-hosted git repository.

pinal pushed a commit to branch branch-2.0
in repository https://gitbox.apache.org/repos/asf/atlas.git


The following commit(s) were added to refs/heads/branch-2.0 by this push:
     new fae8e43e3 ATLAS-4531: _ALL_ENTITY_TYPES showing same basic search 
results even when offset is changed
fae8e43e3 is described below

commit fae8e43e383539e8b9903b52aa31cb1a60bcc58d
Author: Sanket Shelar <[email protected]>
AuthorDate: Tue Jun 14 15:42:10 2022 +0530

    ATLAS-4531: _ALL_ENTITY_TYPES showing same basic search results even when 
offset is changed
    
    Signed-off-by: Pinal Shah <[email protected]>
    (cherry picked from commit e5e63c150e6f656bd261aed69dc3c47fbd4cdda3)
---
 .../atlas/discovery/EntitySearchProcessor.java     |  2 +-
 .../atlas/discovery/EntitySearchProcessorTest.java | 32 ++++++++++++++++++++++
 2 files changed, 33 insertions(+), 1 deletion(-)

diff --git 
a/repository/src/main/java/org/apache/atlas/discovery/EntitySearchProcessor.java
 
b/repository/src/main/java/org/apache/atlas/discovery/EntitySearchProcessor.java
index f45ccaf24..7f1f2f3b4 100644
--- 
a/repository/src/main/java/org/apache/atlas/discovery/EntitySearchProcessor.java
+++ 
b/repository/src/main/java/org/apache/atlas/discovery/EntitySearchProcessor.java
@@ -252,7 +252,7 @@ public class EntitySearchProcessor extends SearchProcessor {
             if (marker != null) {
                 qryOffset = marker;
             } else {
-                qryOffset = (nextProcessor != null || (graphQuery != null && 
indexQuery != null)) ? 0 : startIdx;
+                qryOffset = (nextProcessor != null || (graphQuery != null && 
indexQuery != null) || isEntityRootType()) ? 0 : startIdx;
             }
             int resultIdx = qryOffset;
 
diff --git 
a/repository/src/test/java/org/apache/atlas/discovery/EntitySearchProcessorTest.java
 
b/repository/src/test/java/org/apache/atlas/discovery/EntitySearchProcessorTest.java
index 764568915..3f9e74d11 100644
--- 
a/repository/src/test/java/org/apache/atlas/discovery/EntitySearchProcessorTest.java
+++ 
b/repository/src/test/java/org/apache/atlas/discovery/EntitySearchProcessorTest.java
@@ -23,6 +23,7 @@ import org.apache.atlas.SortOrder;
 import org.apache.atlas.TestModules;
 import org.apache.atlas.exception.AtlasBaseException;
 import org.apache.atlas.model.discovery.SearchParameters;
+import org.apache.atlas.repository.Constants;
 import org.apache.atlas.repository.graph.AtlasGraphProvider;
 import org.apache.atlas.repository.graph.GraphBackedSearchIndexer;
 import org.apache.atlas.repository.graphdb.AtlasGraph;
@@ -42,6 +43,8 @@ import java.util.Date;
 import java.util.List;
 import java.util.Calendar;
 import java.util.GregorianCalendar;
+import java.util.stream.Collectors;
+
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -602,4 +605,33 @@ public class EntitySearchProcessorTest extends 
BasicTestSetup {
         SearchParameters.FilterCriteria ret = 
processor.processDateRange(filterCriteria);
         return ret;
     }
+
+    @Test
+    public void ALLEntityTypeForPagination() throws AtlasBaseException {
+        SearchParameters params = new SearchParameters();
+        params.setTypeName(SearchParameters.ALL_ENTITY_TYPES);
+        params.setLimit(10);
+
+        SearchContext context = new SearchContext(params, typeRegistry, graph, 
Collections.<String>emptySet());
+
+        EntitySearchProcessor processor = new EntitySearchProcessor(context);
+        List<AtlasVertex> v = processor.execute();
+        List a =v.stream().map(v1 -> 
v1.getProperty(Constants.GUID_PROPERTY_KEY, 
String.class)).collect(Collectors.toList());
+
+        SearchParameters params2 = new SearchParameters();
+        params2.setTypeName(SearchParameters.ALL_ENTITY_TYPES);
+        params2.setLimit(10);
+        params2.setOffset(10);
+        SearchContext context2 = new SearchContext(params2, typeRegistry, 
graph, Collections.<String>emptySet());
+
+        EntitySearchProcessor processor2 = new EntitySearchProcessor(context2);
+
+        List<AtlasVertex> v2 = processor2.execute();
+        List b =v2.stream().map(v3 -> 
v3.getProperty(Constants.GUID_PROPERTY_KEY, 
String.class)).collect(Collectors.toList());
+
+        assertTrue(!a.stream().anyMatch(element -> b.contains(element)));
+
+
+    }
+
 }

Reply via email to