Details

      Description

      Steps to reproduce issue:

      1. Set up portal-ext.properties for clustering using JDBC_PING
        cluster.link.channel.properties.control=UDP(bind_addr=${cluster.link.bind.addr["cluster-link-control"]};mcast_group_addr=${multicast.group.address["cluster-link-control"]};mcast_port=${multicast.group.port["cluster-link-control"]}):JDBC_PING(connection_driver=${jdbc.default.driverClassName};connection_url=${jdbc.default.url};connection_username=${jdbc.default.username};connection_password=${jdbc.default.password}):MERGE3(min_interval=10000;max_interval=30000):FD_SOCK:FD_ALL:VERIFY_SUSPECT(timeout=1500):pbcast.NAKACK2(xmit_interval=500;xmit_table_num_rows=100;xmit_table_msgs_per_row=2000;xmit_table_max_compaction_time=30000;max_msg_batch_size=500;use_mcast_xmit=false;discard_delivered_msgs=true):UNICAST3(xmit_interval=500;xmit_table_num_rows=100;xmit_table_msgs_per_row=2000;xmit_table_max_compaction_time=60000;conn_expiry_timeout=0;max_msg_batch_size=500):pbcast.STABLE(stability_delay=1000;desired_avg_gossip=50000;max_bytes=4M):pbcast.GMS(join_timeout=2000;print_local_addr=true;view_bundling=true):UFC(max_credits=2M;min_threshold=0.4):MFC(max_credits=2M;min_threshold=0.4):FRAG2(frag_size=60K):RSVP(resend_interval=2000;timeout=10000)
        
        cluster.link.autodetect.address=
        
        cluster.link.enabled=true
        
      2. Configure server.xml in bundles for clustering
      3. Start up bundle

      Expected result: Bundle starts up with no exceptions
      Actual result: Exceptions are thrown

      04:33:32,500 WARN  [main][com_liferay_portal_search_elasticsearch6_impl:103] bundle com.liferay.portal.search.elasticsearch6.impl:3.0.0 (175)[com.liferay.portal.search.elasticsearch6.internal.connection.EmbeddedElasticsearchConnection(263)] : Could not get service from ref {com.liferay.portal.search.elasticsearch6.settings.SettingsContributor}={service.id=330, service.bundleid=175, service.scope=bundle, operation.mode=EMBEDDED, felix.fileinstall.filename=file:/opt/dev/projects/github/liferay-portal/bundles/osgi/configs/com.liferay.portal.search.elasticsearch6.configuration.ElasticsearchConfiguration.config, operationMode=REMOTE, service.pid=com.liferay.portal.search.elasticsearch6.configuration.ElasticsearchConfiguration, component.name=com.liferay.portal.search.elasticsearch6.internal.cluster.UnicastSettingsContributor, logExceptionsOnly=false, component.id=261} 
      04:33:32,602 ERROR [main][com_liferay_portal_cluster_multiple:97] bundle com.liferay.portal.cluster.multiple:3.0.0 (88)[com.liferay.portal.cluster.multiple.internal.ClusterExecutorImpl(51)] : The activate method has thrown an exception 
      com.liferay.portal.kernel.exception.SystemException: Unable to initial cluster channel liferay-channel-control
      	at com.liferay.portal.cluster.multiple.internal.jgroups.JGroupsClusterChannel.<init>(JGroupsClusterChannel.java:109)
      	at com.liferay.portal.cluster.multiple.internal.jgroups.JGroupsClusterChannelFactory.createClusterChannel(JGroupsClusterChannelFactory.java:68)
      	at com.liferay.portal.cluster.multiple.internal.ClusterExecutorImpl.initialize(ClusterExecutorImpl.java:521)
      	at com.liferay.portal.cluster.multiple.internal.ClusterExecutorImpl.activate(ClusterExecutorImpl.java:247)
      	at sun.reflect.GeneratedMethodAccessor113.invoke(Unknown Source)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      	at java.lang.reflect.Method.invoke(Method.java:498)
      	at org.apache.felix.scr.impl.inject.methods.BaseMethod.invokeMethod(BaseMethod.java:228)
      	at org.apache.felix.scr.impl.inject.methods.BaseMethod.access$500(BaseMethod.java:41)
      	at org.apache.felix.scr.impl.inject.methods.BaseMethod$Resolved.invoke(BaseMethod.java:664)
      	at org.apache.felix.scr.impl.inject.methods.BaseMethod.invoke(BaseMethod.java:510)
      	at org.apache.felix.scr.impl.inject.methods.ActivateMethod.invoke(ActivateMethod.java:317)
      	at org.apache.felix.scr.impl.inject.methods.ActivateMethod.invoke(ActivateMethod.java:307)
      	at org.apache.felix.scr.impl.manager.SingleComponentManager.createImplementationObject(SingleComponentManager.java:341)
      	at org.apache.felix.scr.impl.manager.SingleComponentManager.createComponent(SingleComponentManager.java:114)
      	at org.apache.felix.scr.impl.manager.SingleComponentManager.getService(SingleComponentManager.java:983)
      	at org.apache.felix.scr.impl.manager.SingleComponentManager.getServiceInternal(SingleComponentManager.java:956)
      	at org.apache.felix.scr.impl.manager.SingleComponentManager.getService(SingleComponentManager.java:901)
      	at org.eclipse.osgi.internal.serviceregistry.ServiceFactoryUse$1.run(ServiceFactoryUse.java:212)
      	at java.security.AccessController.doPrivileged(Native Method)
      	at org.eclipse.osgi.internal.serviceregistry.ServiceFactoryUse.factoryGetService(ServiceFactoryUse.java:210)
      	at org.eclipse.osgi.internal.serviceregistry.ServiceFactoryUse.getService(ServiceFactoryUse.java:111)
      	at org.eclipse.osgi.internal.serviceregistry.ServiceConsumer$2.getService(ServiceConsumer.java:45)
      	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.getService(ServiceRegistrationImpl.java:524)
      	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.getService(ServiceRegistry.java:464)
      	at org.eclipse.osgi.internal.framework.BundleContextImpl.getService(BundleContextImpl.java:624)
      	at org.apache.felix.scr.impl.manager.SingleRefPair.getServiceObject(SingleRefPair.java:73)
      	at org.apache.felix.scr.impl.inject.BindParameters.getServiceObject(BindParameters.java:47)
      	at org.apache.felix.scr.impl.inject.field.FieldHandler$ReferenceMethodImpl.getServiceObject(FieldHandler.java:519)
      	at org.apache.felix.scr.impl.manager.DependencyManager.getServiceObject(DependencyManager.java:2308)
      	at org.apache.felix.scr.impl.manager.DependencyManager$SingleStaticCustomizer.prebind(DependencyManager.java:1162)
      	at org.apache.felix.scr.impl.manager.DependencyManager.prebind(DependencyManager.java:1576)
      	at org.apache.felix.scr.impl.manager.AbstractComponentManager.collectDependencies(AbstractComponentManager.java:1029)
      	at org.apache.felix.scr.impl.manager.SingleComponentManager.getServiceInternal(SingleComponentManager.java:936)
      	at org.apache.felix.scr.impl.manager.SingleComponentManager.getService(SingleComponentManager.java:901)
      	at org.eclipse.osgi.internal.serviceregistry.ServiceFactoryUse$1.run(ServiceFactoryUse.java:212)
      	at java.security.AccessController.doPrivileged(Native Method)
      	at org.eclipse.osgi.internal.serviceregistry.ServiceFactoryUse.factoryGetService(ServiceFactoryUse.java:210)
      	at org.eclipse.osgi.internal.serviceregistry.ServiceFactoryUse.getService(ServiceFactoryUse.java:111)
      	at org.eclipse.osgi.internal.serviceregistry.ServiceConsumer$2.getService(ServiceConsumer.java:45)
      	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.getService(ServiceRegistrationImpl.java:524)
      	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.getService(ServiceRegistry.java:464)
      	at org.eclipse.osgi.internal.framework.BundleContextImpl.getService(BundleContextImpl.java:624)
      	at org.apache.felix.scr.impl.manager.SingleRefPair.getServiceObject(SingleRefPair.java:73)
      	at org.apache.felix.scr.impl.inject.BindParameters.getServiceObject(BindParameters.java:47)
      	at org.apache.felix.scr.impl.inject.field.FieldHandler$ReferenceMethodImpl.getServiceObject(FieldHandler.java:519)
      	at org.apache.felix.scr.impl.manager.DependencyManager.getServiceObject(DependencyManager.java:2308)
      	at org.apache.felix.scr.impl.manager.DependencyManager$SingleStaticCustomizer.prebind(DependencyManager.java:1162)
      	at org.apache.felix.scr.impl.manager.DependencyManager.prebind(DependencyManager.java:1576)
      	at org.apache.felix.scr.impl.manager.AbstractComponentManager.collectDependencies(AbstractComponentManager.java:1029)
      	at org.apache.felix.scr.impl.manager.SingleComponentManager.getServiceInternal(SingleComponentManager.java:936)
      	at org.apache.felix.scr.impl.manager.SingleComponentManager.getService(SingleComponentManager.java:901)
      	at org.eclipse.osgi.internal.serviceregistry.ServiceFactoryUse$1.run(ServiceFactoryUse.java:212)
      	at java.security.AccessController.doPrivileged(Native Method)
      	at org.eclipse.osgi.internal.serviceregistry.ServiceFactoryUse.factoryGetService(ServiceFactoryUse.java:210)
      	at org.eclipse.osgi.internal.serviceregistry.ServiceFactoryUse.getService(ServiceFactoryUse.java:111)
      	at org.eclipse.osgi.internal.serviceregistry.ServiceConsumer$2.getService(ServiceConsumer.java:45)
      	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.getService(ServiceRegistrationImpl.java:524)
      	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.getService(ServiceRegistry.java:464)
      	at org.eclipse.osgi.internal.framework.BundleContextImpl.getService(BundleContextImpl.java:624)
      	at org.apache.felix.scr.impl.manager.SingleRefPair.getServiceObject(SingleRefPair.java:73)
      	at org.apache.felix.scr.impl.inject.BindParameters.getServiceObject(BindParameters.java:47)
      	at org.apache.felix.scr.impl.inject.methods.BindMethod.getServiceObject(BindMethod.java:664)
      	at org.apache.felix.scr.impl.manager.DependencyManager.getServiceObject(DependencyManager.java:2308)
      	at org.apache.felix.scr.impl.manager.DependencyManager$SingleStaticCustomizer.prebind(DependencyManager.java:1162)
      	at org.apache.felix.scr.impl.manager.DependencyManager.prebind(DependencyManager.java:1576)
      	at org.apache.felix.scr.impl.manager.AbstractComponentManager.collectDependencies(AbstractComponentManager.java:1029)
      	at org.apache.felix.scr.impl.manager.SingleComponentManager.getServiceInternal(SingleComponentManager.java:936)
      	at org.apache.felix.scr.impl.manager.SingleComponentManager.getService(SingleComponentManager.java:901)
      	at org.eclipse.osgi.internal.serviceregistry.ServiceFactoryUse$1.run(ServiceFactoryUse.java:212)
      	at java.security.AccessController.doPrivileged(Native Method)
      	at org.eclipse.osgi.internal.serviceregistry.ServiceFactoryUse.factoryGetService(ServiceFactoryUse.java:210)
      	at org.eclipse.osgi.internal.serviceregistry.ServiceFactoryUse.getService(ServiceFactoryUse.java:111)
      	at org.eclipse.osgi.internal.serviceregistry.ServiceConsumer$2.getService(ServiceConsumer.java:45)
      	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.getService(ServiceRegistrationImpl.java:524)
      	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.getService(ServiceRegistry.java:464)
      	at org.eclipse.osgi.internal.framework.BundleContextImpl.getService(BundleContextImpl.java:624)
      	at com.liferay.portal.osgi.debug.declarative.service.internal.SoftCircularDependencyUtil._createClosureNavigationMap(SoftCircularDependencyUtil.java:145)
      	at com.liferay.portal.osgi.debug.declarative.service.internal.SoftCircularDependencyUtil.listSoftCircularDependencies(SoftCircularDependencyUtil.java:65)
      	at com.liferay.portal.osgi.debug.declarative.service.internal.DeclarativeServiceSoftCircularDependencySystemChecker.check(DeclarativeServiceSoftCircularDependencySystemChecker.java:34)
      	at com.liferay.portal.osgi.debug.internal.osgi.commands.SystemCheckOSGiCommands._check(SystemCheckOSGiCommands.java:114)
      	at com.liferay.portal.osgi.debug.internal.osgi.commands.SystemCheckOSGiCommands.activate(SystemCheckOSGiCommands.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.apache.felix.scr.impl.inject.methods.BaseMethod.invokeMethod(BaseMethod.java:228)
      	at org.apache.felix.scr.impl.inject.methods.BaseMethod.access$500(BaseMethod.java:41)
      	at org.apache.felix.scr.impl.inject.methods.BaseMethod$Resolved.invoke(BaseMethod.java:664)
      	at org.apache.felix.scr.impl.inject.methods.BaseMethod.invoke(BaseMethod.java:510)
      	at org.apache.felix.scr.impl.inject.methods.ActivateMethod.invoke(ActivateMethod.java:317)
      	at org.apache.felix.scr.impl.inject.methods.ActivateMethod.invoke(ActivateMethod.java:307)
      	at org.apache.felix.scr.impl.manager.SingleComponentManager.createImplementationObject(SingleComponentManager.java:341)
      	at org.apache.felix.scr.impl.manager.SingleComponentManager.createComponent(SingleComponentManager.java:114)
      	at org.apache.felix.scr.impl.manager.SingleComponentManager.getService(SingleComponentManager.java:983)
      	at org.apache.felix.scr.impl.manager.SingleComponentManager.getServiceInternal(SingleComponentManager.java:956)
      	at org.apache.felix.scr.impl.manager.AbstractComponentManager.activateInternal(AbstractComponentManager.java:756)
      	at org.apache.felix.scr.impl.manager.DependencyManager$SingleStaticCustomizer.addedService(DependencyManager.java:1053)
      	at org.apache.felix.scr.impl.manager.DependencyManager$SingleStaticCustomizer.addedService(DependencyManager.java:1007)
      	at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerAdded(ServiceTracker.java:1216)
      	at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerAdded(ServiceTracker.java:1137)
      	at org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.trackAdding(ServiceTracker.java:944)
      	at org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.track(ServiceTracker.java:880)
      	at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:1168)
      	at org.apache.felix.scr.impl.BundleComponentActivator$ListenerInfo.serviceChanged(BundleComponentActivator.java:125)
      	at org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:109)
      	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:891)
      	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:804)
      	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:127)
      	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:228)
      	at org.eclipse.osgi.internal.framework.BundleContextImpl.registerService(BundleContextImpl.java:469)
      	at org.eclipse.osgi.internal.framework.BundleContextImpl.registerService(BundleContextImpl.java:487)
      	at org.eclipse.osgi.internal.framework.BundleContextImpl.registerService(BundleContextImpl.java:1004)
      	at com.liferay.registry.internal.RegistryImpl.registerService(RegistryImpl.java:369)
      	at com.liferay.portal.internal.servlet.MainServlet._registerPortalInitialized(MainServlet.java:1295)
      	at com.liferay.portal.internal.servlet.MainServlet.init(MainServlet.java:462)
      	at javax.servlet.GenericServlet.init(GenericServlet.java:158)
      	at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1124)
      	at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1079)
      	at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:971)
      	at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4829)
      	at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5143)
      	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
      	at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:742)
      	at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:718)
      	at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:703)
      	at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:630)
      	at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1840)
      	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
      	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
      	at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
      	at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:112)
      	at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:525)
      	at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:424)
      	at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1585)
      	at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:308)
      	at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123)
      	at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:424)
      	at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:367)
      	at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:966)
      	at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:839)
      	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
      	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1427)
      	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1417)
      	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
      	at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
      	at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:134)
      	at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:943)
      	at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:258)
      	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
      	at org.apache.catalina.core.StandardService.startInternal(StandardService.java:422)
      	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
      	at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:770)
      	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
      	at org.apache.catalina.startup.Catalina.start(Catalina.java:682)
      	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.apache.catalina.startup.Bootstrap.start(Bootstrap.java:350)
      	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:492)
      Caused by: java.lang.IllegalArgumentException: JDBC Driver required for JDBC_PING protocol could not be loaded: 'com.mysql.cj.jdbc.Driver'
      	at org.jgroups.protocols.JDBC_PING.loadDriver(JDBC_PING.java:327)
      	at org.jgroups.protocols.JDBC_PING.init(JDBC_PING.java:127)
      	at org.jgroups.stack.ProtocolStack.initProtocolStack(ProtocolStack.java:860)
      	at org.jgroups.stack.ProtocolStack.setup(ProtocolStack.java:481)
      	at org.jgroups.JChannel.init(JChannel.java:854)
      	at org.jgroups.JChannel.<init>(JChannel.java:159)
      	at org.jgroups.JChannel.<init>(JChannel.java:139)
      	at com.liferay.portal.cluster.multiple.internal.jgroups.JGroupsClusterChannel.<init>(JGroupsClusterChannel.java:71)
      	... 160 more
      

      Reproduced on:
      Tomcat 9.0.10 + MySQL 8.0
      Portal master GIT ID:0a3d21e3025b39246f76fa88067a8087974e8000

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                anthony.chu Anthony Chu
                Reporter:
                anthony.chu Anthony Chu
                Participants of an Issue:
                Recent user:
                Anthony Chu
              • Votes:
                0 Vote for this issue
                Watchers:
                1 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:
                  Days since last comment:
                  14 weeks, 5 days ago

                  Packages

                  Version Package
                  Master