Uploaded image for project: 'MINA'
  1. MINA
  2. DIRMINA-755

IoConnectot.dispose blocks forever

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 2.0.0-RC1
    • Fix Version/s: 2.0.0
    • Component/s: None
    • Labels:
      None

      Description

      (Extracted from the ML)

      I recently switched from 2.0.0-M6 to 2.0.0-RC1 and now discovered a
      problem with the IoConnector (I'm using the nio stuff)...

      I'll try to explain:

      In case of network connection shutdown I try to clean up as good as
      possible. I terminate tread pools, I close the session, and finally I try
      to dispose the IoConnector.

      Here's a small code-snippet from my shutdown-code:


      CloseFuture closeFuture = ctsc.getSession().close(false);

      closeFuture.addListener(new
      IoFutureListener<IoFuture>() {

      public void operationComplete(IoFuture future)

      { ctsc.getFilterchainWorkerPool().shutdown(); System.out.println("managed session count= "+ctsc.getConnector().getManagedSessionCount()); ctsc.getConnector().dispose(); }

      });


      "ctsc" is a simple container which contains the session (getSession) and
      the used connection (getConnector). First I try to close the session. Then,
      if this operation is completed, I try to shutdown a thread pool and finally
      dispose the connector. I read in the api doc, that this dispose call may
      block in case of still open session related to this connector.

      I tried to print out the number of still open sessions. On the console I
      get: "managed session count= 0"
      But the next call, the dispose() call, blocks and prevents the remaining
      threads from shutdown to get a clean application termination.

      If I switch from RC1 backt o M6, this works quite well.

      Am I doing something wrong? Has the behavior changed? *little bit
      confused*

        Attachments

        1. MinaTest.zip
          22 kB
          Emmanuel Lecharny

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              elecharny Emmanuel Lecharny
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: