[
https://issues.apache.org/jira/browse/NIFI-3576?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16423085#comment-16423085
]
ASF GitHub Bot commented on NIFI-3576:
--------------------------------------
Github user mattyb149 commented on a diff in the pull request:
https://github.com/apache/nifi/pull/2601#discussion_r178641076
--- Diff:
nifi-nar-bundles/nifi-elasticsearch-bundle/nifi-elasticsearch-processors/src/main/java/org/apache/nifi/processors/elasticsearch/QueryElasticsearchHttp.java
---
@@ -219,6 +256,39 @@ public void setup(ProcessContext context) {
super.setup(context);
}
+ @Override
+ public void onPropertyModified(final PropertyDescriptor descriptor,
final String oldValue, final String newValue) {
+ if (ROUTING_QUERY_INFO_STRATEGY.equals(descriptor)) {
+ if (ALWAYS.getValue().equalsIgnoreCase(newValue)) {
+ final Set<Relationship> routeQueryInfoRels = new
HashSet<>();
+ routeQueryInfoRels.add(REL_SUCCESS);
+ routeQueryInfoRels.add(REL_FAILURE);
+ routeQueryInfoRels.add(REL_RETRY);
+ routeQueryInfoRels.add(REL_QUERY_INFO);
+ this.relationships = routeQueryInfoRels;
+
+ this.queryInfoRouteStrategy =
QueryInfoRouteStrategy.ALWAYS;
+ }else if (NO_HITS.getValue().equalsIgnoreCase(newValue)) {
+ final Set<Relationship> routeQueryInfoRels = new
HashSet<>();
+ routeQueryInfoRels.add(REL_SUCCESS);
+ routeQueryInfoRels.add(REL_FAILURE);
+ routeQueryInfoRels.add(REL_RETRY);
+ routeQueryInfoRels.add(REL_QUERY_INFO);
+ this.relationships = routeQueryInfoRels;
+
+ this.queryInfoRouteStrategy = QueryInfoRouteStrategy.NOHIT;
+ }
+ }else {
--- End diff --
I believe that will work. Also MockProcessContext calls onPropertyModified
on set/removeProperty(), so you might be able to parlay that into a unit test
to check that the relationship is available or not (but I'm not sure)
> QueryElasticsearchHttp should have a "Not Found"/"Zero results" relationship
> ----------------------------------------------------------------------------
>
> Key: NIFI-3576
> URL: https://issues.apache.org/jira/browse/NIFI-3576
> Project: Apache NiFi
> Issue Type: Improvement
> Reporter: Joseph Percivall
> Assignee: Otto Fowler
> Priority: Minor
>
> In the event of a successful call, QueryElasticsearchHttp always drops the
> incoming flowfile and then emits pages of results to the success
> relationship. If the search returns no results then no pages of results are
> emitted to the success relationship.
> The processor should offer other options for handling when there are no
> results returned.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)