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;
