You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ranger.apache.org by sn...@apache.org on 2015/03/24 15:44:05 UTC
incubator-ranger git commit: RANGER-331: inputstream is closed in the
finally clause
Repository: incubator-ranger
Updated Branches:
refs/heads/master 0ab48758f -> ce139e013
RANGER-331: inputstream is closed in the finally clause
Project: http://git-wip-us.apache.org/repos/asf/incubator-ranger/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ranger/commit/ce139e01
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ranger/tree/ce139e01
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ranger/diff/ce139e01
Branch: refs/heads/master
Commit: ce139e013aa4f0e6472ac910b9c62073ed902f35
Parents: 0ab4875
Author: sneethiraj <sn...@apache.org>
Authored: Tue Mar 24 10:30:21 2015 -0400
Committer: sneethiraj <sn...@apache.org>
Committed: Tue Mar 24 10:30:21 2015 -0400
----------------------------------------------------------------------
.../plugin/client/HadoopConfigHolder.java | 24 ++++++++++-----
.../ranger/utils/install/XmlConfigChanger.java | 12 ++++++++
.../ranger/server/tomcat/EmbeddedServer.java | 10 ++++++
.../ranger/services/hdfs/HdfsClientTester.java | 18 ++++++++++-
.../services/hive/client/HiveClientTester.java | 18 ++++++++++-
.../main/java/org/apache/util/sql/Jisql.java | 32 ++++++++++++++++++--
.../java/org/apache/util/sql/MySQLPLRunner.java | 17 +++++++++--
.../ranger/services/knox/client/KnoxClient.java | 2 +-
.../ranger/hadoop/client/HadoopFSTester.java | 17 ++++++++++-
.../ranger/hbase/client/HBaseClientTester.java | 18 +++++++++--
.../config/UserGroupSyncConfig.java | 13 +++++++-
.../unix/jaas/RemoteUnixLoginModule.java | 14 +++++++--
.../UnixAuthenticationService.java | 18 +++++++++--
13 files changed, 191 insertions(+), 22 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/ce139e01/agents-common/src/main/java/org/apache/ranger/plugin/client/HadoopConfigHolder.java
----------------------------------------------------------------------
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/client/HadoopConfigHolder.java b/agents-common/src/main/java/org/apache/ranger/plugin/client/HadoopConfigHolder.java
index a341a44..f95e10e 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/client/HadoopConfigHolder.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/client/HadoopConfigHolder.java
@@ -157,16 +157,26 @@ public class HadoopConfigHolder {
if (in != null) {
try {
resourcemapProperties.load(in);
- for (Map.Entry<Object, Object> entry : resourcemapProperties.entrySet() ) {
- String key = (String)entry.getKey();
- String value = (String)entry.getValue();
- if (RANGER_SECTION_NAME.equals(value)) {
- rangerInternalPropertyKeys.add(key);
- }
- }
+ for (Map.Entry<Object, Object> entry : resourcemapProperties.entrySet() ) {
+ String key = (String)entry.getKey();
+ String value = (String)entry.getValue();
+ if (RANGER_SECTION_NAME.equals(value)) {
+ rangerInternalPropertyKeys.add(key);
+ }
+ }
} catch (IOException e) {
throw new HadoopException("Unable to load resource map properties from [" + RESOURCEMAP_PROP_FILE + "]", e);
}
+ finally {
+ if (in != null) {
+ try {
+ in.close() ;
+ }
+ catch(IOException ioe) {
+ // Ignore IOException during close of stream
+ }
+ }
+ }
}
else {
throw new HadoopException("Unable to locate resource map properties from [" + RESOURCEMAP_PROP_FILE + "] in the class path.");
http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/ce139e01/agents-installer/src/main/java/org/apache/ranger/utils/install/XmlConfigChanger.java
----------------------------------------------------------------------
diff --git a/agents-installer/src/main/java/org/apache/ranger/utils/install/XmlConfigChanger.java b/agents-installer/src/main/java/org/apache/ranger/utils/install/XmlConfigChanger.java
index f2665ae..05fbb23 100644
--- a/agents-installer/src/main/java/org/apache/ranger/utils/install/XmlConfigChanger.java
+++ b/agents-installer/src/main/java/org/apache/ranger/utils/install/XmlConfigChanger.java
@@ -425,7 +425,19 @@ public class XmlConfigChanger {
private void loadInstallProperties() throws IOException {
if (propFile != null) {
FileInputStream in = new FileInputStream(propFile) ;
+ try {
installProperties.load(in);
+ }
+ finally {
+ if (in != null) {
+ try {
+ in.close();
+ }
+ catch(IOException ioe) {
+ // Ignore IOException during close of stream
+ }
+ }
+ }
}
// To support environment variable, we will add all environment variables to the Properties
installProperties.putAll(System.getenv());
http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/ce139e01/embeddedwebserver/src/main/java/org/apache/ranger/server/tomcat/EmbeddedServer.java
----------------------------------------------------------------------
diff --git a/embeddedwebserver/src/main/java/org/apache/ranger/server/tomcat/EmbeddedServer.java b/embeddedwebserver/src/main/java/org/apache/ranger/server/tomcat/EmbeddedServer.java
index 75c80d5..4460aa8 100644
--- a/embeddedwebserver/src/main/java/org/apache/ranger/server/tomcat/EmbeddedServer.java
+++ b/embeddedwebserver/src/main/java/org/apache/ranger/server/tomcat/EmbeddedServer.java
@@ -82,6 +82,16 @@ public class EmbeddedServer {
LOG.severe("Unable to load config file [" + cfgFile + "]");
ioe.printStackTrace();
}
+ finally {
+ if (in != null) {
+ try {
+ in.close() ;
+ }
+ catch(IOException ioe) {
+ // Ignore IOE when the stream is closed.
+ }
+ }
+ }
serverConfigProperties.list(System.out);
}
http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/ce139e01/hdfs-agent/src/test/java/org/apache/ranger/services/hdfs/HdfsClientTester.java
----------------------------------------------------------------------
diff --git a/hdfs-agent/src/test/java/org/apache/ranger/services/hdfs/HdfsClientTester.java b/hdfs-agent/src/test/java/org/apache/ranger/services/hdfs/HdfsClientTester.java
index 3947ac2..2e8290c 100644
--- a/hdfs-agent/src/test/java/org/apache/ranger/services/hdfs/HdfsClientTester.java
+++ b/hdfs-agent/src/test/java/org/apache/ranger/services/hdfs/HdfsClientTester.java
@@ -19,6 +19,8 @@
package org.apache.ranger.services.hdfs;
+import java.io.IOException;
+import java.io.InputStream;
import java.util.HashMap;
import java.util.List;
import java.util.Properties;
@@ -39,7 +41,21 @@ public class HdfsClientTester {
String fileNameToMatch = (args.length == 3 ? null : args[3]) ;
Properties conf = new Properties() ;
- conf.load(HdfsClientTester.class.getClassLoader().getResourceAsStream(propFile));
+
+ InputStream in = HdfsClientTester.class.getClassLoader().getResourceAsStream(propFile) ;
+ try {
+ conf.load(in);
+ }
+ finally {
+ if (in != null) {
+ try {
+ in.close() ;
+ }
+ catch(IOException ioe) {
+ // Ignore IOException created during close
+ }
+ }
+ }
HashMap<String,String> prop = new HashMap<String,String>() ;
for(Object key : conf.keySet()) {
http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/ce139e01/hive-agent/src/test/java/org/apache/ranger/services/hive/client/HiveClientTester.java
----------------------------------------------------------------------
diff --git a/hive-agent/src/test/java/org/apache/ranger/services/hive/client/HiveClientTester.java b/hive-agent/src/test/java/org/apache/ranger/services/hive/client/HiveClientTester.java
index 9cd1cd0..1ff0f35 100644
--- a/hive-agent/src/test/java/org/apache/ranger/services/hive/client/HiveClientTester.java
+++ b/hive-agent/src/test/java/org/apache/ranger/services/hive/client/HiveClientTester.java
@@ -20,6 +20,8 @@
package org.apache.ranger.services.hive.client;
+import java.io.IOException;
+import java.io.InputStream;
import java.util.HashMap;
import java.util.List;
import java.util.Properties;
@@ -40,7 +42,21 @@ public class HiveClientTester {
try {
Properties conf = new Properties() ;
- conf.load(HiveClientTester.class.getClassLoader().getResourceAsStream(args[1]));
+
+ InputStream in = HiveClientTester.class.getClassLoader().getResourceAsStream(args[1]) ;
+ try {
+ conf.load(in);
+ }
+ finally {
+ if (in != null) {
+ try {
+ in.close();
+ }
+ catch(IOException ioe) {
+ // Ignore IOException when closing the stream
+ }
+ }
+ }
HashMap<String,String> prop = new HashMap<String,String>() ;
for(Object key : conf.keySet()) {
http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/ce139e01/jisql/src/main/java/org/apache/util/sql/Jisql.java
----------------------------------------------------------------------
diff --git a/jisql/src/main/java/org/apache/util/sql/Jisql.java b/jisql/src/main/java/org/apache/util/sql/Jisql.java
index c3ba5a6..e5dac9b 100644
--- a/jisql/src/main/java/org/apache/util/sql/Jisql.java
+++ b/jisql/src/main/java/org/apache/util/sql/Jisql.java
@@ -31,8 +31,10 @@ import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties;
+
import joptsimple.OptionParser;
import joptsimple.OptionSet;
+
import org.apache.util.outputformatter.JisqlFormatter;
/**
@@ -291,8 +293,20 @@ public class Jisql {
else {
if(connectString.toLowerCase().startsWith("jdbc:mysql") && inputFileName!=null){
MySQLPLRunner scriptRunner = new MySQLPLRunner(connection, false, true,printDebug);
- scriptRunner.setDelimiter(commandTerminator,false);
- scriptRunner.runScript(new FileReader(inputFileName));
+ scriptRunner.setDelimiter(commandTerminator,false);
+ FileReader reader = new FileReader(inputFileName) ;
+ try {
+ scriptRunner.runScript(reader);
+ }
+ finally {
+ if (reader != null) {
+ try {
+ reader.close();
+ } catch (IOException ioe) {
+ // Ignore error during closing of the reader stream
+ }
+ }
+ }
}else{
doIsql();
}
@@ -358,6 +372,9 @@ public class Jisql {
statement = connection.createStatement();
connection.clearWarnings();
String trimmedLine=null;
+
+ try {
+
while (true) {
int linecount = 1;
query = new StringBuffer();
@@ -480,6 +497,17 @@ public class Jisql {
if (inputQuery != null)
return;
}
+ }
+ finally {
+ if (reader != null) {
+ try {
+ reader.close();
+ }
+ catch(IOException ioe) {
+ // Ignore IOE when closing streams
+ }
+ }
+ }
}
/**
http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/ce139e01/jisql/src/main/java/org/apache/util/sql/MySQLPLRunner.java
----------------------------------------------------------------------
diff --git a/jisql/src/main/java/org/apache/util/sql/MySQLPLRunner.java b/jisql/src/main/java/org/apache/util/sql/MySQLPLRunner.java
index dc5de79..c41c95e 100644
--- a/jisql/src/main/java/org/apache/util/sql/MySQLPLRunner.java
+++ b/jisql/src/main/java/org/apache/util/sql/MySQLPLRunner.java
@@ -31,7 +31,6 @@ import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;
-import java.util.List;
import java.util.Properties;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@@ -311,7 +310,21 @@ public class MySQLPLRunner {
// Executing SQL Script
- scriptRunner.runScript(new FileReader(aSQLScriptFilePath));
+ FileReader reader = new FileReader(aSQLScriptFilePath) ;
+
+ try {
+ scriptRunner.runScript(reader);
+ }
+ finally {
+ if (reader != null) {
+ try {
+ reader.close();
+ }
+ catch(IOException ioe) {
+ // Ignore IOException when reader is getting closed
+ }
+ }
+ }
}
http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/ce139e01/knox-agent/src/main/java/org/apache/ranger/services/knox/client/KnoxClient.java
----------------------------------------------------------------------
diff --git a/knox-agent/src/main/java/org/apache/ranger/services/knox/client/KnoxClient.java b/knox-agent/src/main/java/org/apache/ranger/services/knox/client/KnoxClient.java
index 0a23f57..9f7a955 100644
--- a/knox-agent/src/main/java/org/apache/ranger/services/knox/client/KnoxClient.java
+++ b/knox-agent/src/main/java/org/apache/ranger/services/knox/client/KnoxClient.java
@@ -304,7 +304,7 @@ public class KnoxClient {
Map<String, String> configs) {
KnoxClient knoxClient = null;
LOG.debug("Getting knoxClient for ServiceName: " + serviceName
- + "configMap: " + configs.toString());
+ + "configMap: " + configs);
String errMsg = " You can still save the repository and start creating "
+ "policies, but you would not be able to use autocomplete for "
+ "resource names. Check xa_portal.log for more info.";
http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/ce139e01/lookup-client/src/main/java/org/apache/ranger/hadoop/client/HadoopFSTester.java
----------------------------------------------------------------------
diff --git a/lookup-client/src/main/java/org/apache/ranger/hadoop/client/HadoopFSTester.java b/lookup-client/src/main/java/org/apache/ranger/hadoop/client/HadoopFSTester.java
index 8199971..dc73801 100644
--- a/lookup-client/src/main/java/org/apache/ranger/hadoop/client/HadoopFSTester.java
+++ b/lookup-client/src/main/java/org/apache/ranger/hadoop/client/HadoopFSTester.java
@@ -19,6 +19,8 @@
package org.apache.ranger.hadoop.client;
+import java.io.IOException;
+import java.io.InputStream;
import java.util.HashMap;
import java.util.List;
import java.util.Properties;
@@ -37,7 +39,20 @@ public class HadoopFSTester {
String fileNameToMatch = (args.length == 3 ? null : args[3]) ;
Properties conf = new Properties() ;
- conf.load(HadoopFSTester.class.getClassLoader().getResourceAsStream(propFile));
+ InputStream in = HadoopFSTester.class.getClassLoader().getResourceAsStream(propFile) ;
+ try {
+ conf.load(in);
+ }
+ finally {
+ if (in != null) {
+ try {
+ in.close() ;
+ }
+ catch(IOException ioe) {
+ // Ignore IOE when closing stream
+ }
+ }
+ }
HashMap<String,String> prop = new HashMap<String,String>() ;
for(Object key : conf.keySet()) {
http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/ce139e01/lookup-client/src/main/java/org/apache/ranger/hbase/client/HBaseClientTester.java
----------------------------------------------------------------------
diff --git a/lookup-client/src/main/java/org/apache/ranger/hbase/client/HBaseClientTester.java b/lookup-client/src/main/java/org/apache/ranger/hbase/client/HBaseClientTester.java
index dc177e6..617d2e1 100644
--- a/lookup-client/src/main/java/org/apache/ranger/hbase/client/HBaseClientTester.java
+++ b/lookup-client/src/main/java/org/apache/ranger/hbase/client/HBaseClientTester.java
@@ -19,6 +19,8 @@
package org.apache.ranger.hbase.client;
+import java.io.IOException;
+import java.io.InputStream;
import java.util.HashMap;
import java.util.List;
import java.util.Properties;
@@ -42,8 +44,20 @@ public class HBaseClientTester {
LOG.info("Starting ...");
Properties conf = new Properties();
-
- conf.load(HBaseClientTester.class.getClassLoader().getResourceAsStream(args[1]));
+ InputStream in = HBaseClientTester.class.getClassLoader().getResourceAsStream(args[1]) ;
+ try {
+ conf.load(in);
+ }
+ finally {
+ if (in != null) {
+ try {
+ in.close();
+ }
+ catch(IOException ioe) {
+ // Ignore IOE when closing stream
+ }
+ }
+ }
HashMap<String, String> prop = new HashMap<String, String>();
for (Object key : conf.keySet()) {
http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/ce139e01/ugsync/src/main/java/org/apache/ranger/unixusersync/config/UserGroupSyncConfig.java
----------------------------------------------------------------------
diff --git a/ugsync/src/main/java/org/apache/ranger/unixusersync/config/UserGroupSyncConfig.java b/ugsync/src/main/java/org/apache/ranger/unixusersync/config/UserGroupSyncConfig.java
index 6ef27fe..b2c2eb5 100644
--- a/ugsync/src/main/java/org/apache/ranger/unixusersync/config/UserGroupSyncConfig.java
+++ b/ugsync/src/main/java/org/apache/ranger/unixusersync/config/UserGroupSyncConfig.java
@@ -22,6 +22,7 @@
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
+import java.io.IOException;
import java.io.InputStream;
import java.util.HashSet;
import java.util.Properties;
@@ -169,7 +170,17 @@ public class UserGroupSyncConfig {
try {
InputStream in = getFileInputStream(CONFIG_FILE) ;
if (in != null) {
- prop.load(in) ;
+ try {
+ prop.load(in) ;
+ }
+ finally {
+ try {
+ in.close() ;
+ }
+ catch(IOException ioe) {
+ // Ignore IOE when closing stream
+ }
+ }
}
} catch (Throwable e) {
throw new RuntimeException("Unable to load configuration file [" + CONFIG_FILE + "]", e) ;
http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/ce139e01/unixauthclient/src/main/java/org/apache/ranger/authentication/unix/jaas/RemoteUnixLoginModule.java
----------------------------------------------------------------------
diff --git a/unixauthclient/src/main/java/org/apache/ranger/authentication/unix/jaas/RemoteUnixLoginModule.java b/unixauthclient/src/main/java/org/apache/ranger/authentication/unix/jaas/RemoteUnixLoginModule.java
index f6564be..0280464 100644
--- a/unixauthclient/src/main/java/org/apache/ranger/authentication/unix/jaas/RemoteUnixLoginModule.java
+++ b/unixauthclient/src/main/java/org/apache/ranger/authentication/unix/jaas/RemoteUnixLoginModule.java
@@ -145,8 +145,18 @@ public class RemoteUnixLoginModule implements LoginModule {
try {
in = getFileInputStream(val) ;
if (in != null) {
- config = new Properties() ;
- config.load(in);
+ try {
+ config = new Properties() ;
+ config.load(in);
+ }
+ finally {
+ try {
+ in.close();
+ }
+ catch(IOException ioe) {
+ // Ignore IOException when closing streams
+ }
+ }
}
}
http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/ce139e01/unixauthservice/src/main/java/org/apache/ranger/authentication/UnixAuthenticationService.java
----------------------------------------------------------------------
diff --git a/unixauthservice/src/main/java/org/apache/ranger/authentication/UnixAuthenticationService.java b/unixauthservice/src/main/java/org/apache/ranger/authentication/UnixAuthenticationService.java
index 1629e13..01ad7f4 100644
--- a/unixauthservice/src/main/java/org/apache/ranger/authentication/UnixAuthenticationService.java
+++ b/unixauthservice/src/main/java/org/apache/ranger/authentication/UnixAuthenticationService.java
@@ -22,6 +22,7 @@
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
+import java.io.IOException;
import java.io.InputStream;
import java.net.ServerSocket;
import java.net.Socket;
@@ -125,9 +126,22 @@ public class UnixAuthenticationService {
//TODO: add more validation code
private void init() throws Throwable {
- InputStream in = getFileInputStream("unixauthservice.properties") ;
Properties prop = new Properties() ;
- prop.load(in);
+ InputStream in = getFileInputStream("unixauthservice.properties") ;
+
+ if (in != null) {
+ try {
+ prop.load(in);
+ }
+ finally {
+ try {
+ in.close();
+ }
+ catch(IOException ioe) {
+ // Ignore IOE when closing streams
+ }
+ }
+ }
keyStorePath = prop.getProperty(SSL_KEYSTORE_PATH_PARAM) ;
keyStorePathPassword = prop.getProperty(SSL_KEYSTORE_PATH_PASSWORD_PARAM) ;
trustStorePath = prop.getProperty(SSL_TRUSTSTORE_PATH_PARAM) ;