]
Michal Babacek commented on MODCLUSTER-411:
-------------------------------------------
Hmm, it's actually most likely Tomcat6/7 mod_cluster libraries mismatch, see: [BZ
java.lang.NoSuchFieldError: SESSION_COOKIE_NAME, Tomcat7
--------------------------------------------------------
Key: MODCLUSTER-411
URL:
https://issues.jboss.org/browse/MODCLUSTER-411
Project: mod_cluster
Issue Type: Bug
Affects Versions: 1.2.8.Final
Environment: oracle JDK 1.7, Tomcat 7, Windows, Apache Tomcat Native library
1.1.30 using APR version 1.4.8
Reporter: Michal Babacek
Assignee: Jean-Frederic Clere
Fix For: 1.2.9.Final
mod_cluster in Tomcat 7 on Windows fails to register with Apache HTTP Server:
{code}
May 28, 2014 10:52:03 AM org.apache.catalina.core.AprLifecycleListener init
INFO: Loaded APR based Apache Tomcat Native library 1.1.30 using APR version 1.4.8.
May 28, 2014 10:52:03 AM org.apache.catalina.core.AprLifecycleListener init
INFO: APR capabilities: IPv6 [true], sendfile [true], accept filters [false], random
[true].
May 28, 2014 10:52:03 AM org.apache.catalina.core.AprLifecycleListener initializeSSL
INFO: OpenSSL successfully initialized (OpenSSL 0.9.8e-fips-rhel5 01 Jul 2008)
May 28, 2014 10:52:04 AM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["http-apr-192.168.122.24-8080"]
May 28, 2014 10:52:04 AM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["ajp-apr-192.168.122.24-8009"]
May 28, 2014 10:52:04 AM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 1892 ms
May 28, 2014 10:52:04 AM org.jboss.modcluster.ModClusterService init
INFO: MODCLUSTER000001: Initializing mod_cluster version ${project.version}
May 28, 2014 10:52:04 AM org.jboss.modcluster.advertise.impl.AdvertiseListenerImpl start
INFO: MODCLUSTER000032: Listening to proxy advertisements on /224.0.7.222:43294
May 28, 2014 10:52:04 AM org.apache.catalina.core.StandardService startInternal
INFO: Starting service Catalina
May 28, 2014 10:52:04 AM org.apache.catalina.core.StandardEngine startInternal
INFO: Starting Servlet Engine: Apache Tomcat/7.0.52
May 28, 2014 10:52:04 AM org.apache.catalina.startup.HostConfig deployWAR
INFO: Deploying web application archive C:\Program
Files\jboss-ews-2.1\share\tomcat7\webapps\clusterbench.war
May 28, 2014 10:52:06 AM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory C:\Program
Files\jboss-ews-2.1\share\tomcat7\webapps\docs
May 28, 2014 10:52:06 AM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory C:\Program
Files\jboss-ews-2.1\share\tomcat7\webapps\examples
May 28, 2014 10:52:06 AM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory C:\Program
Files\jboss-ews-2.1\share\tomcat7\webapps\host-manager
May 28, 2014 10:52:07 AM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory C:\Program
Files\jboss-ews-2.1\share\tomcat7\webapps\manager
May 28, 2014 10:52:07 AM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory C:\Program
Files\jboss-ews-2.1\share\tomcat7\webapps\ROOT
May 28, 2014 10:52:07 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-apr-192.168.122.24-8080"]
May 28, 2014 10:52:08 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-apr-192.168.122.24-8009"]
May 28, 2014 10:52:08 AM org.apache.catalina.startup.Catalina start
INFO: Server startup in 3876 ms
May 28, 2014 10:52:18 AM
org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor processChildren
SEVERE: Exception invoking periodic operation:
java.lang.NoSuchFieldError: SESSION_COOKIE_NAME
at
org.jboss.modcluster.container.jbossweb.JBossWebEngine.getSessionCookieName(JBossWebEngine.java:43)
at
org.jboss.modcluster.mcmp.impl.DefaultMCMPRequestFactory.createConfigRequest(DefaultMCMPRequestFactory.java:127)
at
org.jboss.modcluster.mcmp.impl.ResetRequestSourceImpl.getResetRequests(ResetRequestSourceImpl.java:89)
at
org.jboss.modcluster.mcmp.impl.DefaultMCMPHandler.status(DefaultMCMPHandler.java:384)
at
org.jboss.modcluster.mcmp.impl.DefaultMCMPHandler.status(DefaultMCMPHandler.java:350)
at org.jboss.modcluster.ModClusterService.status(ModClusterService.java:458)
at
org.jboss.modcluster.container.catalina.CatalinaEventHandlerAdapter.lifecycleEvent(CatalinaEventHandlerAdapter.java:249)
at
org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1374)
at
org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1530)
at
org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1519)
at java.lang.Thread.run(Thread.java:745)
May 28, 2014 10:52:28 AM
org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor processChildren
SEVERE: Exception invoking periodic operation:
java.lang.NoSuchMethodError: org.apache.catalina.connector.Connector.isAvailable()Z
at
org.jboss.modcluster.container.jbossweb.JBossWebConnector.isAvailable(JBossWebConnector.java:39)
at org.jboss.modcluster.ModClusterService.status(ModClusterService.java:464)
at
org.jboss.modcluster.container.catalina.CatalinaEventHandlerAdapter.lifecycleEvent(CatalinaEventHandlerAdapter.java:249)
at
org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1374)
at
org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1530)
at
org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1519)
at java.lang.Thread.run(Thread.java:745)
+++
repeats...
{code}
On the Apache HTTP Server side, it looks very weird, because there is an INFO message
from Tomcat 7, but no CONFIG...
{code}
[notice] Apache/2.2.26 (Win64) DAV/2 mod_cluster/1.2.8.Final configured -- resuming
normal operations
[notice] Server built: May 13 2014 08:51:33
[notice] Parent: Created child process 3432
[debug] mpm_winnt.c(477): Parent: Sent the scoreboard to the child
[debug] util_ldap.c(1990): LDAP merging Shared Cache conf: shm=0x6833e0 rmm=0x683438 for
VHOST: WIN-NKI15SIE9RC
[info] APR LDAP: Built with Microsoft Corporation. LDAP SDK
[info] LDAP: SSL support unavailable: LDAP: CA certificates cannot be set using this
method, as they are stored in the registry instead.
[notice] Digest: generating secret for digest authentication ...
[notice] Digest: done
[debug] mod_advertise.c(589): [3432 - 3460] in child post config hook
[notice] Child 3432: Child process is running
[debug] mpm_winnt.c(398): Child 3432: Retrieved our scoreboard from the parent.
[info] Parent: Duplicating socket 268 and sending it to child process 3432
[info] Parent: Duplicating socket 260 and sending it to child process 3432
[debug] mpm_winnt.c(595): Parent: Sent 2 listeners to child 3432
[debug] mpm_winnt.c(554): Child 3432: retrieved 2 listeners from parent
[debug] proxy_util.c(1825): proxy: grabbed scoreboard slot 0 in child 3432 for worker
proxy:reverse
[debug] proxy_util.c(1921): proxy: initialized worker 0 in child 3432 for (*) min=0
max=150 smax=150
[notice] Child 3432: Acquired the start mutex.
[notice] Child 3432: Starting 150 worker threads.
[notice] Child 3432: Starting thread to listen on port 2181.
[notice] Child 3432: Starting thread to listen on port 8847.
[debug] mod_manager.c(1901): manager_trans INFO (/)
[debug] mod_manager.c(2617): manager_handler INFO (C:/) processing: ""
[debug] mod_manager.c(2666): manager_handler INFO OK
[debug] mod_manager.c(1901): manager_trans INFO (/)
[debug] mod_manager.c(2617): manager_handler INFO (C:/) processing: ""
[debug] mod_manager.c(2666): manager_handler INFO OK
--end of the log, no more relevant messages--
{code}
Tomcat 7 configuration:
{code}
<Listener
className="org.jboss.modcluster.container.catalina.standalone.ModClusterListener"
loadMetricClass="org.jboss.modcluster.load.metric.impl.BusyConnectorsLoadMetric"
loadMetricCapacity="1"
loadHistory="9"
loadDecayFactor="2"
stickySession="true"
stickySessionForce="false"
stickySessionRemove="true"
advertise="true"
advertiseGroupAddress="224.0.7.222"
advertisePort="43294" />
{code}
Nothing suspicious in the Apache HTTP Server mod_cluster config:
{code}
MemManagerFile "C:\Program Files\jboss-ews-2.1\var\cache\mod_cluster"
ServerName WIN-NKI15SIE9RC:2181
<IfModule manager_module>
Listen 192.168.122.24:8847
LogLevel debug
<VirtualHost 192.168.122.24:8847>
ServerName WIN-NKI15SIE9RC:8847
<Directory />
Order deny,allow
Deny from all
Allow from all
</Directory>
KeepAliveTimeout 60
MaxKeepAliveRequests 0
ServerAdvertise on
AdvertiseFrequency 5
ManagerBalancerName qacluster
AdvertiseGroup 224.0.7.222:43294
EnableMCPMReceive
<Location /mcm>
SetHandler mod_cluster-manager
Order deny,allow
Deny from all
Allow from all
</Location>
</VirtualHost>
</IfModule>
{code}
I'm unable to hit it on RHEL.