Repository: knox
Updated Branches:
  refs/heads/v0.6.0 d3c605982 -> 165abded4


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

(cherry picked from commit bd0586ddb8fae96cb5620d5db42a150c4296963f)


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

Branch: refs/heads/v0.6.0
Commit: 165abded45c5428946ab9cbbf01e52e7ba7af70c
Parents: d3c6059
Author: Kevin Minder <[email protected]>
Authored: Wed Jun 10 12:13:19 2015 -0400
Committer: Kevin Minder <[email protected]>
Committed: Wed Jun 10 12:14:30 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/165abded/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 ad6894a..8165df5 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;
@@ -181,7 +182,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