[ 
https://issues.apache.org/jira/browse/DIRMINA-714?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12724002#action_12724002
 ] 

Edouard De Oliveira commented on DIRMINA-714:
---------------------------------------------

I do not agree with you but id should have been more explanatory

as you can see your problem is not the same as described in the initial issue
so message ordering has been fixed

but on the other hand you now get the same problem as DIRMINA-679 (NPE in the 
ProtocolCodecFilter.filterWirte)
I may have a dirty fix ( i'm not 100% sure why for the moment) for this one:
in  ProtocolCodecFilter comment the following line in the onPostRemove method :
disposeCodec(parent.getSession());

After this you may get some logs throwing a WriteToClosedSessionException but 
these are catched logs and they don't hurt the logic.

Please confirm these assumptions. 
If so i will recheck this one as fixed and maybe try to investigate DIRMINA-679 
if i get time to do so.

Hint: you can also avoid this last problem by introducing a close ack on your 
protocol:
client sends a close command , server acks and closes the connection this would 
eliminate your problem which occurs because there's still some messages to 
write when server gets the session closed signal.


> Packet sequence is unordered in multi thread.
> ---------------------------------------------
>
>                 Key: DIRMINA-714
>                 URL: https://issues.apache.org/jira/browse/DIRMINA-714
>             Project: MINA
>          Issue Type: Bug
>          Components: Filter
>    Affects Versions: 2.0.0-M5
>         Environment: xp
>            Reporter: ncanis2
>            Assignee: Edouard De Oliveira
>             Fix For: 2.0.0-M7
>
>         Attachments: mina_m6_seq_test_src.zip, org.zip
>
>
> Hi.
> Packet sequence is unordered.
> = Server & Client = 
> chain.addLast("codec", new ProtocolCodecFilter(rcf));
> chain.addLast("executor", getExecuteFilter());    => 
> OrderedThreadPoolExecutor c = new OrderedThreadPoolExecutor(20,100);
> If server send 1,2,3,4,5,6 , client receive 1,2,3,4,6  from server.
> Clients : 100.
> where I am wrong? 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to