Re: Mina Server losing messages

2021-06-27 Thread Emmanuel Lécharny

Also provide files that can be tested directly.

I get an exception because the 
"C:\\git\\commserver\\security\\.keystore" is not found (obviously, 
because I'm not on windows).


Same thing for D:\\TCP_Layer_files\\security\\truststore.

That may be totally orthogonal to the problem you get, but if we can't 
run the code because we don't have the full env, we are wasting time we 
don't have.


Lats, not least, which Java version are you using ?



On 27/06/2021 18:20, Jonathan Valliere wrote:

Thanks for the report. Please make an issue in JIRA.

On Sun, Jun 27, 2021 at 12:14 PM Itzhaki, Guy
 wrote:


Hi all,



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:*

1. In order to reproduce the problem SSL filter must be defined
(already implemented in the attached example)
2. Update the keystore and truststore files locations and passwords in
*addSSLFilter()* method in *MinaClient* and *MinaServer*
3. Set server break points at:
   1. MinaServerHandler#sessionOpened
   2. MinaServerHandler#messageReceived
   3.
   org.apache.mina.core.filterchain.IoFilter.NextFilter#messageReceived
4. Set client break points at:
   1. MinaClientHandler#sessionOpened



*Since this is a timing problem you need to run a debugger as described
below:*

1. Start server
2. Start client
3. At the client at *MinaClientHandler#sessionOpened* release the
break point
4. Release all break points *except* server’s
*MinaServerHandler#sessionOpened*
5. 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





We are using mina 2.1.4



Your help is highly appreciated as this prevents us from releasing the
product.



Thanks,

Guy



-
To unsubscribe, e-mail: users-unsubscr...@mina.apache.org
For additional commands, e-mail: users-h...@mina.apache.org




--
*Emmanuel Lécharny - CTO* 205 Promenade des Anglais – 06200 NICE
T. +33 (0)4 89 97 36 50
P. +33 (0)6 08 33 32 61
emmanuel.lecha...@busit.com https://www.busit.com/

-
To unsubscribe, e-mail: users-unsubscr...@mina.apache.org
For additional commands, e-mail: users-h...@mina.apache.org



Re: Mina Server losing messages

2021-06-27 Thread Jonathan Valliere
Thanks for the report. Please make an issue in JIRA.

On Sun, Jun 27, 2021 at 12:14 PM Itzhaki, Guy
 wrote:

> Hi all,
>
>
>
> 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:*
>
>1. In order to reproduce the problem SSL filter must be defined
>(already implemented in the attached example)
>2. Update the keystore and truststore files locations and passwords in
>*addSSLFilter()* method in *MinaClient* and *MinaServer*
>3. Set server break points at:
>   1. MinaServerHandler#sessionOpened
>   2. MinaServerHandler#messageReceived
>   3.
>   org.apache.mina.core.filterchain.IoFilter.NextFilter#messageReceived
>4. Set client break points at:
>   1. MinaClientHandler#sessionOpened
>
>
>
> *Since this is a timing problem you need to run a debugger as described
> below:*
>
>1. Start server
>2. Start client
>3. At the client at *MinaClientHandler#sessionOpened* release the
>break point
>4. Release all break points *except* server’s
>*MinaServerHandler#sessionOpened*
>5. 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
>
>
>
>
>
> We are using mina 2.1.4
>
>
>
> Your help is highly appreciated as this prevents us from releasing the
> product.
>
>
>
> Thanks,
>
> Guy
>
>
>
> -
> To unsubscribe, e-mail: users-unsubscr...@mina.apache.org
> For additional commands, e-mail: users-h...@mina.apache.org


Mina Server losing messages

2021-06-27 Thread Itzhaki, Guy
Hi all,

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:

  1.  In order to reproduce the problem SSL filter must be defined (already 
implemented in the attached example)
  2.  Update the keystore and truststore files locations and passwords in 
addSSLFilter() method in MinaClient and MinaServer
  3.  Set server break points at:
 *   MinaServerHandler#sessionOpened
 *   MinaServerHandler#messageReceived
 *   org.apache.mina.core.filterchain.IoFilter.NextFilter#messageReceived
  4.  Set client break points at:
 *   MinaClientHandler#sessionOpened

Since this is a timing problem you need to run a debugger as described below:

  1.  Start server
  2.  Start client
  3.  At the client at MinaClientHandler#sessionOpened release the break point
  4.  Release all break points except server's  MinaServerHandler#sessionOpened
  5.  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


We are using mina 2.1.4

Your help is highly appreciated as this prevents us from releasing the product.

Thanks,
Guy

<>

-
To unsubscribe, e-mail: users-unsubscr...@mina.apache.org
For additional commands, e-mail: users-h...@mina.apache.org