You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@thrift.apache.org by je...@apache.org on 2015/09/23 23:06:10 UTC

thrift git commit: THRIFT-3345 Clients blocked indefinitely when a java.lang.Error is thrown Client: Java Author: huahang

Repository: thrift
Updated Branches:
  refs/heads/master 804504b79 -> b121a586b


THRIFT-3345 Clients blocked indefinitely when a java.lang.Error is thrown
Client: Java
Author: huahang <hu...@users.noreply.github.com>

This closes #618


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

Branch: refs/heads/master
Commit: b121a586b20c801bb52aa423b2d0edddf5d3ce9e
Parents: 804504b
Author: Jens Geyer <je...@apache.org>
Authored: Wed Sep 23 23:04:17 2015 +0200
Committer: Jens Geyer <je...@apache.org>
Committed: Wed Sep 23 23:05:26 2015 +0200

----------------------------------------------------------------------
 .../apache/thrift/server/TThreadPoolServer.java | 29 +++++++++-----------
 1 file changed, 13 insertions(+), 16 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/thrift/blob/b121a586/lib/java/src/org/apache/thrift/server/TThreadPoolServer.java
----------------------------------------------------------------------
diff --git a/lib/java/src/org/apache/thrift/server/TThreadPoolServer.java b/lib/java/src/org/apache/thrift/server/TThreadPoolServer.java
index a963bc9..0529d72 100755
--- a/lib/java/src/org/apache/thrift/server/TThreadPoolServer.java
+++ b/lib/java/src/org/apache/thrift/server/TThreadPoolServer.java
@@ -295,22 +295,19 @@ public class TThreadPoolServer extends TServer {
         LOGGER.error("Thrift error occurred during processing of message.", tx);
       } catch (Exception x) {
         LOGGER.error("Error occurred during processing of message.", x);
-      }
-
-      if (eventHandler != null) {
-        eventHandler.deleteContext(connectionContext, inputProtocol, outputProtocol);
-      }
-
-      if (inputTransport != null) {
-        inputTransport.close();
-      }
-
-      if (outputTransport != null) {
-        outputTransport.close();
-      }
-
-      if (client_.isOpen()) {
-        client_.close();
+      } finally {
+        if (eventHandler != null) {
+          eventHandler.deleteContext(connectionContext, inputProtocol, outputProtocol);
+        }
+        if (inputTransport != null) {
+          inputTransport.close();
+        }
+        if (outputTransport != null) {
+          outputTransport.close();
+        }
+        if (client_.isOpen()) {
+          client_.close();
+        }
       }
     }
   }