[
https://issues.apache.org/jira/browse/DIRMINA-734?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12739506#action_12739506
]
Emmanuel Lecharny commented on DIRMINA-734:
-------------------------------------------
Assuming your system works like that :
Client <===> Proxy <===> Application
do you close the session when the Application has sent its last message, or are
you expecting some more message to be received ? In other words, do you close
here :
Client ---> proxy ---> Application --+
Client <--- proxy <-*- Application<--+
(when the message is received from the application, '*' being the message)
or here :
Client ---> proxy -*-> Application --+
Client <--- proxy <--- Application<--+
(just after having transmitted the message to the application)
Otherwise, the session code hasn't been changed in this area since last release.
> Regression with flushing in MINA 2.0.0-M7 trunk
> -----------------------------------------------
>
> Key: DIRMINA-734
> URL: https://issues.apache.org/jira/browse/DIRMINA-734
> Project: MINA
> Issue Type: Bug
> Components: Core
> Affects Versions: 2.0.0-M7
> Reporter: Serge Baranov
>
> 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.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.