Repository: knox
Updated Branches:
  refs/heads/master 82c145a04 -> bd0586ddb


KNOX-558: HttpClient connections are not always returned to the pool for HBase 
on Windows


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

Branch: refs/heads/master
Commit: bd0586ddb8fae96cb5620d5db42a150c4296963f
Parents: 82c145a
Author: Kevin Minder <[email protected]>
Authored: Wed Jun 10 12:13:19 2015 -0400
Committer: Kevin Minder <[email protected]>
Committed: Wed Jun 10 12:13:19 2015 -0400

----------------------------------------------------------------------
 .../hadoop/gateway/dispatch/DefaultDispatch.java  | 18 +++++++++++++++++-
 1 file changed, 17 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/knox/blob/bd0586dd/gateway-spi/src/main/java/org/apache/hadoop/gateway/dispatch/DefaultDispatch.java
----------------------------------------------------------------------
diff --git 
a/gateway-spi/src/main/java/org/apache/hadoop/gateway/dispatch/DefaultDispatch.java
 
b/gateway-spi/src/main/java/org/apache/hadoop/gateway/dispatch/DefaultDispatch.java
index 709d0c3..4bcd21c 100644
--- 
a/gateway-spi/src/main/java/org/apache/hadoop/gateway/dispatch/DefaultDispatch.java
+++ 
b/gateway-spi/src/main/java/org/apache/hadoop/gateway/dispatch/DefaultDispatch.java
@@ -48,6 +48,7 @@ import org.apache.http.util.EntityUtils;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
+import java.io.Closeable;
 import java.io.IOException;
 import java.io.InputStream;
 import java.net.URI;
@@ -176,7 +177,22 @@ public class DefaultDispatch extends 
AbstractGatewayDispatch {
       //        outboundResponse.setContentLength( (int)contentLength );
       //      }
       //]
-      writeResponse(inboundRequest, outboundResponse, entity.getContent());
+      InputStream stream = entity.getContent();
+      try {
+        writeResponse( inboundRequest, outboundResponse, stream );
+      } finally {
+        closeInboundResponse( inboundResponse, stream );
+      }
+    }
+  }
+
+  protected void closeInboundResponse( HttpResponse response, InputStream 
stream ) throws IOException {
+    try {
+      stream.close();
+    } finally {
+      if( response instanceof Closeable ) {
+        ( (Closeable)response).close();
+      }
     }
   }
 

Reply via email to