[JBoss JIRA] (MODCLUSTER-481) Revise dependencies in container/catalina/pom.xml for building Tomcat common classes (Catalina)
by Radoslav Husar (JIRA)
[ https://issues.jboss.org/browse/MODCLUSTER-481?page=com.atlassian.jira.pl... ]
Radoslav Husar commented on MODCLUSTER-481:
-------------------------------------------
The PR https://github.com/modcluster/mod_cluster/pull/186 takes the strategy of keeping things as are and building the legacy code against legacy libs and overriding all functionality in newer modules.
> Revise dependencies in container/catalina/pom.xml for building Tomcat common classes (Catalina)
> -----------------------------------------------------------------------------------------------
>
> Key: MODCLUSTER-481
> URL: https://issues.jboss.org/browse/MODCLUSTER-481
> Project: mod_cluster
> Issue Type: Task
> Components: Core & Container Integration (Java)
> Affects Versions: 1.3.1.Final
> Reporter: Radoslav Husar
> Assignee: Radoslav Husar
>
> Currently, in the default build (mvn install), this will be build with default dependencies and the same resulting jar be used with all Tomcat versions (problem #1).
> If profile TC7 is defined (mvn install -PTC7) the tomcat 7 Jars are used (but with jboss servlet api jar - problem #2).
> However, for Tomcat 8 this no longer compiles, so this needs to be revised a bit. I suggest as we go farther, we keep moving out non-common (i.e. no compilable on all versions) code to respective implementations and only keep the common code that compiles for all versions (problem #3).
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 6 months
[JBoss JIRA] (MODCLUSTER-463) UpperCase Alias never matches any context
by RH Bugzilla Integration (JIRA)
[ https://issues.jboss.org/browse/MODCLUSTER-463?page=com.atlassian.jira.pl... ]
RH Bugzilla Integration commented on MODCLUSTER-463:
----------------------------------------------------
Michal Karm Babacek <mbabacek(a)redhat.com> changed the Status of [bug 1340958|https://bugzilla.redhat.com/show_bug.cgi?id=1340958] from NEW to MODIFIED
> UpperCase Alias never matches any context
> -----------------------------------------
>
> Key: MODCLUSTER-463
> URL: https://issues.jboss.org/browse/MODCLUSTER-463
> Project: mod_cluster
> Issue Type: Bug
> Components: Native (httpd modules)
> Affects Versions: 1.2.11.Final, 1.3.1.Final
> Reporter: Michal Karm Babacek
> Assignee: Michal Karm Babacek
> Fix For: 1.3.3.Final, 1.2.13.Final
>
> Attachments: simplecontext-examples.zip
>
>
> h3. Problem
> h4. JBossWeb
> Regardless the upper/lower case of an Alias one configured in _JBossWeb (EAP 6.4.3, mod_cluster subsystem 1.2.11.Final)_, it has always been reported to Apache HTTP Server in lower case. For example, the following configuration:{code:xml}
> <subsystem xmlns="urn:jboss:domain:web:2.2" default-virtual-server="default-host" instance-id="workerXXX" native="false">
> <connector name="http" protocol="HTTP/1.1" scheme="http" socket-binding="http"/>
> <connector name="ajp" protocol="AJP/1.3" scheme="http" socket-binding="ajp"/>
> <virtual-server name="default-host" enable-welcome-root="true">
> <alias name="localhost"/>
> <alias name="example.com"/>
> </virtual-server>
> <virtual-server name="web1" default-web-module="simplecontext-web1">
> <alias name="web1.rhel7GAx86-64"/>
> </virtual-server>
> <virtual-server name="web2" default-web-module="simplecontext-web2">
> <alias name="web2.rhel7GAx86-64"/>
> </virtual-server>
> </subsystem>
> {code}sends this message with aliases actually being reported in lower case: {{JVMRoute=workerXXX&Alias=web2%2Cweb2.rhel7gax86-64&Context=%2F}}. Having {{aliases}} stored in lower case on the Apache HTTP Server side enables both these URLs to work perfectly:{noformat}curl http://web2.rhel7GAx86-64:6666/
> curl http://web2.rhel7gax86-64:6666/{noformat}. The balancer configuration is just a simple [UseAlias 1|http://fpaste.org/251417/86985831/].
> h4. Undertow
> _Undertow (JBossWeb's successor in EAP 7.0.0.DR7, mod_cluster subsystem 1.3.1.Final)_ behaves differently; it reports verbatim what one sets as an alias, so with the following configuration:{code:xml}<subsystem xmlns="urn:jboss:domain:undertow:3.0" instance-id="workerXXX">
> <buffer-cache name="default"/>
> <server name="default-server">
> <ajp-listener name="ajp" socket-binding="ajp"/>
> <http-listener name="default" redirect-socket="https" socket-binding="http"/>
> <host name="default-host" alias="localhost">
> <location name="/" handler="welcome-content"/>
> <filter-ref name="server-header"/>
> <filter-ref name="x-powered-by-header"/>
> </host>
> <host name="web1" alias="web1.rhel7GAx86-64">
> <location name="/" handler="web1-content"/>
> <filter-ref name="server-header"/>
> <filter-ref name="x-powered-by-header"/>
> </host>
> <host name="web2" alias="web2.rhel7GAx86-64">
> <location name="/" handler="web2-content"/>
> <filter-ref name="server-header"/>
> <filter-ref name="x-powered-by-header"/>
> </host>
> </server>
> <servlet-container name="default">
> <jsp-config/>
> <websockets/>
> </servlet-container>
> <handlers>
> <file name="web1-content" path="${jboss.home.dir}/simplecontext-web1"/>
> <file name="web2-content" path="${jboss.home.dir}/simplecontext-web2"/>
> <file name="welcome-content" path="${jboss.home.dir}/welcome-content"/>
> </handlers>
> <filters>
> <response-header name="server-header" header-value="WildFly/10" header-name="Server"/>
> <response-header name="x-powered-by-header" header-value="Undertow/1" header-name="X-Powered-By"/>
> </filters>
> </subsystem>{code}, the message reported to Apache HTTP Server actually is:{{JVMRoute=workerXXX&Alias=web2%2Cweb2.rhel7GAx86-64&Context=%2F}}. Due to the fact that aliases are being compared byte-by-byte for equality (because pumping of slash characters takes place) and the accessed domain is always in lower case and alias is stored as it was received, there is never match between these.
> The result is that while these work:{{http://web2:6666/}}, {{http://web1:6666/}}, one of the upper case containing ones work at all: {{http://web1.rhel7GAx86-64:6666}} and {{http://web2.rhel7gax86-64:6666/}} neither. By not working I actually mean they return the root of Apache HTTP Server Welcome page instead of correctly forwarding to one of the Application server's virtual host contexts.
> Last but not least, while EAP 6.4.3 with JBossWeb itself treats aliases as case-insensitive, EAP 7.0.0.DR7 with Undertow does not; i.e. {{web1.rhel7GAx86-64:8080/}} returns correctly web application content whereas {{web1.rhel7gax86-64:8080/}} returns EAP7 Welcome page.
> While the aforementioned is clearly a bug (or a weird feature :)) in Undertow, we must make the Apache HTTP Server code resilient to such behaviour.
> h3. Solution
> I suggest converting aliases to lower case in mod_manager on ENABLE-APP arrival. According to my preliminary tests, this approach works for both JBossWeb and Undertow equipped workers. I think it's cool to do that: [RFC 1035|https://tools.ietf.org/html/rfc1035#section-2.3.3].
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 6 months
[JBoss JIRA] (MODCLUSTER-463) UpperCase Alias never matches any context
by RH Bugzilla Integration (JIRA)
[ https://issues.jboss.org/browse/MODCLUSTER-463?page=com.atlassian.jira.pl... ]
RH Bugzilla Integration commented on MODCLUSTER-463:
----------------------------------------------------
Michal Karm Babacek <mbabacek(a)redhat.com> changed the Status of [bug 1340957|https://bugzilla.redhat.com/show_bug.cgi?id=1340957] from NEW to MODIFIED
> UpperCase Alias never matches any context
> -----------------------------------------
>
> Key: MODCLUSTER-463
> URL: https://issues.jboss.org/browse/MODCLUSTER-463
> Project: mod_cluster
> Issue Type: Bug
> Components: Native (httpd modules)
> Affects Versions: 1.2.11.Final, 1.3.1.Final
> Reporter: Michal Karm Babacek
> Assignee: Michal Karm Babacek
> Fix For: 1.3.3.Final, 1.2.13.Final
>
> Attachments: simplecontext-examples.zip
>
>
> h3. Problem
> h4. JBossWeb
> Regardless the upper/lower case of an Alias one configured in _JBossWeb (EAP 6.4.3, mod_cluster subsystem 1.2.11.Final)_, it has always been reported to Apache HTTP Server in lower case. For example, the following configuration:{code:xml}
> <subsystem xmlns="urn:jboss:domain:web:2.2" default-virtual-server="default-host" instance-id="workerXXX" native="false">
> <connector name="http" protocol="HTTP/1.1" scheme="http" socket-binding="http"/>
> <connector name="ajp" protocol="AJP/1.3" scheme="http" socket-binding="ajp"/>
> <virtual-server name="default-host" enable-welcome-root="true">
> <alias name="localhost"/>
> <alias name="example.com"/>
> </virtual-server>
> <virtual-server name="web1" default-web-module="simplecontext-web1">
> <alias name="web1.rhel7GAx86-64"/>
> </virtual-server>
> <virtual-server name="web2" default-web-module="simplecontext-web2">
> <alias name="web2.rhel7GAx86-64"/>
> </virtual-server>
> </subsystem>
> {code}sends this message with aliases actually being reported in lower case: {{JVMRoute=workerXXX&Alias=web2%2Cweb2.rhel7gax86-64&Context=%2F}}. Having {{aliases}} stored in lower case on the Apache HTTP Server side enables both these URLs to work perfectly:{noformat}curl http://web2.rhel7GAx86-64:6666/
> curl http://web2.rhel7gax86-64:6666/{noformat}. The balancer configuration is just a simple [UseAlias 1|http://fpaste.org/251417/86985831/].
> h4. Undertow
> _Undertow (JBossWeb's successor in EAP 7.0.0.DR7, mod_cluster subsystem 1.3.1.Final)_ behaves differently; it reports verbatim what one sets as an alias, so with the following configuration:{code:xml}<subsystem xmlns="urn:jboss:domain:undertow:3.0" instance-id="workerXXX">
> <buffer-cache name="default"/>
> <server name="default-server">
> <ajp-listener name="ajp" socket-binding="ajp"/>
> <http-listener name="default" redirect-socket="https" socket-binding="http"/>
> <host name="default-host" alias="localhost">
> <location name="/" handler="welcome-content"/>
> <filter-ref name="server-header"/>
> <filter-ref name="x-powered-by-header"/>
> </host>
> <host name="web1" alias="web1.rhel7GAx86-64">
> <location name="/" handler="web1-content"/>
> <filter-ref name="server-header"/>
> <filter-ref name="x-powered-by-header"/>
> </host>
> <host name="web2" alias="web2.rhel7GAx86-64">
> <location name="/" handler="web2-content"/>
> <filter-ref name="server-header"/>
> <filter-ref name="x-powered-by-header"/>
> </host>
> </server>
> <servlet-container name="default">
> <jsp-config/>
> <websockets/>
> </servlet-container>
> <handlers>
> <file name="web1-content" path="${jboss.home.dir}/simplecontext-web1"/>
> <file name="web2-content" path="${jboss.home.dir}/simplecontext-web2"/>
> <file name="welcome-content" path="${jboss.home.dir}/welcome-content"/>
> </handlers>
> <filters>
> <response-header name="server-header" header-value="WildFly/10" header-name="Server"/>
> <response-header name="x-powered-by-header" header-value="Undertow/1" header-name="X-Powered-By"/>
> </filters>
> </subsystem>{code}, the message reported to Apache HTTP Server actually is:{{JVMRoute=workerXXX&Alias=web2%2Cweb2.rhel7GAx86-64&Context=%2F}}. Due to the fact that aliases are being compared byte-by-byte for equality (because pumping of slash characters takes place) and the accessed domain is always in lower case and alias is stored as it was received, there is never match between these.
> The result is that while these work:{{http://web2:6666/}}, {{http://web1:6666/}}, one of the upper case containing ones work at all: {{http://web1.rhel7GAx86-64:6666}} and {{http://web2.rhel7gax86-64:6666/}} neither. By not working I actually mean they return the root of Apache HTTP Server Welcome page instead of correctly forwarding to one of the Application server's virtual host contexts.
> Last but not least, while EAP 6.4.3 with JBossWeb itself treats aliases as case-insensitive, EAP 7.0.0.DR7 with Undertow does not; i.e. {{web1.rhel7GAx86-64:8080/}} returns correctly web application content whereas {{web1.rhel7gax86-64:8080/}} returns EAP7 Welcome page.
> While the aforementioned is clearly a bug (or a weird feature :)) in Undertow, we must make the Apache HTTP Server code resilient to such behaviour.
> h3. Solution
> I suggest converting aliases to lower case in mod_manager on ENABLE-APP arrival. According to my preliminary tests, this approach works for both JBossWeb and Undertow equipped workers. I think it's cool to do that: [RFC 1035|https://tools.ietf.org/html/rfc1035#section-2.3.3].
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 6 months
[JBoss JIRA] (MODCLUSTER-463) UpperCase Alias never matches any context
by Michal Karm Babacek (JIRA)
[ https://issues.jboss.org/browse/MODCLUSTER-463?page=com.atlassian.jira.pl... ]
Michal Karm Babacek updated MODCLUSTER-463:
-------------------------------------------
Git Pull Request: https://github.com/modcluster/mod_cluster/pull/182, https://github.com/modcluster/mod_cluster/pull/185 (was: https://github.com/modcluster/mod_cluster/pull/154)
> UpperCase Alias never matches any context
> -----------------------------------------
>
> Key: MODCLUSTER-463
> URL: https://issues.jboss.org/browse/MODCLUSTER-463
> Project: mod_cluster
> Issue Type: Bug
> Components: Native (httpd modules)
> Affects Versions: 1.2.11.Final, 1.3.1.Final
> Reporter: Michal Karm Babacek
> Assignee: Michal Karm Babacek
> Fix For: 1.3.3.Final, 1.2.13.Final
>
> Attachments: simplecontext-examples.zip
>
>
> h3. Problem
> h4. JBossWeb
> Regardless the upper/lower case of an Alias one configured in _JBossWeb (EAP 6.4.3, mod_cluster subsystem 1.2.11.Final)_, it has always been reported to Apache HTTP Server in lower case. For example, the following configuration:{code:xml}
> <subsystem xmlns="urn:jboss:domain:web:2.2" default-virtual-server="default-host" instance-id="workerXXX" native="false">
> <connector name="http" protocol="HTTP/1.1" scheme="http" socket-binding="http"/>
> <connector name="ajp" protocol="AJP/1.3" scheme="http" socket-binding="ajp"/>
> <virtual-server name="default-host" enable-welcome-root="true">
> <alias name="localhost"/>
> <alias name="example.com"/>
> </virtual-server>
> <virtual-server name="web1" default-web-module="simplecontext-web1">
> <alias name="web1.rhel7GAx86-64"/>
> </virtual-server>
> <virtual-server name="web2" default-web-module="simplecontext-web2">
> <alias name="web2.rhel7GAx86-64"/>
> </virtual-server>
> </subsystem>
> {code}sends this message with aliases actually being reported in lower case: {{JVMRoute=workerXXX&Alias=web2%2Cweb2.rhel7gax86-64&Context=%2F}}. Having {{aliases}} stored in lower case on the Apache HTTP Server side enables both these URLs to work perfectly:{noformat}curl http://web2.rhel7GAx86-64:6666/
> curl http://web2.rhel7gax86-64:6666/{noformat}. The balancer configuration is just a simple [UseAlias 1|http://fpaste.org/251417/86985831/].
> h4. Undertow
> _Undertow (JBossWeb's successor in EAP 7.0.0.DR7, mod_cluster subsystem 1.3.1.Final)_ behaves differently; it reports verbatim what one sets as an alias, so with the following configuration:{code:xml}<subsystem xmlns="urn:jboss:domain:undertow:3.0" instance-id="workerXXX">
> <buffer-cache name="default"/>
> <server name="default-server">
> <ajp-listener name="ajp" socket-binding="ajp"/>
> <http-listener name="default" redirect-socket="https" socket-binding="http"/>
> <host name="default-host" alias="localhost">
> <location name="/" handler="welcome-content"/>
> <filter-ref name="server-header"/>
> <filter-ref name="x-powered-by-header"/>
> </host>
> <host name="web1" alias="web1.rhel7GAx86-64">
> <location name="/" handler="web1-content"/>
> <filter-ref name="server-header"/>
> <filter-ref name="x-powered-by-header"/>
> </host>
> <host name="web2" alias="web2.rhel7GAx86-64">
> <location name="/" handler="web2-content"/>
> <filter-ref name="server-header"/>
> <filter-ref name="x-powered-by-header"/>
> </host>
> </server>
> <servlet-container name="default">
> <jsp-config/>
> <websockets/>
> </servlet-container>
> <handlers>
> <file name="web1-content" path="${jboss.home.dir}/simplecontext-web1"/>
> <file name="web2-content" path="${jboss.home.dir}/simplecontext-web2"/>
> <file name="welcome-content" path="${jboss.home.dir}/welcome-content"/>
> </handlers>
> <filters>
> <response-header name="server-header" header-value="WildFly/10" header-name="Server"/>
> <response-header name="x-powered-by-header" header-value="Undertow/1" header-name="X-Powered-By"/>
> </filters>
> </subsystem>{code}, the message reported to Apache HTTP Server actually is:{{JVMRoute=workerXXX&Alias=web2%2Cweb2.rhel7GAx86-64&Context=%2F}}. Due to the fact that aliases are being compared byte-by-byte for equality (because pumping of slash characters takes place) and the accessed domain is always in lower case and alias is stored as it was received, there is never match between these.
> The result is that while these work:{{http://web2:6666/}}, {{http://web1:6666/}}, one of the upper case containing ones work at all: {{http://web1.rhel7GAx86-64:6666}} and {{http://web2.rhel7gax86-64:6666/}} neither. By not working I actually mean they return the root of Apache HTTP Server Welcome page instead of correctly forwarding to one of the Application server's virtual host contexts.
> Last but not least, while EAP 6.4.3 with JBossWeb itself treats aliases as case-insensitive, EAP 7.0.0.DR7 with Undertow does not; i.e. {{web1.rhel7GAx86-64:8080/}} returns correctly web application content whereas {{web1.rhel7gax86-64:8080/}} returns EAP7 Welcome page.
> While the aforementioned is clearly a bug (or a weird feature :)) in Undertow, we must make the Apache HTTP Server code resilient to such behaviour.
> h3. Solution
> I suggest converting aliases to lower case in mod_manager on ENABLE-APP arrival. According to my preliminary tests, this approach works for both JBossWeb and Undertow equipped workers. I think it's cool to do that: [RFC 1035|https://tools.ietf.org/html/rfc1035#section-2.3.3].
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 6 months
[JBoss JIRA] (MODCLUSTER-308) Backport MODCLUSTER-307: Issues using mod_cluster with Tomcat 6 and Executor thread pools
by Michal Karm Babacek (JIRA)
[ https://issues.jboss.org/browse/MODCLUSTER-308?page=com.atlassian.jira.pl... ]
Michal Karm Babacek commented on MODCLUSTER-308:
------------------------------------------------
If it is pertinent to newer Tomcats, please reopen. Tomcat 6 is nearing its End of Life.
> Backport MODCLUSTER-307: Issues using mod_cluster with Tomcat 6 and Executor thread pools
> -----------------------------------------------------------------------------------------
>
> Key: MODCLUSTER-308
> URL: https://issues.jboss.org/browse/MODCLUSTER-308
> Project: mod_cluster
> Issue Type: Bug
> Affects Versions: MOD_CLUSTER_1_0_10_GA_CP02
> Environment: -Tomcat 6
> -mod_cluster 1.0.10.GA_CP02
> Reporter: Aaron Ogburn
> Assignee: Jean-Frederic Clere
> Priority: Minor
>
> mod_cluster cannot properly determine connector pool statistics from Tomcat 6 when using an Executor thread pool. The Tomcat server successfully connects with Apache/mod_cluster, but the worker never fully initializes as it only reports a load factor of -1 since it cannot properly determine stats from the Executor pool.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 6 months