Uploaded image for project: 'Thrift'
  1. Thrift
  2. THRIFT-3289

Socket exhaustion in csharp implementation

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Critical
    • Resolution: Not A Problem
    • 0.9.1
    • None
    • C# - Library
    • None

    Description

      I'm currently running local load tests between my (local) thrift client and local thrift server.
      The test consists of a webpage that makes an RPC call to the thrift server using a thrift client and returns the information to the browser. With JMeter I'm seeing the performance of both processes under load.
      At some point in the load I get a System.Net.Sockets.SocketException when creating a new client with the message "An operation on a socket could not be performed because the system lacked sufficient buffer space or because a queue was full...".

      I'm using a TServerSocket and a TThreadPoolServer on the server and a new instance of TSocket per client request. All instances seem to be disposed properly.

      The TSocket doesn't seem to be threadsafe. Am I supposed to create a TSocket connection pool in the client so I don't overwhelm the server with creating and destroying network sockets?

      Shouldn't there be some connection pooling available in the server implementation?

      Attachments

        Activity

          People

            jking3 James E. King III
            diogojc Diogo Costa
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: