Repository: nifi Updated Branches: refs/heads/master 54eb6bc23 -> 8b6539e3c
Added provenance reporting This closes #2650 Signed-off-by: Mike Thomsen <mikerthom...@gmail.com> Project: http://git-wip-us.apache.org/repos/asf/nifi/repo Commit: http://git-wip-us.apache.org/repos/asf/nifi/commit/8b6539e3 Tree: http://git-wip-us.apache.org/repos/asf/nifi/tree/8b6539e3 Diff: http://git-wip-us.apache.org/repos/asf/nifi/diff/8b6539e3 Branch: refs/heads/master Commit: 8b6539e3c7e56298b70865b6bf2aba3e33b4eb10 Parents: 54eb6bc Author: JohannesDaniel <johannesdaniel.pe...@gmx.de> Authored: Sun Apr 22 21:06:33 2018 +0200 Committer: Mike Thomsen <mikerthom...@gmail.com> Committed: Sun Apr 22 15:58:06 2018 -0400 ---------------------------------------------------------------------- .../org/apache/nifi/processors/solr/GetSolr.java | 15 +++++++++++++++ 1 file changed, 15 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/nifi/blob/8b6539e3/nifi-nar-bundles/nifi-solr-bundle/nifi-solr-processors/src/main/java/org/apache/nifi/processors/solr/GetSolr.java ---------------------------------------------------------------------- diff --git a/nifi-nar-bundles/nifi-solr-bundle/nifi-solr-processors/src/main/java/org/apache/nifi/processors/solr/GetSolr.java b/nifi-nar-bundles/nifi-solr-bundle/nifi-solr-processors/src/main/java/org/apache/nifi/processors/solr/GetSolr.java index 679b02f..57db382 100755 --- a/nifi-nar-bundles/nifi-solr-bundle/nifi-solr-processors/src/main/java/org/apache/nifi/processors/solr/GetSolr.java +++ b/nifi-nar-bundles/nifi-solr-bundle/nifi-solr-processors/src/main/java/org/apache/nifi/processors/solr/GetSolr.java @@ -33,6 +33,7 @@ import java.util.Locale; import java.util.Map; import java.util.Set; import java.util.TimeZone; +import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicBoolean; import org.apache.nifi.annotation.behavior.InputRequirement; @@ -61,6 +62,7 @@ import org.apache.nifi.serialization.RecordSetWriter; import org.apache.nifi.serialization.RecordSetWriterFactory; import org.apache.nifi.serialization.record.RecordSchema; import org.apache.nifi.serialization.record.RecordSet; +import org.apache.nifi.util.StopWatch; import org.apache.nifi.util.StringUtils; import org.apache.solr.client.solrj.SolrQuery; @@ -336,6 +338,8 @@ public class GetSolr extends SolrProcessor { solrQuery.setParam("sort", sortClause.toString()); while (continuePaging.get()) { + StopWatch timer = new StopWatch(true); + final QueryRequest req = new QueryRequest(solrQuery); if (isBasicAuthEnabled()) { req.setBasicAuthCredentials(getUsername(), getPassword()); @@ -385,8 +389,19 @@ public class GetSolr extends SolrProcessor { } } }); + flowFile = session.putAttribute(flowFile, CoreAttributes.MIME_TYPE.key(), mimeType.toString()); } + + timer.stop(); + StringBuilder transitUri = new StringBuilder("solr://"); + transitUri.append(getSolrLocation()); + if (getSolrLocation().equals(SolrUtils.SOLR_TYPE_CLOUD.getValue())) { + transitUri.append(":").append(context.getProperty(COLLECTION).evaluateAttributeExpressions().getValue()); + } + final long duration = timer.getDuration(TimeUnit.MILLISECONDS); + session.getProvenanceReporter().receive(flowFile, transitUri.toString(), duration); + session.transfer(flowFile, REL_SUCCESS); } continuePaging.set(response.getResults().size() == Integer.parseInt(context.getProperty(BATCH_SIZE).getValue()));