[prev in list] [next in list] [prev in thread] [next in thread] 

List:       synapse-dev
Subject:    [jira] Created: (SYNAPSE-434) Concurrency level provided by the
From:       "Andreas Veithen (JIRA)" <jira () apache ! org>
Date:       2008-08-23 16:29:44
Message-ID: 1425556922.1219508984300.JavaMail.jira () brutus
[Download RAW message or body]

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
            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.
-
You can reply to this email to add a comment to the issue online.


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


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic