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)));
+
+
+ }
+
}