Bug 39603 - admin application does not display contexts under host when in a Tomcat cluster
admin application does not display contexts under host when in a Tomcat cluster
Status: RESOLVED FIXED
Product: Tomcat 5
Classification: Unclassified
Component: Webapps:Administration
5.5.20
All All
: P2 normal (vote)
: ---
Assigned To: Tomcat Developers Mailing List
:
Depends on:
Blocks:
  Show dependency tree
 
Reported: 2006-05-17 19:24 UTC by Tim Lucia
Modified: 2009-07-10 03:32 UTC (History)
0 users



Attachments
Patch that fixes this bug (835 bytes, application/octet-stream)
2009-07-09 06:51 UTC, Mark Thomas
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Tim Lucia 2006-05-17 19:24:29 UTC
If I deploy a war file manually across multiple clustered servers, and then look
at the admin application, I see:

+ Tomcat Server
  + Service (Catalina)
    + Host (localhost)
      + Context (/mywebapp)
      + Context (/manager)
      + Context (/admin)
.
.
.



However, if I deploy using the farm deployer, I do not see any applications
under the Host node (except for the default / in a brand-new tomcat install. ) 

This is on RHEL V.4, Tomcat 5.5.12, in a three-way cluster.  Same
environment (QA) without farm deployment shows the app just fine.  It also
reproduces on 5.5.17 on RHEL, and on Windows XP.


Occasionally, the following exception appears in catalina.out:
javax.management.AttributeNotFoundException:  Cannot find attribute className
        at
org.apache.commons.modeler.BaseModelMBean.getAttribute(BaseModelMBean.java:306)
        at
com.sun.jmx.mbeanserver.DynamicMetaDataImpl.getAttribute(DynamicMetaDataImpl.java:96)
        at com.sun.jmx.mbeanserver.MetaDataImpl.getAttribute(MetaDataImpl.java:181)
        at
com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.getAttribute(DefaultMBeanServerInterceptor.java:638)
        at
com.sun.jmx.mbeanserver.JmxMBeanServer.getAttribute(JmxMBeanServer.java:659)
        at org.apache.webapp.admin.Lists.getValves(Lists.java:401)
        at org.apache.webapp.admin.Lists.getValves(Lists.java:452)
        at
org.apache.webapp.admin.TomcatTreeBuilder.getValves(TomcatTreeBuilder.java:462)
        at
org.apache.webapp.admin.TomcatTreeBuilder.getContexts(TomcatTreeBuilder.java:310)
        at
org.apache.webapp.admin.TomcatTreeBuilder.getHosts(TomcatTreeBuilder.java:263)
        at
org.apache.webapp.admin.TomcatTreeBuilder.getServices(TomcatTreeBuilder.java:185)
        at
org.apache.webapp.admin.TomcatTreeBuilder.getServers(TomcatTreeBuilder.java:144)
        at
org.apache.webapp.admin.TomcatTreeBuilder.buildTree(TomcatTreeBuilder.java:101)
        at org.apache.webapp.admin.SetUpTreeAction.execute(SetUpTreeAction.java:125)
        at
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:419)
        at
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
        at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1192)
        at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:412)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
        at
org.apache.webapp.admin.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:123)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
        at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
        at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
        at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:514)
        at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
        at
org.apache.catalina.cluster.tcp.ReplicationValve.invoke(ReplicationValve.java:247)
        at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
        at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
        at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
        at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:868)
        at
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:663)
        at
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
        at
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
        at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
        at java.lang.Thread.run(Thread.java:595)





Reference:

http://mail-archives.apache.org/mod_mbox/tomcat-users/200604.mbox/%3C00b501c6599b$cc8db600$3a0119ac@tim%3E
http://mail-archives.apache.org/mod_mbox/tomcat-users/200605.mbox/%3c00e101c673a3$b0899d30$3c0119ac@timlap%3e
Comment 1 Yoav Shapira 2006-12-25 05:09:24 UTC
Tim, can I ask you to please try on Tomcat 5.5.20?  If nothing else, that would
help us prioritize our work, as 5.0.16 is quite an old release and the 5.0
branch isn't receiving much active work these days.
Comment 2 Tim Lucia 2006-12-27 07:39:10 UTC
Behavior still exists in clustered 5.5.20 -- does not need to be farm deployed,
as it turns out.  In a cluster, only the / app is revealed, while in a single
instance of tomcat, /manager and all other apps appear.

Tim
12/27/2006
Comment 3 Yoav Shapira 2007-03-25 13:53:59 UTC
Updating version to 5.5.20.  Thanks Tim.
Comment 4 Mark Thomas 2009-07-09 06:51:11 UTC
Created attachment 23950 [details]
Patch that fixes this bug

Still affects 5.5.x. Patch attached that fixes this.
Comment 5 Mark Thomas 2009-07-10 03:32:47 UTC
This has been fixed in 5.5.x and will be included in 5.5.28 onwards.