1

I am setting up an API Manager 1.10 cluster, with each component in a separate VM, by following this guide: https://docs.wso2.com/display/CLUSTER44x/Clustering+API+Manager+1.10.0

But when I start the components, I get the following error:

[2016-12-02 17:19:36,249] ERROR - DeploymentSynchronizerComponent Error while initializing a deployment synchronizer for the super tenant Carbon repository
org.wso2.carbon.deployment.synchronizer.DeploymentSynchronizerException: No Repository found for type registry
    at org.wso2.carbon.deployment.synchronizer.repository.CarbonRepositoryUtils.getDefaultDeploymentSyncConfiguration(CarbonRepositoryUtils.java:202)
    at org.wso2.carbon.deployment.synchronizer.repository.CarbonRepositoryUtils.getActiveSynchronizerConfiguration(CarbonRepositoryUtils.java:107)
    at org.wso2.carbon.deployment.synchronizer.repository.CarbonRepositoryUtils.isSynchronizerEnabled(CarbonRepositoryUtils.java:239)
    at org.wso2.carbon.deployment.synchronizer.internal.DeploymentSynchronizerComponent.initDeploymentSynchronizerForSuperTenant(DeploymentSynchronizerComponent.java:90)
    at org.wso2.carbon.deployment.synchronizer.internal.DeploymentSynchronizerComponent.activate(DeploymentSynchronizerComponent.java:67)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.eclipse.equinox.internal.ds.model.ServiceComponent.activate(ServiceComponent.java:260)
    at org.eclipse.equinox.internal.ds.model.ServiceComponentProp.activate(ServiceComponentProp.java:146)
    at org.eclipse.equinox.internal.ds.model.ServiceComponentProp.build(ServiceComponentProp.java:345)
    at org.eclipse.equinox.internal.ds.InstanceProcess.buildComponent(InstanceProcess.java:620)
    at org.eclipse.equinox.internal.ds.InstanceProcess.buildComponents(InstanceProcess.java:197)
    at org.eclipse.equinox.internal.ds.Resolver.getEligible(Resolver.java:343)
    at org.eclipse.equinox.internal.ds.SCRManager.serviceChanged(SCRManager.java:222)
    at org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:107)
    at org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:861)
    at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
    at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148)
    at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:819)
    at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:771)
    at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:130)
    at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:214)
    at org.eclipse.osgi.framework.internal.core.BundleContextImpl.registerService(BundleContextImpl.java:433)
    at org.eclipse.osgi.framework.internal.core.BundleContextImpl.registerService(BundleContextImpl.java:451)
    at org.wso2.carbon.core.init.CarbonServerManager.initializeCarbon(CarbonServerManager.java:514)
    at org.wso2.carbon.core.init.CarbonServerManager.removePendingItem(CarbonServerManager.java:290)
    at org.wso2.carbon.core.init.PreAxis2ConfigItemListener.bundleChanged(PreAxis2ConfigItemListener.java:118)
    at org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:847)
    at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
    at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)

followed by this every few seconds:

ERROR - CarbonDeploymentSchedulerTask Deployment synchronization commit for tenant -1234 failed
java.lang.RuntimeException: org.wso2.carbon.deployment.synchronizer.DeploymentSynchronizerException: No Repository found for type registry
    at org.wso2.carbon.deployment.synchronizer.internal.DeploymentSynchronizerServiceImpl.commit(DeploymentSynchronizerServiceImpl.java:128)
    at org.wso2.carbon.core.deployment.CarbonDeploymentSchedulerTask.deploymentSyncCommit(CarbonDeploymentSchedulerTask.java:298)
    at org.wso2.carbon.core.deployment.CarbonDeploymentSchedulerTask.run(CarbonDeploymentSchedulerTask.java:142)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)
Caused by: org.wso2.carbon.deployment.synchronizer.DeploymentSynchronizerException: No Repository found for type registry
    at org.wso2.carbon.deployment.synchronizer.repository.CarbonRepositoryUtils.getDefaultDeploymentSyncConfiguration(CarbonRepositoryUtils.java:202)
    at org.wso2.carbon.deployment.synchronizer.repository.CarbonRepositoryUtils.getActiveSynchronizerConfiguration(CarbonRepositoryUtils.java:107)
    at org.wso2.carbon.deployment.synchronizer.internal.DeploymentSynchronizerServiceImpl.commit(DeploymentSynchronizerServiceImpl.java:105)
    ... 9 more

Also all my css and javascript won't load in the api-store component. I am getting 405 (Get Method not allowed) on all resources.

I am not sure where I am going wrong in both cases.

blue13
  • 101
  • 6
  • 1
    Do you have dep sync enabled? – Bee Dec 02 '16 at 17:43
  • 1
    The error seems to be related ti depsync. Which is responsible of syncing artifacts between node. By default it is disabled. Can you check the carbon.xml file section – Thusitha Thilina Dayaratne Dec 04 '16 at 02:06
  • @ThusithaThilinaDayaratne I had that section commented out. Setting it to false, solved the issue. Thanks! Do you know why my css/js scripts wont load for my api store? – blue13 Dec 05 '16 at 10:46
  • Have you customized the store and your your custom css/js are not loading ? – Jenananthan Dec 08 '16 at 06:28
  • @Jenananthan I haven't done any customizations. I am using the 'fancy' theme that comes as default. – blue13 Dec 12 '16 at 09:58
  • Do you have any redundant nodes (i.e. multiple gateways)? If so, you're going to need deployment synchronization. We were also unaware of this, and were not thrilled to have to stand up an SVN server to sync up the nodes. – Kjata30 Dec 20 '16 at 20:03
  • @Kjata30 I do have a set up with multiple gateways. Deployment synchronization is not strictly necessary is it? – blue13 Mar 30 '17 at 16:17
  • @blue13 Unfortunately yes, it is. When you publish a change to an API, the publisher node will POST the new or updated API definition XML document to the (single) gateway node you have configured for that publisher instance. Without deployment synchronization (or some similar service), the other gateway nodes will never receive the new or updated definition and requests hitting those gateways for that particular API will likely fail. – Kjata30 Apr 11 '17 at 14:57

1 Answers1

0

Setting the DeploymentSynchronization in WSO2_AM_HOME/repository/conf/carbon.xml to false as advised by @Thusitha solved the issue.

The CSS not loading was solved by following this article: https://docs.wso2.com/display/AM1100/Adding+a+Reverse+Proxy+Server

blue13
  • 101
  • 6