Looks like DeploymentEngine#addDeployer method is called from all the synapse artifact related deployer components, which can cause this concurrent modification exception intermittently. I can reproduce this in ESB with some sleep introduced at axis2 level for RepositoryListener# loadOtherDirectories.
A fix has to be added at axis2 level, since there are number of places in synapse initialization process where the addDeployer method is called. We can properly handle this at axis2 level by synchronizing the deployerMap object in places (loadOtherDirectories & addDeployer). But then the question would be will this cause any impact on the performance? Since addDeployer only gets called during server start-up and tenant loading, I think we can go ahead. Thoughts? Thanks, Kishanthan. On Wed, Nov 13, 2013 at 9:38 AM, Dushan Abeyruwan <[email protected]> wrote: > rtifact repository at : > /home/dushan/poc/server/4.1.2-pack/connnector-works/worker_mgr/wso2esb-4.8.0-mgr/repository/tenants/1/synapse-configs/default > [2013-11-13 09:33:02,105] INFO - Axis2SynapseController Loading mediator > extensions... > [2013-11-13 09:33:02,108] ERROR - CarbonDeploymentSchedulerTask Error > while running deployment scheduler.. > java.util.ConcurrentModificationException > at java.util.HashMap$HashIterator.nextEntry(HashMap.java:793) > at java.util.HashMap$EntryIterator.next(HashMap.java:834) > at java.util.HashMap$EntryIterator.next(HashMap.java:832) > at > org.apache.axis2.deployment.RepositoryListener.loadOtherDirectories(RepositoryListener.java:270) > at > org.apache.axis2.deployment.RepositoryListener.checkServices(RepositoryListener.java:253) > at > org.apache.axis2.deployment.RepositoryListener.startListener(RepositoryListener.java:371) > at > org.apache.axis2.deployment.scheduler.SchedulerTask.checkRepository(SchedulerTask.java:59) > at > org.apache.axis2.deployment.scheduler.SchedulerTask.run(SchedulerTask.java:67) > at > org.wso2.carbon.core.deployment.CarbonDeploymentSchedulerTask.runAxisDeployment(CarbonDeploymentSchedulerTask.java:79) > at > org.wso2.carbon.core.deployment.CarbonDeploymentSchedulerTask.run(CarbonDeploymentSchedulerTask.java:124) > at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) > at > java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317) > at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150) > at > java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98) > at > java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:180) > at > java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:204) > at > java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) > at java.lang.Thread.run(Thread.java:662) > [2013-11-13 09:33:02,250] INFO - LibraryArtifactDeployer Synapse Library > named '{org.wso2.carbon.connectors}salesforce' has been deployed from file > : > /home/dushan/poc/server/4.1.2-pack/connnector-works/worker_mgr/wso2esb-4.8.0-mgr/repository/tenants/1/synapse-libs/salesforce-connector.zip > [2013-11-13 09:33:02,439] INFO - LibraryArtifactDeployer Synapse Library > named '{org.wso2.carbon.connectors}googlespreadsheet' has been deployed > from file : > /home/dushan/poc/server/4.1.2-pack/connnector-works/worker_mgr/wso2esb-4.8.0-mgr/repository/tenants/1/synapse-libs/googlespreadsheet-connect > > Cheers, > Dushan Abeyruwan > Associate Tech Lead > *Integration Technologies Team* > *WSO2 Inc. http://wso2.com/ <http://wso2.com/>* > *Mobile:(+94)714408632 <%28%2B94%29714408632>* > -- *Kishanthan Thangarajah* Senior Software Engineer, Platform Technologies Team, WSO2, Inc. lean.enterprise.middleware Mobile - +94773426635 Blog - *http://kishanthan.wordpress.com <http://kishanthan.wordpress.com>* Twitter - *http://twitter.com/kishanthan <http://twitter.com/kishanthan>*
_______________________________________________ Dev mailing list [email protected] http://wso2.org/cgi-bin/mailman/listinfo/dev
