This is an automated email from the ASF dual-hosted git repository.
rmaucher pushed a change to branch main
in repository https://gitbox.apache.org/repos/asf/tomcat.git
from e45dc8bd73 Attempt to fix buildbot failure
new 21af2b16ff Replicate SSO session key set changes from removeSession()
and sessionChangedId() in ClusterSingleSignOn so SSO entries are deregistered
on all nodes when the last associated session expires
new 54b053a9be Guard ClusterSingleSignOn.stopInternal() against a
ClassCastException when the ReplicatedMap was never created after a failed start
new 5248193564 Skip auto-assigned-port connector thread pool MBeans in
CollectedInfo since their name carries a name index rather than a port
new 6062ded9a0 Bound connect and read operations in TcpSender with
timeouts since the heartbeat runs on the shared server utility executor, and
close connections on read failure
new a36e633f69 Keep existing proxy connections in TcpSender.init when the
proxy list has not changed since the heartbeat runs init on every periodic
event and closing connections there defeated the keep-alive design
new 78623e8f3f Close the multicast socket in MultiCastSender when socket
setup fails after creation to avoid leaking one socket per heartbeat and
validate the TTL range in HeartbeatListener
new 98d6dbcd61 Move attributes set during web application startup into the
replicated attribute map when it is installed in ReplicatedContext so they are
replicated to the other nodes
new be1f1d151d Fire ServletContextAttributeListener events for attributes
stored in the local map of a ReplicatedContext by extracting the event firing
logic of ApplicationContext into overridable hooks
new a92d57b4cb Make MultiEnumeration.nextElement throw
NoSuchElementException when exhausted and report attribute names present in
both stores only once
new 151ca20650 Correct the calculation of the total number of fragment
messages in FileMessageFactory which declared one message too many for files
whose size is an exact multiple of the fragment size, so WAR deployments via
FarmWarDeployer never completed for those files
new 66206e06a9 Synchronize FileMessageFactory.isValid() with the write
path and remove expired factories by instance to avoid racing with in-flight
transfers
new f136a4dc24 Use a concurrent map for WarWatcher.currentStatus since
clear() may run on the stop thread while check() iterates the map on the
container background thread
new 6349abe28b Remove completed file factories by instance in
FarmWarDeployer to avoid evicting a freshly created factory for a new transfer
of the same WAR
new 5ec45f3aa7 Use REPLACE_EXISTING when moving a received WAR into place
in FarmWarDeployer since the delete of an old WAR with the same name may have
failed
new 0c371863f6 Avoid logging a spurious delete failure for a context.xml
that never existed and log a warning when a cluster undeploy targets a context
that is not present on the node in FarmWarDeployer
new fc02bad540 Log a clear configuration error and disable watching when
FarmWarDeployer has watchEnabled set without a watchDir rather than failing
with a NullPointerException on start
new 53911b4e7e Capture and send the final session delta in
DeltaSession.expire() before acquiring the session monitor to avoid a lock
order inversion against the delta lock
new 3c9f0fdd80 Reset noContextManagerReceived in
DeltaManager.getAllClusterSessions() alongside stateTransferred so that a
repeated state transfer does not exit immediately on a stale response
new dd3554c534 Compare type and action as well as name when de-duplicating
DeltaRequest actions so that distinct changes sharing a name, such as an
attribute and a note, are all replicated, and recycle the evicted action back
to the pool
new d42870d7fa Make hasMembers volatile so that membership changes made on
the tribes membership thread are visible to the request threads that read it
new 51ea1a9daa Snapshot the request counter in
ReplicationValve.updateStats() and guard against zero so that a concurrent
resetStatistics() cannot cause a division by zero
new 8090ea9cb6 Fire the SEND_MESSAGE_FAILURE_EVENT lifecycle event with
the failing message, destination and exception from SimpleTcpCluster.send()
when notifyLifecycleListenerOnFailure is enabled, making the previously
declared but never fired event work as documented
new 2688684cc5 Make SimpleTcpCluster.stopInternal() cleanup robust: guard
each step so a channel stop failure cannot skip listener removal and cluster
valve unregistration, and unregister the MBeans of all cluster members from the
member name map on stop
new 5559d4e7e6 Name the fallback manager created by
SimpleTcpCluster.createManager() when cloning the manager template fails so
that its replication messages carry a context name and are not routed to every
context on the receiving nodes
new 2c7defae5d Merge branch 'main' of [email protected]:apache/tomcat.git
into main
The 25 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
.../apache/catalina/core/ApplicationContext.java | 31 ++++--
.../ha/authenticator/ClusterSingleSignOn.java | 27 +++++-
.../apache/catalina/ha/backend/CollectedInfo.java | 8 ++
.../catalina/ha/backend/HeartbeatListener.java | 5 +
.../catalina/ha/backend/LocalStrings.properties | 1 +
.../catalina/ha/backend/MultiCastSender.java | 3 +
java/org/apache/catalina/ha/backend/TcpSender.java | 54 +++++++++--
.../catalina/ha/context/ReplicatedContext.java | 40 ++++++--
.../apache/catalina/ha/deploy/FarmWarDeployer.java | 67 ++++++++-----
.../catalina/ha/deploy/FileMessageFactory.java | 6 +-
.../catalina/ha/deploy/LocalStrings.properties | 2 +
java/org/apache/catalina/ha/deploy/WarWatcher.java | 8 +-
.../apache/catalina/ha/session/DeltaManager.java | 4 +
.../apache/catalina/ha/session/DeltaRequest.java | 25 +++--
.../apache/catalina/ha/session/DeltaSession.java | 29 ++++--
.../apache/catalina/ha/tcp/ReplicationValve.java | 11 ++-
.../apache/catalina/ha/tcp/SimpleTcpCluster.java | 34 ++++++-
.../catalina/ha/deploy/TestFileMessageFactory.java | 108 +++++++++++++++++++++
.../catalina/ha/session/TestDeltaRequest.java | 25 +++++
webapps/docs/changelog.xml | 29 ++++++
20 files changed, 440 insertions(+), 77 deletions(-)
create mode 100644
test/org/apache/catalina/ha/deploy/TestFileMessageFactory.java
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]