synapse-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Hiranya Jayathilaka (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (SYNAPSE-434) Concurrency level provided by the mail and VFS transports listeners is insufficient
Date Sun, 28 Jul 2013 00:05:48 GMT

    [ https://issues.apache.org/jira/browse/SYNAPSE-434?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13721804#comment-13721804
] 

Hiranya Jayathilaka commented on SYNAPSE-434:
---------------------------------------------

I assume this is fixed now? Andreas, can we resolve this?
                
> Concurrency level provided by the mail and VFS transports listeners is insufficient
> -----------------------------------------------------------------------------------
>
>                 Key: SYNAPSE-434
>                 URL: https://issues.apache.org/jira/browse/SYNAPSE-434
>             Project: Synapse
>          Issue Type: Bug
>          Components: Transports
>    Affects Versions: 1.2
>            Reporter: Andreas Veithen
>            Assignee: Andreas Veithen
>            Priority: Minor
>
> Scenario:
> * Two services are configured to use the (mail or VFS) transport.
> * Two messages are sent two each of these services.
> In this case, one would expect that the transport listener will be able to process at
least 2 (better 4) messages concurrently. However the listener currently only processes one
message at a time, i.e. the listener behaves as if it was single-threaded.
> There are two reasons for this:
> 1. AbstractPollingTransportListener contains the following code:
> workerPool.execute(new Runnable() {
>     public void run() {
>         synchronized (pollLock) {
>             pollInProgress = true;
>             try {
>                 onPoll();
>             } finally {
>                 pollInProgress = false;
>             }
>         }
>     }
> });
> Since pollLock is a member of AbstractPollingTransportListener, there can only be one
poll in progress at a time, even if several services are configured to use the transport (in
which case nothing would prevent the transport from executing the polls for the different
services in parallel).
> 2. Both MailTransportListener and VFSTransportListener process incoming messages sequentially.
Here again, the transport could process several messages in parallel during the execution
of the onPoll method.

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

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@synapse.apache.org
For additional commands, e-mail: dev-help@synapse.apache.org


Mime
View raw message