Author: stack
Date: Tue Apr 20 23:02:57 2010
New Revision: 936107

URL: http://svn.apache.org/viewvc?rev=936107&view=rev
Log:
HBASE-2443 IPC client can throw NPE if socket creation fails

Modified:
    hadoop/hbase/trunk/CHANGES.txt
    
hadoop/hbase/trunk/core/src/main/java/org/apache/hadoop/hbase/ipc/HBaseClient.java

Modified: hadoop/hbase/trunk/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/hadoop/hbase/trunk/CHANGES.txt?rev=936107&r1=936106&r2=936107&view=diff
==============================================================================
--- hadoop/hbase/trunk/CHANGES.txt (original)
+++ hadoop/hbase/trunk/CHANGES.txt Tue Apr 20 23:02:57 2010
@@ -279,6 +279,8 @@ Release 0.21.0 - Unreleased
                is a prefix (Todd Lipcon via Stack)
    HBASE-2463  Various Bytes.* functions silently ignore invalid arguments
                (Benoit Sigoure via Stack)
+   HBASE-2443  IPC client can throw NPE if socket creation fails
+               (Todd Lipcon via Stack)
 
   IMPROVEMENTS
    HBASE-1760  Cleanup TODOs in HTable

Modified: 
hadoop/hbase/trunk/core/src/main/java/org/apache/hadoop/hbase/ipc/HBaseClient.java
URL: 
http://svn.apache.org/viewvc/hadoop/hbase/trunk/core/src/main/java/org/apache/hadoop/hbase/ipc/HBaseClient.java?rev=936107&r1=936106&r2=936107&view=diff
==============================================================================
--- 
hadoop/hbase/trunk/core/src/main/java/org/apache/hadoop/hbase/ipc/HBaseClient.java
 (original)
+++ 
hadoop/hbase/trunk/core/src/main/java/org/apache/hadoop/hbase/ipc/HBaseClient.java
 Tue Apr 20 23:02:57 2010
@@ -351,10 +351,12 @@ public class HBaseClient {
     private void handleConnectionFailure(
         int curRetries, int maxRetries, IOException ioe) throws IOException {
       // close the current connection
-      try {
-        socket.close();
-      } catch (IOException e) {
-        LOG.warn("Not able to close a socket", e);
+      if (socket != null) { // could be null if the socket creation failed
+        try {
+          socket.close();
+        } catch (IOException e) {
+          LOG.warn("Not able to close a socket", e);
+        }
       }
       // set socket to null so that the next call to setupIOstreams
       // can start the process of connect all over again.


Reply via email to