[ 
https://issues.apache.org/jira/browse/DIRMINA-1145?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jonathan Valliere resolved DIRMINA-1145.
----------------------------------------
    Resolution: Fixed

Looks like this issue is fixed.  There is still more work to be done to certify 
correctness of the SSL2 package before it is pushed into 2.2.X.  Since this 
depends on the whole new SSL implementation, it cannot be back ported to 2.1.X 
because of our policy to not make any potentially functionality breaking 
changes between patch releases. 

> Mina Server is losing messages
> ------------------------------
>
>                 Key: DIRMINA-1145
>                 URL: https://issues.apache.org/jira/browse/DIRMINA-1145
>             Project: MINA
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 2.1.4
>            Reporter: Guy Itzhaki
>            Assignee: Jonathan Valliere
>            Priority: Major
>             Fix For: 2.2.0
>
>         Attachments: DIRMINA-1145-EXAMPLE.zip, 
> mina-core-2.1.5-SNAPSHOT-ssl2.jar, mina-core-2.1.5-SNAPSHOT-working.jar, 
> mina-core-2.2.0-SNAPSHOT.jar, mina_client_server.zip
>
>
> During our tests we found that in some circumstances Mina server loses 
> messages.
> From what we understand this happens when client opens connection and then 
> sends message(s) and the server is still busy processing the sessionOpened 
> event while the message the client sent went through the server’s filterChain.
>  
> Attached is a simple client and server that will help you reproduce the 
> problem, before you run it please perform the following steps:
> *+Configuration:+*
>  # In order to reproduce the problem SSL filter *must* be defined (already 
> implemented in the attached example)
>  # Update the keystore and truststore files locations in *addSSLFilter()* 
> method in *MinaClient* and *MinaServer*
>  # Set server break points at:
>  # MinaServerHandler#sessionOpened
>  # MinaServerHandler#messageReceived
>  # org.apache.mina.core.filterchain.IoFilter.NextFilter#messageReceived
>  # Set client break points at:
>  # MinaClientHandler#sessionOpened
>  
> *Since this is a timing problem you need to run a debugger as described 
> below:*
>  # Start server
>  # Start client
>  # At the client at *MinaClientHandler#sessionOpened* release the break point
>  # Release all break points +except+ server’s  
> *MinaServerHandler#sessionOpened*
>  # After org.apache.mina.core.filterchain.IoFilter.NextFilter#messageReceived 
> completed to process all events, you can release 
> *MinaServerHandler#sessionOpened*
>                  
> +*Expected result:*+
> MinaServerHandler#messageReceived will be invoked with the message sent by 
> the client
> *+Actual result:+*
> MinaServerHandler#messageReceived is not invoked.
>  
> To use the example, add the following jars to your class path:
> commons-lang3-3.9.jar
> log4j-api-2.13.3.jar
> log4j-core-2.13.3.jar
> log4j-jcl-2.13.3.jar
> mina-core-2.1.4.jar
> slf4j-api-1.7.26.jar
> spring-jcl-5.2.12.RELEASE.jar
>  
> The java we use is *AdoptJDK 11.0.8*



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to