NIFI-1035 AbstractKiteProcessor.getSchema leaks file handles.  closes #101.
Close file handles when reading schema from resources or paths in 
AbstractKiteProcessor.getSchema

Signed-off-by: joewitt <[email protected]>


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

Branch: refs/heads/NIFI-810-InputRequirement
Commit: 943ccfedef0cfd8896814db203646e3e4de8cf8f
Parents: 22924c6
Author: Alan Jackoway <[email protected]>
Authored: Mon Oct 12 15:30:20 2015 -0700
Committer: joewitt <[email protected]>
Committed: Sun Oct 18 18:56:26 2015 -0400

----------------------------------------------------------------------
 .../nifi/processors/kite/AbstractKiteProcessor.java      | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/nifi/blob/943ccfed/nifi-nar-bundles/nifi-kite-bundle/nifi-kite-processors/src/main/java/org/apache/nifi/processors/kite/AbstractKiteProcessor.java
----------------------------------------------------------------------
diff --git 
a/nifi-nar-bundles/nifi-kite-bundle/nifi-kite-processors/src/main/java/org/apache/nifi/processors/kite/AbstractKiteProcessor.java
 
b/nifi-nar-bundles/nifi-kite-bundle/nifi-kite-processors/src/main/java/org/apache/nifi/processors/kite/AbstractKiteProcessor.java
index da1c046..f90c089 100644
--- 
a/nifi-nar-bundles/nifi-kite-bundle/nifi-kite-processors/src/main/java/org/apache/nifi/processors/kite/AbstractKiteProcessor.java
+++ 
b/nifi-nar-bundles/nifi-kite-bundle/nifi-kite-processors/src/main/java/org/apache/nifi/processors/kite/AbstractKiteProcessor.java
@@ -121,14 +121,17 @@ abstract class AbstractKiteProcessor extends 
AbstractProcessor {
             if ("dataset".equals(uri.getScheme()) || 
"view".equals(uri.getScheme())) {
                 return 
Datasets.load(uri).getDataset().getDescriptor().getSchema();
             } else if ("resource".equals(uri.getScheme())) {
-                InputStream in = 
Resources.getResource(uri.getSchemeSpecificPart())
-                        .openStream();
-                return parseSchema(uri, in);
+                try (InputStream in = 
Resources.getResource(uri.getSchemeSpecificPart())
+                        .openStream()) {
+                    return parseSchema(uri, in);
+                }
             } else {
                 // try to open the file
                 Path schemaPath = new Path(uri);
                 FileSystem fs = schemaPath.getFileSystem(conf);
-                return parseSchema(uri, fs.open(schemaPath));
+                try (InputStream in = fs.open(schemaPath)) {
+                    return parseSchema(uri, in);
+                }
             }
 
         } catch (DatasetNotFoundException e) {

Reply via email to