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

Bernd Fondermann updated VYSPER-337:
------------------------------------

    Description: 
Currently, StanzaRelays typically act as a "stage", in that they queue and 
process stanzas.
The most important one probably is DeliveringInternalInboundStanzaRelay.
If multiple stanzas are queued intentionally in a certain sequence (A, B), the 
relay's queue ensures that processing of stanzas (i.e. assignment to threads 
from the pool) starts in that sequence.

The weak point is that B's processing can be finished before A's. This is not a 
problem if A is delivered to a different session than B. However, if both, A 
and B, are delivered to the same session, the sequence has changed, which may 
be unwanted. (Example: A: presence for a MUC room, B: history message for the 
same room.) 


  was:
Currently, StanzaRelays typically act as a "stage", in that they queue and 
process stanzas.
The most important one probably is DeliveringInternalInboundStanzaRelay.
If multiple stanzas are queued intentionally in a certain sequence (A, B), the 
relay's queue ensures that processing of stanzas (i.e. assignment to threads 
from the pool) starts in that sequence.

The weak point is that B's processing can finished before A's. This is not a 
problem if A is delivered to a different session than B. However, if both, A 
and B, are delivered to the same session, the sequence has changed, which may 
be unwanted. (Example: A: presence for a MUC room, B: history message for the 
same room.) 


    
> Sequential processing of stanzas per StanzaRelay
> ------------------------------------------------
>
>                 Key: VYSPER-337
>                 URL: https://issues.apache.org/jira/browse/VYSPER-337
>             Project: VYSPER
>          Issue Type: Improvement
>          Components: stanza routing
>    Affects Versions: 0.7
>            Reporter: Bernd Fondermann
>            Assignee: Bernd Fondermann
>
> Currently, StanzaRelays typically act as a "stage", in that they queue and 
> process stanzas.
> The most important one probably is DeliveringInternalInboundStanzaRelay.
> If multiple stanzas are queued intentionally in a certain sequence (A, B), 
> the relay's queue ensures that processing of stanzas (i.e. assignment to 
> threads from the pool) starts in that sequence.
> The weak point is that B's processing can be finished before A's. This is not 
> a problem if A is delivered to a different session than B. However, if both, 
> A and B, are delivered to the same session, the sequence has changed, which 
> may be unwanted. (Example: A: presence for a MUC room, B: history message for 
> the same room.) 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to