Bug 1036197
Summary: | Native HTTP connector fails if org.apache.tomcat.util.Constants.ENABLE_MODELER is set to true | ||
---|---|---|---|
Product: | [JBoss] JBoss Enterprise Application Platform 6 | Reporter: | Daniel Bobbert <daniel.bobbert> |
Component: | Web | Assignee: | Rémy Maucherat <rmaucher> |
Status: | CLOSED CURRENTRELEASE | QA Contact: | Radim Hatlapatka <rhatlapa> |
Severity: | high | Docs Contact: | Russell Dickenson <rdickens> |
Priority: | unspecified | ||
Version: | 6.1.0, 6.2.0, 6.1.1, 6.2.1 | CC: | jclere, jlivings, smumford |
Target Milestone: | DR2 | ||
Target Release: | EAP 6.3.0 | ||
Hardware: | All | ||
OS: | All | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | Bug Fix | |
Doc Text: |
In previous releases of JBoss EAP 6, JBossWeb Coyote's *Protocol classes start() methods constructed an MBean name using the getName() value, which is likely to contain a colon and the MBean object name cannot contain arbitrary colons.
The following error would be reported when JBoss tries to start if `-Dorg.apache.tomcat.util.Constants.ENABLE_MODELER=true` was set:
----
JBWEB003044: Threadpool JMX registration failed: javax.management.MalformedObjectNameException: Invalid character ':' in value part of property
----
This release uses `getJmxName()` rather than `getName()` to correctly construct the name of the MBean.
As a result the exception no longer occurs when `-Dorg.apache.tomcat.util.Constants.ENABLE_MODELER=true` is used, and the modeller is enabled.
|
Story Points: | --- |
Clone Of: | Environment: | ||
Last Closed: | 2014-08-06 14:36:21 UTC | Type: | Bug |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: |
Description
Daniel Bobbert
2013-11-29 17:28:30 UTC
10:32:15,011 INFO [org.apache.catalina.core] (MSC service thread 1-4) JBWEB001065: The native library which allows optimal performance in production environments was not found on the java.library.path: /usr/java/packages/lib/i386:/lib:/usr/lib 10:32:15,300 INFO [org.apache.coyote.http11] (MSC service thread 1-4) JBWEB003001: Coyote HTTP/1.1 initializing on : http-/127.0.0.1:8080 10:32:15,304 ERROR [org.apache.coyote.http11] (MSC service thread 1-4) JBWEB003044: Threadpool JMX registration failed: javax.management.MalformedObjectNameException: Invalid character ':' in value part of property at javax.management.ObjectName.construct(ObjectName.java:618) [rt.jar:1.7.0_25] at javax.management.ObjectName.<init>(ObjectName.java:1382) [rt.jar:1.7.0_25] at org.apache.coyote.http11.Http11NioProtocol.start(Http11NioProtocol.java:132) Testing with jbossweb 7.4.x BTW: native isn't in the beta. I don't know what happened, but NIO and APR were not using the JMX name, which caused the problem. I suppose JMX is not used very often with AS. We use JMX to monitor the number of http requests, thread pool usage etc. on our production systems. And of course we use the native connectors for performance reasons. I would expect this is a common scenario or are there better ways to monitor the internals of AS?! The bug also (still) exists in EAP 6.2 Also see bug 1036977 for a fix. After checking the repos it is fixed in EAP6.2 CP01 CP02 CP03 (it is NOT fixed in EAP6.2). EAPP6.3 from the available release... I checked back and the bug is still present in EAP 6.2 CP01 (aka EAP 6.2.1). Both Http11NioProtocol and Http11AprProtocol in jbossweb-7.3.0.Final-redhat-1 still contain the old, unchanged code that uses getName() instead of getJmxName(). And booting the server still throws exactly the same error message. This was fixed in JBossWeb 7.3.1 and 7.4.0 beta 2, and 7.4.0 beta 4 was in DR2. A quick test by adding -Dorg.apache.tomcat.util.Constants.ENABLE_MODELER=true shows the current 6.3 build working. It may be too late for QA to test, but I'll push the state forward since it's been committed to the code already. I have verified that the it works as expected with NIO2, JIO and APR connector using EAP 6.3.0.ER10 |