diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/governance/workflows/elements/triggers/PeriodicBatchEntityTrigger.java b/openmetadata-service/src/main/java/org/openmetadata/service/governance/workflows/elements/triggers/PeriodicBatchEntityTrigger.java index d851880a197..84935751035 100644 --- a/openmetadata-service/src/main/java/org/openmetadata/service/governance/workflows/elements/triggers/PeriodicBatchEntityTrigger.java +++ b/openmetadata-service/src/main/java/org/openmetadata/service/governance/workflows/elements/triggers/PeriodicBatchEntityTrigger.java @@ -53,6 +53,7 @@ public class PeriodicBatchEntityTrigger implements TriggerInterface { StartEvent startEvent = new StartEventBuilder().id(getFlowableElementId(triggerWorkflowId, "startEvent")).build(); + startEvent.setAsynchronousLeave(true); oTimerDefinition.ifPresent(startEvent::addEventDefinition); process.addFlowElement(startEvent); diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/governance/workflows/elements/triggers/impl/FetchEntitiesImpl.java b/openmetadata-service/src/main/java/org/openmetadata/service/governance/workflows/elements/triggers/impl/FetchEntitiesImpl.java index 7c110d3d559..f402b45fc4f 100644 --- a/openmetadata-service/src/main/java/org/openmetadata/service/governance/workflows/elements/triggers/impl/FetchEntitiesImpl.java +++ b/openmetadata-service/src/main/java/org/openmetadata/service/governance/workflows/elements/triggers/impl/FetchEntitiesImpl.java @@ -64,7 +64,13 @@ public class FetchEntitiesImpl implements JavaDelegate { try { return searchRepository.listWithDeepPagination( - entityType, null, searchFilter, searchSortFilter, batchSize, searchAfter); + entityType, + null, + searchFilter, + new String[] {"fullyQualifiedName"}, + searchSortFilter, + batchSize, + searchAfter); } catch (IOException e) { throw new RuntimeException(e); } diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/search/SearchClient.java b/openmetadata-service/src/main/java/org/openmetadata/service/search/SearchClient.java index 7de871a1dd8..837b28cf4ea 100644 --- a/openmetadata-service/src/main/java/org/openmetadata/service/search/SearchClient.java +++ b/openmetadata-service/src/main/java/org/openmetadata/service/search/SearchClient.java @@ -174,6 +174,7 @@ public interface SearchClient { String index, String query, String filter, + String[] fields, SearchSortFilter searchSortFilter, int size, Object[] searchAfter) diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/search/SearchRepository.java b/openmetadata-service/src/main/java/org/openmetadata/service/search/SearchRepository.java index e33dffd458b..d37785d17bd 100644 --- a/openmetadata-service/src/main/java/org/openmetadata/service/search/SearchRepository.java +++ b/openmetadata-service/src/main/java/org/openmetadata/service/search/SearchRepository.java @@ -841,13 +841,20 @@ public class SearchRepository { String entityType, String query, String filter, + String[] fields, SearchSortFilter searchSortFilter, int size, Object[] searchAfter) throws IOException { IndexMapping index = entityIndexMap.get(entityType); return searchClient.listWithDeepPagination( - index.getIndexName(clusterAlias), query, filter, searchSortFilter, size, searchAfter); + index.getIndexName(clusterAlias), + query, + filter, + fields, + searchSortFilter, + size, + searchAfter); } public Response searchBySourceUrl(String sourceUrl) throws IOException { diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/search/elasticsearch/ElasticSearchClient.java b/openmetadata-service/src/main/java/org/openmetadata/service/search/elasticsearch/ElasticSearchClient.java index 374d9c127ba..277b1466f0b 100644 --- a/openmetadata-service/src/main/java/org/openmetadata/service/search/elasticsearch/ElasticSearchClient.java +++ b/openmetadata-service/src/main/java/org/openmetadata/service/search/elasticsearch/ElasticSearchClient.java @@ -700,6 +700,7 @@ public class ElasticSearchClient implements SearchClient { String index, String query, String filter, + String[] fields, SearchSortFilter searchSortFilter, int size, Object[] searchAfter) @@ -710,6 +711,10 @@ public class ElasticSearchClient implements SearchClient { if (!nullOrEmpty(query)) { searchSourceBuilder = getSearchSourceBuilder(index, query, 0, size); } + if (!nullOrEmpty(fields)) { + searchSourceBuilder.fetchSource(fields, null); + } + if (Optional.ofNullable(filter).isPresent()) { getSearchFilter(filter, searchSourceBuilder, !nullOrEmpty(query)); } diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/search/opensearch/OpenSearchClient.java b/openmetadata-service/src/main/java/org/openmetadata/service/search/opensearch/OpenSearchClient.java index 10d4e646780..9029e484204 100644 --- a/openmetadata-service/src/main/java/org/openmetadata/service/search/opensearch/OpenSearchClient.java +++ b/openmetadata-service/src/main/java/org/openmetadata/service/search/opensearch/OpenSearchClient.java @@ -691,6 +691,7 @@ public class OpenSearchClient implements SearchClient { String index, String query, String filter, + String[] fields, SearchSortFilter searchSortFilter, int size, Object[] searchAfter) @@ -699,6 +700,9 @@ public class OpenSearchClient implements SearchClient { if (!nullOrEmpty(query)) { searchSourceBuilder = getSearchSourceBuilder(index, query, 0, size); } + if (!nullOrEmpty(fields)) { + searchSourceBuilder.fetchSource(fields, null); + } List> results = new ArrayList<>(); diff --git a/openmetadata-service/src/test/java/org/openmetadata/service/resources/glossary/GlossaryTermResourceTest.java b/openmetadata-service/src/test/java/org/openmetadata/service/resources/glossary/GlossaryTermResourceTest.java index 7d814542dff..90e9a3b3e2d 100644 --- a/openmetadata-service/src/test/java/org/openmetadata/service/resources/glossary/GlossaryTermResourceTest.java +++ b/openmetadata-service/src/test/java/org/openmetadata/service/resources/glossary/GlossaryTermResourceTest.java @@ -731,6 +731,7 @@ public class GlossaryTermResourceTest extends EntityResourceTest