You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nifi.apache.org by mt...@apache.org on 2018/04/22 19:58:44 UTC

nifi git commit: Added provenance reporting

Repository: nifi
Updated Branches:
  refs/heads/master 54eb6bc23 -> 8b6539e3c


Added provenance reporting

This closes #2650

Signed-off-by: Mike Thomsen <mi...@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 <Jo...@gmx.de>
Authored: Sun Apr 22 21:06:33 2018 +0200
Committer: Mike Thomsen <mi...@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()));