Repository: nifi
Updated Branches:
  refs/heads/master 7d5f803ce -> ada069ce4


NIFI-4978: Fixed ReportLineageToAtlas NPE when unscheduled

Signed-off-by: Pierre Villard <[email protected]>

This closes #2548.


Project: http://git-wip-us.apache.org/repos/asf/nifi/repo
Commit: http://git-wip-us.apache.org/repos/asf/nifi/commit/ada069ce
Tree: http://git-wip-us.apache.org/repos/asf/nifi/tree/ada069ce
Diff: http://git-wip-us.apache.org/repos/asf/nifi/diff/ada069ce

Branch: refs/heads/master
Commit: ada069ce426c4c84465425d83fcb8497a14cc4aa
Parents: 7d5f803
Author: Koji Kawamura <[email protected]>
Authored: Thu Mar 15 04:22:26 2018 +0900
Committer: Pierre Villard <[email protected]>
Committed: Fri Mar 16 10:19:59 2018 +0100

----------------------------------------------------------------------
 .../org/apache/nifi/atlas/reporting/ReportLineageToAtlas.java | 7 +++++++
 .../apache/nifi/atlas/reporting/ITReportLineageToAtlas.java   | 1 +
 2 files changed, 8 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/nifi/blob/ada069ce/nifi-nar-bundles/nifi-atlas-bundle/nifi-atlas-reporting-task/src/main/java/org/apache/nifi/atlas/reporting/ReportLineageToAtlas.java
----------------------------------------------------------------------
diff --git 
a/nifi-nar-bundles/nifi-atlas-bundle/nifi-atlas-reporting-task/src/main/java/org/apache/nifi/atlas/reporting/ReportLineageToAtlas.java
 
b/nifi-nar-bundles/nifi-atlas-bundle/nifi-atlas-reporting-task/src/main/java/org/apache/nifi/atlas/reporting/ReportLineageToAtlas.java
index 9238f95..f1d9018 100644
--- 
a/nifi-nar-bundles/nifi-atlas-bundle/nifi-atlas-reporting-task/src/main/java/org/apache/nifi/atlas/reporting/ReportLineageToAtlas.java
+++ 
b/nifi-nar-bundles/nifi-atlas-bundle/nifi-atlas-reporting-task/src/main/java/org/apache/nifi/atlas/reporting/ReportLineageToAtlas.java
@@ -28,6 +28,7 @@ import org.apache.nifi.annotation.behavior.Stateful;
 import org.apache.nifi.annotation.documentation.CapabilityDescription;
 import org.apache.nifi.annotation.documentation.Tags;
 import org.apache.nifi.annotation.lifecycle.OnScheduled;
+import org.apache.nifi.annotation.lifecycle.OnStopped;
 import org.apache.nifi.annotation.lifecycle.OnUnscheduled;
 import org.apache.nifi.atlas.NiFiAtlasHook;
 import org.apache.nifi.atlas.NiFiAtlasClient;
@@ -553,8 +554,14 @@ public class ReportLineageToAtlas extends 
AbstractReportingTask {
     @OnUnscheduled
     public void onUnscheduled() {
         if (consumer != null) {
+            // Tell provenance consumer to stop pulling more provenance events.
+            // This should be called from @OnUnscheduled to stop the loop in 
the thread called from onTrigger.
             consumer.setScheduled(false);
         }
+    }
+
+    @OnStopped
+    public void onStopped() {
         if (nifiAtlasHook != null) {
             nifiAtlasHook.close();
             nifiAtlasHook = null;

http://git-wip-us.apache.org/repos/asf/nifi/blob/ada069ce/nifi-nar-bundles/nifi-atlas-bundle/nifi-atlas-reporting-task/src/test/java/org/apache/nifi/atlas/reporting/ITReportLineageToAtlas.java
----------------------------------------------------------------------
diff --git 
a/nifi-nar-bundles/nifi-atlas-bundle/nifi-atlas-reporting-task/src/test/java/org/apache/nifi/atlas/reporting/ITReportLineageToAtlas.java
 
b/nifi-nar-bundles/nifi-atlas-bundle/nifi-atlas-reporting-task/src/test/java/org/apache/nifi/atlas/reporting/ITReportLineageToAtlas.java
index e83495a..b16e088 100644
--- 
a/nifi-nar-bundles/nifi-atlas-bundle/nifi-atlas-reporting-task/src/test/java/org/apache/nifi/atlas/reporting/ITReportLineageToAtlas.java
+++ 
b/nifi-nar-bundles/nifi-atlas-bundle/nifi-atlas-reporting-task/src/test/java/org/apache/nifi/atlas/reporting/ITReportLineageToAtlas.java
@@ -442,6 +442,7 @@ public class ITReportLineageToAtlas {
         reportingTask.setup(configurationContext);
         reportingTask.onTrigger(reportingContext);
         reportingTask.onUnscheduled();
+        reportingTask.onStopped();
     }
 
     private boolean useEmbeddedEmulator;

Reply via email to