You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@synapse.apache.org by "Ruwan Linton (JIRA)" <ji...@apache.org> on 2008/06/04 06:36:45 UTC

[jira] Updated: (SYNAPSE-339) ConcurrentModificationException thrown when trying out caching scenario if the number of messages exceeds the value specified as maxSize

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

Ruwan Linton updated SYNAPSE-339:
---------------------------------

         Priority: Blocker  (was: Major)
    Fix Version/s: 1.2

This issue is caused by an issue in the wso2-caching and I am in the process of getting a new release of this from wso2 with a fix to get this fixed. I hope it will be available as a point release soon and with that we can fix this issue for the 1.2 release

> ConcurrentModificationException thrown when trying out caching scenario if the number of messages exceeds the value specified as maxSize
> ----------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: SYNAPSE-339
>                 URL: https://issues.apache.org/jira/browse/SYNAPSE-339
>             Project: Synapse
>          Issue Type: Bug
>    Affects Versions: 1.2-beta1
>         Environment: Windows XP, JDK1.5.0_14
>            Reporter: Evanthika Amarasiri
>            Assignee: Ruwan Linton
>            Priority: Blocker
>             Fix For: 1.2
>
>
> Steps to reproduce
> 1. The following configuration was tried out with the maxSize value set to 2
> *********************************************************************************************************************
> <definitions xmlns="http://ws.apache.org/ns/synapse">
>     <in>
>         <cache timeout="30" scope="per-host" collector="false"
>                hashGenerator="org.wso2.caching.digest.DOMHASHGenerator" maxMessageSize="1000">
>             <implementation type="memory" maxSize="2"/>
>         </cache>
>         <send>
>             <endpoint>
>                 <address uri="http://localhost:9000/soap/SimpleStockQuoteService"/>
>             </endpoint>
>         </send>
>     </in>
>     <out>
>         <cache collector="true"/>
>         <send/>
>     </out>
> </definitions>
> *********************************************************************************************************************
> 2. Sent requests in the following order
> ant stockquote -Dtrpurl=http://localhost:8280/ -Dsymbol=MSFT
> ant stockquote -Dtrpurl=http://localhost:8280/ -Dsymbol=MSFT
> ant stockquote -Dtrpurl=http://localhost:8280/ -Dsymbol=IBM
> ant stockquote -Dtrpurl=http://localhost:8280/ -Dsymbol=IBM
> ant stockquote -Dtrpurl=http://localhost:8280/ -Dsymbol=SUN
> ant stockquote -Dtrpurl=http://localhost:8280/ -Dsymbol=SUN
> When I sent the 6th request above [ant stockquote -Dtrpurl=http://localhost:8280/ -Dsymbol=SUN] I get the following exception
> *******************************************************************************************************************************************************************************************
> 2008-06-03 15:20:32,750 [10.100.1.228-evanthika] [HttpServerWorker-14] DEBUG SynapseMessageReceiver Synapse received a new message for message mediation...
> 2008-06-03 15:20:32,750 [10.100.1.228-evanthika] [HttpServerWorker-14] DEBUG SynapseMessageReceiver Received To: /
> 2008-06-03 15:20:32,750 [10.100.1.228-evanthika] [HttpServerWorker-14] DEBUG SynapseMessageReceiver SOAPAction: urn:getQuote
> 2008-06-03 15:20:32,750 [10.100.1.228-evanthika] [HttpServerWorker-14] DEBUG SynapseMessageReceiver WSA-Action: urn:getQuote
> 2008-06-03 15:20:32,750 [10.100.1.228-evanthika] [HttpServerWorker-14] DEBUG Axis2SynapseEnvironment Injecting MessageContext
> 2008-06-03 15:20:32,750 [10.100.1.228-evanthika] [HttpServerWorker-14] DEBUG Axis2SynapseEnvironment Using Main Sequence for injected message
> 2008-06-03 15:20:32,750 [10.100.1.228-evanthika] [HttpServerWorker-14] DEBUG SequenceMediator Start : Sequence <main>
> 2008-06-03 15:20:32,750 [10.100.1.228-evanthika] [HttpServerWorker-14] DEBUG SequenceMediator Sequence <SequenceMediator> :: mediate()
> 2008-06-03 15:20:32,750 [10.100.1.228-evanthika] [HttpServerWorker-14] DEBUG InMediator Start : In mediator
> 2008-06-03 15:20:32,750 [10.100.1.228-evanthika] [HttpServerWorker-14] DEBUG InMediator Current message is incoming - executing child mediators
> 2008-06-03 15:20:32,750 [10.100.1.228-evanthika] [HttpServerWorker-14] DEBUG InMediator Sequence <InMediator> :: mediate()
> 2008-06-03 15:20:32,750 [10.100.1.228-evanthika] [HttpServerWorker-14] DEBUG CacheMediator Start : Cache mediator
> 2008-06-03 15:20:32,750 [10.100.1.228-evanthika] [HttpServerWorker-14] DEBUG CacheMediator Looking up cache at scope : per-host with ID : cacheManager
> 2008-06-03 15:20:32,750 [10.100.1.228-evanthika] [HttpServerWorker-14] DEBUG CacheMediator Generated request hash : 1-11146-56-99122-120-89-28-10059-9972-8186105
> Exception in thread "HttpServerWorker-14" java.util.ConcurrentModificationException
>         at java.util.AbstractList$Itr.checkForComodification(Unknown Source)
>         at java.util.AbstractList$Itr.next(Unknown Source)
>         at org.wso2.caching.CacheManager.removeExpiredResponses(CacheManager.java:67)
>         at org.apache.synapse.mediators.builtin.CacheMediator.processRequestMessage(CacheMediator.java:351)
>         at org.apache.synapse.mediators.builtin.CacheMediator.mediate(CacheMediator.java:148)
>         at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:58)
>         at org.apache.synapse.mediators.filters.InMediator.mediate(InMediator.java:60)
>         at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:58)
>         at org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:125)
>         at org.apache.synapse.core.axis2.Axis2SynapseEnvironment.injectMessage(Axis2SynapseEnvironment.java:176)
>         at org.apache.synapse.core.axis2.SynapseMessageReceiver.receive(SynapseMessageReceiver.java:89)
>         at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:176)
>         at org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:275)
>         at org.apache.synapse.transport.nhttp.ServerWorker.processPost(ServerWorker.java:238)
>         at org.apache.synapse.transport.nhttp.ServerWorker.run(ServerWorker.java:194)
>         at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
>         at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
>         at java.lang.Thread.run(Unknown Source)

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