You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nifi.apache.org by ma...@apache.org on 2015/07/03 19:46:55 UTC
incubator-nifi git commit: NIFI-743 Moving OnShutdown to OnStopped
for GetSolr and GetHttp
Repository: incubator-nifi
Updated Branches:
refs/heads/develop 8da732718 -> 63a900852
NIFI-743 Moving OnShutdown to OnStopped for GetSolr and GetHttp
Adding OnRemoved methods to GetSolr and GetHttp
Signed-off-by: Mark Payne <ma...@hotmail.com>
Project: http://git-wip-us.apache.org/repos/asf/incubator-nifi/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-nifi/commit/63a90085
Tree: http://git-wip-us.apache.org/repos/asf/incubator-nifi/tree/63a90085
Diff: http://git-wip-us.apache.org/repos/asf/incubator-nifi/diff/63a90085
Branch: refs/heads/develop
Commit: 63a900852769bbd7bedc2b460a291a9de0bd9a15
Parents: 8da7327
Author: Bryan Bende <bb...@apache.org>
Authored: Fri Jul 3 10:52:35 2015 -0400
Committer: Mark Payne <ma...@hotmail.com>
Committed: Fri Jul 3 13:37:44 2015 -0400
----------------------------------------------------------------------
.../apache/nifi/processors/solr/GetSolr.java | 15 ++++++++--
.../nifi/processors/solr/TestGetSolr.java | 29 +++++++++++++++++---
.../nifi/processors/standard/GetHTTP.java | 15 ++++++++--
.../nifi/processors/standard/TestGetHTTP.java | 10 +++++--
4 files changed, 56 insertions(+), 13 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/63a90085/nifi/nifi-nar-bundles/nifi-solr-bundle/nifi-solr-processors/src/main/java/org/apache/nifi/processors/solr/GetSolr.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-solr-bundle/nifi-solr-processors/src/main/java/org/apache/nifi/processors/solr/GetSolr.java b/nifi/nifi-nar-bundles/nifi-solr-bundle/nifi-solr-processors/src/main/java/org/apache/nifi/processors/solr/GetSolr.java
index 6344e2c..ff264a1 100644
--- a/nifi/nifi-nar-bundles/nifi-solr-bundle/nifi-solr-processors/src/main/java/org/apache/nifi/processors/solr/GetSolr.java
+++ b/nifi/nifi-nar-bundles/nifi-solr-bundle/nifi-solr-processors/src/main/java/org/apache/nifi/processors/solr/GetSolr.java
@@ -21,7 +21,8 @@ package org.apache.nifi.processors.solr;
import org.apache.commons.io.IOUtils;
import org.apache.nifi.annotation.documentation.CapabilityDescription;
import org.apache.nifi.annotation.documentation.Tags;
-import org.apache.nifi.annotation.lifecycle.OnShutdown;
+import org.apache.nifi.annotation.lifecycle.OnRemoved;
+import org.apache.nifi.annotation.lifecycle.OnStopped;
import org.apache.nifi.components.PropertyDescriptor;
import org.apache.nifi.flowfile.FlowFile;
import org.apache.nifi.logging.ProcessorLog;
@@ -157,11 +158,19 @@ public class GetSolr extends SolrProcessor {
lastEndDatedRef.set(UNINITIALIZED_LAST_END_DATE_VALUE);
}
- @OnShutdown
- public void onShutdown() {
+ @OnStopped
+ public void onStopped() {
writeLastEndDate();
}
+ @OnRemoved
+ public void onRemoved() {
+ final File lastEndDateCache = new File(FILE_PREFIX + getIdentifier());
+ if (lastEndDateCache.exists()) {
+ lastEndDateCache.delete();
+ }
+ }
+
@Override
public void onTrigger(ProcessContext context, ProcessSession session) throws ProcessException {
final ProcessorLog logger = getLogger();
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/63a90085/nifi/nifi-nar-bundles/nifi-solr-bundle/nifi-solr-processors/src/test/java/org/apache/nifi/processors/solr/TestGetSolr.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-solr-bundle/nifi-solr-processors/src/test/java/org/apache/nifi/processors/solr/TestGetSolr.java b/nifi/nifi-nar-bundles/nifi-solr-bundle/nifi-solr-processors/src/test/java/org/apache/nifi/processors/solr/TestGetSolr.java
index b0f5e68..d8f6423 100644
--- a/nifi/nifi-nar-bundles/nifi-solr-bundle/nifi-solr-processors/src/test/java/org/apache/nifi/processors/solr/TestGetSolr.java
+++ b/nifi/nifi-nar-bundles/nifi-solr-bundle/nifi-solr-processors/src/test/java/org/apache/nifi/processors/solr/TestGetSolr.java
@@ -104,14 +104,15 @@ public class TestGetSolr {
File confDir = new File("conf");
assertTrue(confDir.exists());
File[] files = confDir.listFiles();
- assertTrue(files.length > 0);
- for (File file : files) {
- assertTrue("Failed to delete " + file.getName(), file.delete());
+ if (files.length > 0) {
+ for (File file : files) {
+ assertTrue("Failed to delete " + file.getName(), file.delete());
+ }
}
assertTrue(confDir.delete());
try {
- solrClient.shutdown();
+ solrClient.close();
} catch (Exception e) {
}
}
@@ -184,6 +185,26 @@ public class TestGetSolr {
runner.assertAllFlowFilesTransferred(GetSolr.REL_SUCCESS, 0);
}
+ @Test
+ public void testOnRemovedRemovesState() throws IOException, SolrServerException {
+ final TestableProcessor proc = new TestableProcessor(solrClient);
+
+ TestRunner runner = TestRunners.newTestRunner(proc);
+ runner.setProperty(GetSolr.SOLR_TYPE, PutSolrContentStream.SOLR_TYPE_STANDARD.getValue());
+ runner.setProperty(GetSolr.SOLR_LOCATION, "http://localhost:8443/solr");
+ runner.setProperty(GetSolr.SOLR_QUERY, "last:smith");
+ runner.setProperty(GetSolr.RETURN_FIELDS, "created");
+ runner.setProperty(GetSolr.SORT_CLAUSE, "created desc");
+ runner.setProperty(GetSolr.DATE_FIELD, "created");
+ runner.setProperty(GetSolr.BATCH_SIZE, "10");
+
+ runner.run();
+
+ File lastEndDateCache = new File(GetSolr.FILE_PREFIX + proc.getIdentifier());
+ Assert.assertTrue("State file should exist, but doesn't", lastEndDateCache.exists());
+ proc.onRemoved();
+ Assert.assertFalse("State file should have been removed, but wasn't", lastEndDateCache.exists());
+ }
// Override createSolrClient and return the passed in SolrClient
private class TestableProcessor extends GetSolr {
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/63a90085/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/GetHTTP.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/GetHTTP.java b/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/GetHTTP.java
index 1ecd170..7099552 100644
--- a/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/GetHTTP.java
+++ b/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/GetHTTP.java
@@ -73,7 +73,8 @@ import org.apache.nifi.annotation.behavior.WritesAttribute;
import org.apache.nifi.annotation.behavior.WritesAttributes;
import org.apache.nifi.annotation.documentation.CapabilityDescription;
import org.apache.nifi.annotation.documentation.Tags;
-import org.apache.nifi.annotation.lifecycle.OnShutdown;
+import org.apache.nifi.annotation.lifecycle.OnRemoved;
+import org.apache.nifi.annotation.lifecycle.OnStopped;
import org.apache.nifi.components.PropertyDescriptor;
import org.apache.nifi.components.ValidationContext;
import org.apache.nifi.components.ValidationResult;
@@ -267,8 +268,8 @@ public class GetHTTP extends AbstractSessionFactoryProcessor {
lastModifiedRef.set(UNINITIALIZED_LAST_MODIFIED_VALUE);
}
- @OnShutdown
- public void onShutdown() {
+ @OnStopped
+ public void onStopped() {
final File httpCache = new File(HTTP_CACHE_FILE_PREFIX + getIdentifier());
try (FileOutputStream fos = new FileOutputStream(httpCache)) {
final Properties props = new Properties();
@@ -280,6 +281,14 @@ public class GetHTTP extends AbstractSessionFactoryProcessor {
}
+ @OnRemoved
+ public void onRemoved() {
+ final File httpCache = new File(HTTP_CACHE_FILE_PREFIX + getIdentifier());
+ if (httpCache.exists()) {
+ httpCache.delete();
+ }
+ }
+
@Override
protected Collection<ValidationResult> customValidate(final ValidationContext context) {
final Collection<ValidationResult> results = new ArrayList<>();
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/63a90085/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/TestGetHTTP.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/TestGetHTTP.java b/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/TestGetHTTP.java
index 9ed9d17..94e0a35 100644
--- a/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/TestGetHTTP.java
+++ b/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/TestGetHTTP.java
@@ -65,9 +65,10 @@ public class TestGetHTTP {
File confDir = new File("conf");
assertTrue(confDir.exists());
File[] files = confDir.listFiles();
- assertTrue(files.length > 0);
- for (File file : files) {
- assertTrue("Failed to delete " + file.getName(), file.delete());
+ if (files.length > 0) {
+ for (File file : files) {
+ assertTrue("Failed to delete " + file.getName(), file.delete());
+ }
}
assertTrue(confDir.delete());
}
@@ -235,6 +236,9 @@ public class TestGetHTTP {
assertEquals(etag, props.getProperty(GetHTTP.ETAG));
assertEquals(lastMod, props.getProperty(GetHTTP.LAST_MODIFIED));
+ getHTTPProcessor.onRemoved();
+ assertFalse(file.exists());
+
// shutdown web service
} finally {
server.shutdownServer();