Uploaded image for project: 'TinkerPop'
  1. TinkerPop
  2. TINKERPOP-2406

Delegate processing from event loop to worker threads

VotersWatch issueWatchersLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: 3.4.8
    • Fix Version/s: 3.5.0, 3.4.9
    • Component/s: driver
    • Labels:
      None

      Description

      Netty client has two thread pools. Event loop thread pool which is responsible for handling socket events and another is a worker thread pool which is used to delegate busy work from event loop threads so that they can continue handling socket events. When programming in Netty, ideally, the event loop should never be blocked and must be kept free to respond to events.

      In case of exceptional completion of readComplete which could be triggered by a server sending an error code in the response, the event loop thread is used to perform the clean up logic which could involve an expensive replaceConnection. This blocks the event loop.

        Attachments

          Activity

            People

            • Assignee:
              divijvaidya Divij Vaidya
              Reporter:
              divijvaidya Divij Vaidya

              Dates

              • Created:
                Updated:
                Resolved:

                Issue deployment