[
https://issues.apache.org/jira/browse/AMQ-9344?focusedWorklogId=900198&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-900198
]
ASF GitHub Bot logged work on AMQ-9344:
---------------------------------------
Author: ASF GitHub Bot
Created on: 17/Jan/24 18:40
Start Date: 17/Jan/24 18:40
Worklog Time Spent: 10m
Work Description: cshannon commented on code in PR #1139:
URL: https://github.com/apache/activemq/pull/1139#discussion_r1456289894
##########
activemq-broker/src/main/java/org/apache/activemq/broker/TransactionBroker.java:
##########
@@ -291,13 +294,43 @@ public void send(ProducerBrokerExchange producerExchange,
final Message message)
transaction = getTransaction(context, message.getTransactionId(),
false);
}
context.setTransaction(transaction);
+
try {
+ // [AMQ-9344] Limit uncommitted transactions by count
+ verifyUncommittedCount(producerExchange, transaction, message);
next.send(producerExchange, message);
} finally {
context.setTransaction(originalTx);
}
}
+ protected void verifyUncommittedCount(ProducerBrokerExchange
producerExchange, Transaction transaction, Message message) throws Exception {
+ // maxUncommittedCount <= 0 disables
+ int maxUncommittedCount =
this.getBrokerService().getMaxUncommittedCount();
Review Comment:
That should be fine since it's just a getter I was just figuring it's pretty
unlikely it would ever be changed, it would be rare as likely you are going to
set the limit to something reasonable in the first place.
Issue Time Tracking
-------------------
Worklog Id: (was: 900198)
Time Spent: 1h 20m (was: 1h 10m)
> Ability to configure a limit on uncommitted message count in a transaction
> --------------------------------------------------------------------------
>
> Key: AMQ-9344
> URL: https://issues.apache.org/jira/browse/AMQ-9344
> Project: ActiveMQ
> Issue Type: New Feature
> Reporter: Matt Pavlovich
> Assignee: Matt Pavlovich
> Priority: Major
> Fix For: 6.1.0
>
> Time Spent: 1h 20m
> Remaining Estimate: 0h
>
> 1. Add a config flag to limit the max number (by count and/or bytes) of
> uncommitted message per transaction
> 2. Add a config flag to limit the max number of simultaneous transactions per
> destination
> On limit exceeding, rollback the tx and return a ResourceAllocationException
> to the client
> Possible default values:
> 6.x - unlimited (current behavior)
> 7.x - 10,000
--
This message was sent by Atlassian Jira
(v8.20.10#820010)