forked from apache/activemq
-
Notifications
You must be signed in to change notification settings - Fork 5
Merge 5.19.1 #153
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
jgallimore
wants to merge
35
commits into
activemq-5.19.x-TT.x
Choose a base branch
from
activemq-5.19.x-TT.x-patch-forward
base: activemq-5.19.x-TT.x
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Merge 5.19.1 #153
jgallimore
wants to merge
35
commits into
activemq-5.19.x-TT.x
from
activemq-5.19.x-TT.x-patch-forward
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…void Exception (cherry picked from commit 0ffe52a)
(cherry picked from commit 4b22a4c)
(cherry picked from commit be361fd)
…pache#1419) This commit makes several improvements and fixes for syncing durable subscriptions when a network bridge connects. 1) A bug was fixed during durable sync that would cause the clientId to not always be included for durables in the subscription list which could cause a loop to be created as the other broker would not be able to tell where the network subscription came from. 2) During reactivation when dynamicOnly is false and durable sync is set to true, we make sure to include the TTL information (full broker path) from the online consumer attached to durables so that TTL info is properly propagated so we don't incorrectly create demand. Thisonly works if consumers are online, so for TTL > 1 it is still recommended to set dynamicOnly to true and allow only online consumers drive demand. 3) For TTL 1, we can handle sync correctly on restarts even if durables are offline and missing consumer TTL info because we know that we should ignore proxy durables (bridge durables for other bridges) entirely because they will be > 1 hop away. 4) Some other minor improvements were made like filtering everything if TTL is 0 and also consolidating logic. (cherry picked from commit 953737c) (cherry picked from commit 182c598)
This commit fixes multiple problems with handling message expiration on durable topic subscriptions. 1) Memory usage tracking is fixed on expiration by correctly decrementing the counter inside AbstractStoreCursor when calling the remove(message) method, which was previously missed. 2) A new refrence type is used to wrap references in TopicStorePrefetch so that if multiple subscriptions share a reference in their cursors each one can expire the message. Previously only one would expire as the message would be marked as expired and skipped. 3) On client expiration, the references are properly decremented so memory tracking is correct. 4) The expiration thread for Topics has been improved to be much more efficient for KahaDB by only scanning for expired messages if there are durables eligible for expiration. The thread also now checks the index to see if expired messages are associated with the subs still so we don't expire the same sub multiple times. Only messages that need to still be processed are returned which further cuts down memory usage. (cherry picked from commit 4abcfa1) (cherry picked from commit 9a1f00b)
This allows the store to check if the memory usage is full in the system before continuing to try and load messages to expire on durable subs (cherry picked from commit 6dac231)
…imit (apache#1441) (apache#1441) (cherry picked from commit d226bfe)
…eader to jetty.xml (apache#1428) (cherry picked from commit 4db953d)
(cherry picked from commit caeb4ca)
apache#1447) This fixes the broker so multiple removals are no longer done for the same message leading to having to search the entire non persistent pending list. Durable subscriptions now check the persistence type of the message so the cursor will no longer search everything in a non-persistent pending list when the message is persistent. (cherry picked from commit 5a3abbc)
This fixes the test by correctly waiting for expiration and greatly speeds things up by reducing how many messages are sent (cherry picked from commit 6581ed7)
This fixes the clear() method so that when clearing the memory map it will decrement memory usage, and when clearing the disk list it will destroy and reset the list for future writes. (cherry picked from commit b1e8441)
(cherry picked from commit dc7a802)
(cherry picked from commit ec633b3)
…sage (cherry picked from commit 96c92e4)
…gging in TRACE mode (apache#1506)
- Auto-resolved pom.xml conflicts: - Prefer incoming version bumps (e.g., 5.19.1) - Preserved local SCM and distributionManagement details
- Updated all <version> tags in pom.xml files - Left SCM <tag> and repository settings unchanged
cesarhernandezgt
approved these changes
Nov 17, 2025
Member
cesarhernandezgt
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
+1 , I ran both base and PR CI jobs and PR is good to merge.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.