We are happy to announce the latest mod_cluster release 1.4.0.Final! To summarize:
- Users can now leverage the expanded support for Tomcat 8.5 and Tomcat 9.0 and support for JDK 9 and 10.
- Configuration-wise, the Tomcat connector is no longer chosen by auto-magic, but must now be specified explicitly (e.g. by connectorPort="8080")
- Functionally, nodes can now be gradually ramped up preventing the issue of nodes being initially overloaded.
- Moreover decay rates can now be floating point numerals allowing for better load control.
- Implementers of custom load metric are now provided with the Load SPI module and the SPI is expanded for metrics to be able to mark the node in error state.
- The distribution zips are all new and easy to use.
- ...and dozen of bugs squashed.
- Note that the 1.4.x branch does not bring native httpd module and is fully compatible with 1.3.x native releases.
Here is the full changelog:
Component Upgrade
- [MODCLUSTER-517] - Upgrade jboss-parent to 21
- [MODCLUSTER-520] - Upgrade jboss-logging/tools to 3.3.0.Final and 2.0.1.Final respectively
- [MODCLUSTER-560] - Upgrade mockito to 2.5.2
- [MODCLUSTER-561] - Upgrade maven-war-plugin to version compatible with JDK 9-ea+149 and higher
- [MODCLUSTER-586] - Upgrade jboss-parent to 22
- [MODCLUSTER-597] - Upgrade jboss-parent to 24 (to support jdk-9+175)
- [MODCLUSTER-598] - Include building the distribution profile in CI
- [MODCLUSTER-604] - Upgrade jboss-logging to 3.3.1.Final
- [MODCLUSTER-605] - Upgrade jboss-logging-processor to 2.0.2.Final
Feature Request
- [MODCLUSTER-642] - Support JDK10 build 10+44
- [MODCLUSTER-449] - Implement ramp-up when starting new nodes
- [MODCLUSTER-457] - Expose Tomcat configuration to explicitly specify a connector to register with the proxy
- [MODCLUSTER-479] - Add support for Tomcat 9
- [MODCLUSTER-493] - Add support for Tomcat 8.5
- [MODCLUSTER-531] - Eliminate automagic
- [MODCLUSTER-539] - Support JDK9 build 9-ea+139
- [MODCLUSTER-562] - Support configuring SocketFactory for MCMP to integrate with Elytron-provided SSLContext
- [MODCLUSTER-564] - Introduce configuration builder API
- [MODCLUSTER-574] - Allow custom LoadMetric implementations to put node into error state (load of -1)
- [MODCLUSTER-575] - Create a Load SPI module
- [MODCLUSTER-607] - Support floating-point numerals for decay factor
Bug
- [MODCLUSTER-469] - Tomcat 8 container integration does not add jvm-route to JSESSIONID when generated by UUIDJvmRouteFactory
- [MODCLUSTER-639] - proxy reset requests can allow for other MCMPs to bad proxy
- [MODCLUSTER-653] - mod_cluster DefaultMCMPHandler should handle "Connection: close" response header and close a connection
- [MODCLUSTER-480] - Tomcat 8 Context#isDistributable implementation needs to consult the underlying context instead of the manager
- [MODCLUSTER-497] - ModClusterConfig#setAdvertiseInterface(java.lang.String) should not have been deprecated as it's used by Tomcat modeller
- [MODCLUSTER-509] - Excluded contexts which are not specific to a host should be excluded on all hosts
- [MODCLUSTER-511] - run-demo.sh script fails in most cases
- [MODCLUSTER-529] - MBeans descriptions are not loaded in JMX for ModClusterListener
- [MODCLUSTER-566] - Exclusion list cannot be pre-populated in init()
- [MODCLUSTER-572] - Normalize hostnames in MCMP messages
- [MODCLUSTER-581] - Session draining with non-positive timeout may wait indefinitely
- [MODCLUSTER-584] - httpd Host header validation check with IPv6 address in MCMP requests
- [MODCLUSTER-585] - mod_cluster excluded-contexts doesn't exclude slash prefixed /contexts; should perform normalization
- [MODCLUSTER-596] - mod_cluster stop/stop-context operations do not send STOP-* in when session draining was unsuccessful
- [MODCLUSTER-612] - Test DefaultMCMPRequestFactoryTestCase#createConfigRequest fails on Windows OS with other than lowercase hostname
Task
- [MODCLUSTER-571] - Maven generates an empty distribution tarball on first execution
- [MODCLUSTER-620] - Travis CI: workaround dropping openjdk6/oraclejdk7 on stable/trusty
- [MODCLUSTER-628] - Travis CI: Add oraclejdk9 to the matrix
- [MODCLUSTER-631] - Maven pushes only one tomcat distribution archive on deploy
- [MODCLUSTER-652] - Documentation 2.0: living docs
- [MODCLUSTER-439] - Overhaul distribution profile
- [MODCLUSTER-482] - Drop Tomcat 6 and JBoss Web support
- [MODCLUSTER-485] - Move CI to Travis
- [MODCLUSTER-494] - Split mod_cluster code base into container integration and native repositories
- [MODCLUSTER-496] - Drop support for legacy JBoss AS 5/6 versions (sar module)
- [MODCLUSTER-498] - Extract Tomcat modeler specific methods from ModClusterConfig into separate Tomcat-specific class
- [MODCLUSTER-516] - Move /container-spi module into /container/spi module
- [MODCLUSTER-518] - Support JDK9 build 9-ea (June 2016)
- [MODCLUSTER-519] - Keep Tomcat dependency versions on latest released versions
- [MODCLUSTER-559] - Support JDK9 build 9-ea+160
- [MODCLUSTER-599] - Update maven-assembly-plugin goal to 'single'
- [MODCLUSTER-611] - Add maven-checkstyle-plugin to the Maven build
- [MODCLUSTER-614] - Disable "Unable to locate Source XRef to link to" warnings in Maven build
- [MODCLUSTER-615] - Fix compiler warnings in demo compilation
- [MODCLUSTER-616] - Fix Javadoc issues
- [MODCLUSTER-617] - Drop legacy "site-mod_cluster" scripting