hadoop-common-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From asur...@apache.org
Subject hadoop git commit: HADOOP-11891. OsSecureRandom should lazily fill its reservoir (asuresh)
Date Thu, 30 Apr 2015 21:03:31 GMT
Repository: hadoop
Updated Branches:
  refs/heads/branch-2.7 a38dbbc5b -> 91db060cc


HADOOP-11891. OsSecureRandom should lazily fill its reservoir (asuresh)

(cherry picked from commit f0db797be28ca221d540c6a3accd6bff9a7996fa)


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

Branch: refs/heads/branch-2.7
Commit: 91db060cccc7c1efd7c3e071854ad351dce0c292
Parents: a38dbbc
Author: Arun Suresh <asuresh@apache.org>
Authored: Thu Apr 30 13:59:43 2015 -0700
Committer: Arun Suresh <asuresh@apache.org>
Committed: Thu Apr 30 14:03:18 2015 -0700

----------------------------------------------------------------------
 hadoop-common-project/hadoop-common/CHANGES.txt  |  2 ++
 .../hadoop/crypto/random/OsSecureRandom.java     | 19 ++++---------------
 2 files changed, 6 insertions(+), 15 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hadoop/blob/91db060c/hadoop-common-project/hadoop-common/CHANGES.txt
----------------------------------------------------------------------
diff --git a/hadoop-common-project/hadoop-common/CHANGES.txt b/hadoop-common-project/hadoop-common/CHANGES.txt
index b144177..49168c7 100644
--- a/hadoop-common-project/hadoop-common/CHANGES.txt
+++ b/hadoop-common-project/hadoop-common/CHANGES.txt
@@ -24,6 +24,8 @@ Release 2.7.1 - UNRELEASED
     HADOOP-11802. DomainSocketWatcher thread terminates sometimes after there
     is an I/O error during requestShortCircuitShm (cmccabe)
 
+    HADOOP-11891. OsSecureRandom should lazily fill its reservoir (asuresh)
+
 Release 2.7.0 - 2015-04-20
 
   INCOMPATIBLE CHANGES

http://git-wip-us.apache.org/repos/asf/hadoop/blob/91db060c/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/crypto/random/OsSecureRandom.java
----------------------------------------------------------------------
diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/crypto/random/OsSecureRandom.java
b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/crypto/random/OsSecureRandom.java
index fee4186..2010e6d 100644
--- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/crypto/random/OsSecureRandom.java
+++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/crypto/random/OsSecureRandom.java
@@ -58,6 +58,9 @@ public class OsSecureRandom extends Random implements Closeable, Configurable
{
   private void fillReservoir(int min) {
     if (pos >= reservoir.length - min) {
       try {
+        if (stream == null) {
+          stream = new FileInputStream(new File(randomDevPath));
+        }
         IOUtils.readFully(stream, reservoir, 0, reservoir.length);
       } catch (IOException e) {
         throw new RuntimeException("failed to fill reservoir", e);
@@ -75,21 +78,7 @@ public class OsSecureRandom extends Random implements Closeable, Configurable
{
     this.randomDevPath = conf.get(
         HADOOP_SECURITY_SECURE_RANDOM_DEVICE_FILE_PATH_KEY,
         HADOOP_SECURITY_SECURE_RANDOM_DEVICE_FILE_PATH_DEFAULT);
-    File randomDevFile = new File(randomDevPath);
-
-    try {
-      close();
-      this.stream = new FileInputStream(randomDevFile);
-    } catch (IOException e) {
-      throw new RuntimeException(e);
-    }
-
-    try {
-      fillReservoir(0);
-    } catch (RuntimeException e) {
-      close();
-      throw e;
-    }
+    close();
   }
 
   @Override


Mime
View raw message