mina-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Edouard De Oliveira (JIRA)" <j...@apache.org>
Subject [jira] Commented: (DIRMINA-714) Packet sequence is unordered in multi thread.
Date Thu, 25 Jun 2009 10:15:07 GMT

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

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.

View raw message