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

Regression with flushing in MINA 2.0.0-M7 trunk

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 2.0.0-RC1
    • 2.0.0-RC1
    • Core
    • None

    Description

      It looks like the present trunk of MINA in the repository
      has a bug. Updating from M7 built on 06.06.2009 to the current trunk
      broke some of our tests.

      I've tried to build it today and ran our application tests, some of
      them failed.

      Reverting back to 06.06.2009 build has fixed the problem.

      At the first look it appears that session.close(false) behaves like
      session.close(true), as a result some messages are truncated (not
      being flushed on session.close(false)).

      If I comment out a call to session.close(false) (i.e. not closing the
      session at all when needed), the problem goes away.

      This behavior is inconsistent, test fails/succeeds randomly. On the
      first run it may pass, on the second run it may fail. Test fails about
      10% of runs. The part which is not flushed is also random. Could be a
      race condition somewhere in MINA introduced in the last 2 months.

      I can't provide a test case yet, but our application is a kind of
      proxy, so it behaves like this:

      1. client connects to the app and send a request
      2. app connects to another server and sends a request
      3. app gets a reply from the server and sends it back to the client
      4. when another server closes the connection, app is closing the
      connection with the client using session.close(false)

      The app may be still flushing data to client when closing the
      connection. As I said it worked fine with previous MINA versions, but
      has broken only recently.

      We are using OrderedThreadPoolExecutor and CumulativeProtocolDecoder
      if that matters.

      Attachments

        1. mina-flush-regression.zip
          3.61 MB
          Serge Baranov

        Activity

          People

            elecharny Emmanuel Lécharny
            crazycoder Serge Baranov
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: