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 2014/04/16 22:44:13 UTC
git commit: THRIFT-2470 THttpHandler swallows exceptions from
processor Client: C# Patch: Adam Conelly
Repository: thrift
Updated Branches:
refs/heads/master 20bcf38be -> 057be5a9b
THRIFT-2470 THttpHandler swallows exceptions from processor
Client: C#
Patch: Adam Conelly
This closes #100
commit 6dcb1c3dc5d3259574863f0bc6af67b241b4653e
Author: Adam Connelly <ad...@resdiary.com>
Date: 2014-04-16T14:37:54Z
THRIFT-2470: Stop THttpHandler from swallowing processor exceptions
The problem with the way it works currently is that it makes it very difficult to figure out what's going on when I've got a handler running on a remote web server. If the handler just allows the exceptions to bubble up like normal, they get caught by our normal exception handling code and logged.
I also added a new project for unit tests, and some tests for the changes I've made.
Project: http://git-wip-us.apache.org/repos/asf/thrift/repo
Commit: http://git-wip-us.apache.org/repos/asf/thrift/commit/057be5a9
Tree: http://git-wip-us.apache.org/repos/asf/thrift/tree/057be5a9
Diff: http://git-wip-us.apache.org/repos/asf/thrift/diff/057be5a9
Branch: refs/heads/master
Commit: 057be5a9bd32e3571577edeab1aa0ea7c50087d6
Parents: 20bcf38
Author: Jens Geyer <je...@apache.org>
Authored: Wed Apr 16 22:43:08 2014 +0200
Committer: Jens Geyer <je...@apache.org>
Committed: Wed Apr 16 22:43:08 2014 +0200
----------------------------------------------------------------------
lib/csharp/src/Transport/THttpHandler.cs | 21 +++++++--------------
1 file changed, 7 insertions(+), 14 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/thrift/blob/057be5a9/lib/csharp/src/Transport/THttpHandler.cs
----------------------------------------------------------------------
diff --git a/lib/csharp/src/Transport/THttpHandler.cs b/lib/csharp/src/Transport/THttpHandler.cs
index 0a10d79..884f1ad 100644
--- a/lib/csharp/src/Transport/THttpHandler.cs
+++ b/lib/csharp/src/Transport/THttpHandler.cs
@@ -63,30 +63,23 @@ namespace Thrift.Transport
{
TTransport transport = new TStreamTransport(input,output);
- TProtocol inputProtocol = null;
- TProtocol outputProtocol = null;
-
try
{
- inputProtocol = inputProtocolFactory.GetProtocol(transport);
- outputProtocol = outputProtocolFactory.GetProtocol(transport);
+ var inputProtocol = inputProtocolFactory.GetProtocol(transport);
+ var outputProtocol = outputProtocolFactory.GetProtocol(transport);
- while (processor.Process(inputProtocol, outputProtocol)) { }
+ while (processor.Process(inputProtocol, outputProtocol))
+ {
+ }
}
catch (TTransportException)
{
// Client died, just move on
}
- catch (TApplicationException tx)
- {
- Console.Error.Write(tx);
- }
- catch (Exception x)
+ finally
{
- Console.Error.Write(x);
+ transport.Close();
}
-
- transport.Close();
}
public bool IsReusable