Commit Graph

1053 Commits

Author SHA1 Message Date
Colm O hEigeartaigh 24aaa4698c AMQ-7458 - Implement bounds checking on the message scheduling properties 2020-03-27 12:14:03 +00:00
jbonofre 05c43fe347 [AMQ-7301] Fix typo (double from) 2020-03-12 10:21:35 +01:00
jbonofre d800f1bdb4 [AMQ-7301] Remove guava dependency to implement own getRootCause() method 2020-03-11 18:47:19 +01:00
jbonofre 960bc24d17 [AMQ-7301] Fix build and using a single log message 2020-03-11 17:21:01 +01:00
Christopher L. Shannon (cshannon) ee61ed69f8 AMQ-7301 - TransportConnector errors should log the root cause
(cherry picked from commit 57a1a77abb)
2020-03-11 06:49:35 -04:00
jbonofre 1550ae42f7 Revert "[AMQ-7314] Fix counter increment when lastDelivereSeqId > BrokerSequenceId"
This reverts commit df1750fe01.
2020-03-10 06:29:34 +01:00
Pascal Schumacher b43f5b8cf2 Avoid potential overflow in int multiplication before it is converted to long. 2020-03-08 11:50:21 +01:00
Colm O hEigeartaigh a73a85e6c2 AMQ-7438 - Harden deserialization 2020-03-06 17:22:07 +00:00
jbonofre b60efeaad8 [AMQ-7301] Improve logging when initialize Stomp NIO SSL connection 2020-03-05 15:00:53 +01:00
Jean-Baptiste Onofré c0e7949468
Merge pull request #500 from jbonofre/AMQ-7303
[AMQ-7303] Improve logging in case of security exception on transport connection
2020-03-04 21:44:37 +01:00
Jean-Baptiste Onofré 7435d7b058
Merge pull request #499 from jbonofre/AMQ-7346
[AMQ-7346] Improve logging of the network connector
2020-03-04 21:42:37 +01:00
jbonofre 945cd6b7de [AMQ-7303] Improve logging in case of security exception on transport connection 2020-03-04 18:57:02 +01:00
jbonofre 3c4a644f3d [AMQ-7346] Improve logging of the network connector 2020-03-04 17:54:37 +01:00
jbonofre 3c302dce33 [AMQ-7347] Don't log error in case of topic subscription failure. It's useless as the JMX exception is thrown and pollute the log. 2020-03-04 16:22:17 +01:00
jbonofre df1750fe01 [AMQ-7314] Fix counter increment when lastDelivereSeqId > BrokerSequenceId 2020-03-02 15:31:16 +01:00
Jean-Baptiste Onofré 51081e4edf
Merge pull request #479 from coheigea/AMQ-7423
AMQ-7423 - Remove synchronization from JAAS PropertiesLoader
2020-02-28 07:30:57 +01:00
Pascal Schumacher 7ef90e243f Add missing format argument for log message in AbortSlowAckConsumerStrategy#abortAllQualifiedSlowConsumers. 2020-02-27 22:03:41 +01:00
Colm O hEigeartaigh 67fb6f8871 AMQ-7423 - Remove synchronization from JAAS PropertiesLoader 2020-02-27 15:29:26 +00:00
jbonofre d878d877d5 [AMQ-7410] Align dependencies with Apache Karaf 2020-02-26 13:11:33 +01:00
Jonathan Gallimore 4522061527 Fix issue where the registry lookup was a hardcoded name and didn't account for the connector path 2020-02-24 11:10:46 +00:00
Jean-Baptiste Onofré bfb810c507
Merge pull request #466 from coheigea/misc_fixes
AMQ-7413 - Misc logging fixes
2020-02-22 07:49:55 +01:00
Daniel Trebbien b020cba744 Fix some incorrect SLF4J logger calls
In some cases, there were an inconsistent number of formatting anchors.

In other cases, formatting anchors were used, but because the
trace/debug/info/warn/error(String, Throwable) variant was used, the
string is a message string rather than a format string.

These issues were found by SLF4J Helper for NetBeans IDE:
http://plugins.netbeans.org/plugin/72557/
2020-02-19 08:26:36 +00:00
Daniel Trebbien 057cf666a0 Fix an apparent copy/paste typo 2020-02-19 08:02:20 +00:00
Daniel Trebbien 7b528ecee7 Fix some typos 2020-02-19 08:01:41 +00:00
Colm O hEigeartaigh 758bd279f8 AMQ-7412 - Fix NPE in SimpleAuthenticationPlugin 2020-02-19 07:29:44 +00:00
Jean-Baptiste Onofré 1c3a71620f
Merge pull request #451 from jgallimore/AMQ-7404
AMQ-7404 add debug logging for selectors loaded from the cache file
2020-02-14 08:21:00 +01:00
Jean-Baptiste Onofré a9d89572ef
Merge pull request #449 from PascalSchumacher/setter_getter_synchronization
AMQ-7402: Inconsistent synchronization of getters/setters of some cla…
2020-02-13 08:15:57 +01:00
Jean-Baptiste Onofré 4ecdd5a2a8
Merge pull request #448 from PascalSchumacher/fix_unused_format_arguments_in_log_messages
Fix unused format arguments in log messages.
2020-02-13 07:53:32 +01:00
Pascal Schumacher 6764511fa1 Fix unused format arguments in log messages. 2020-02-12 17:52:28 +01:00
Pascal Schumacher 5356893fac AMQ-7402: Inconsistent synchronization of getters/setters of some classes
Make synchronization consistent or remove it and declare the field volatile.
2020-02-12 17:48:34 +01:00
jbonofre 097506a458 [AMQ-7399] org.apache.activemq.SERIALIZABLE_PACKAGES doesn't include java* by default 2020-02-12 13:43:03 +01:00
Jonathan Gallimore e6befbc875 AMQ-7404 add debug logging for selectors loaded from the cache file 2020-02-12 11:15:59 +00:00
Jonathan Gallimore f1d0100832 Provide RMI registry implementation to prevent re-bind 2020-02-11 21:10:56 +01:00
Jean-Baptiste Onofré 6417d62f60 Merge pull request #428 from coheigea/AMQ-7376
AMQ-7376 - Use correct type for collections retrieval
2020-02-09 08:33:04 +01:00
Jean-Baptiste Onofré 85851f7ce8 [AMQ-7391] Minor typo fixed
Credit: Alexandre Fruchaud <mmacphail>
2020-01-28 10:46:48 +01:00
Colm O hEigeartaigh 127852d2e7 AMQ-7142 - Inserting Bouncy Castle Provider Early in Java Security Provider Chain Breaks KeyStore Loading 2020-01-27 10:43:39 +00:00
Colm O hEigeartaigh 675fb7bcae AMQ-7376 - Use correct type for collections retrieval 2020-01-20 18:35:01 +00:00
Christopher L. Shannon (cshannon) 0c6f9a9a1e AMQ-7352 - Add support for anonymous producer advisories
By default this behavior is turned off but can be enabled by setting
anonymousProducerAdvisorySupport on the BrokerService to true
2019-11-22 13:35:32 -05:00
Jean-Baptiste Onofré dcb5ba1fb3
Merge pull request #275 from PascalSchumacher/BrokerService_fix_typo
BrokerService: fix typo in field and parameter name
2019-11-18 17:42:44 +01:00
Jean-Baptiste Onofré f3f8271503 [AMQ-7301] Use warn for connection failure instead of error. 2019-11-12 15:19:13 +01:00
Jean-Baptiste Onofré a5f0602505
Merge pull request #395 from couclock/AMQ-7312
AMQ-7312 virtualSelectorCacheBrokerPlugin addConsumer issue
2019-10-18 19:09:32 +02:00
gtully 4af6f40186 AMQ-6494 is related, fix intermittent failure of RedeliveryPolicyTest related to vm transport server being shutdown while in use via async onException handler 2019-10-03 11:08:05 +01:00
Dany LECOQ 86a069ac5d AMQ-7312 virtualSelectorCacheBrokerPlugin addConsumer issue 2019-09-29 16:18:24 +02:00
gtully 644b529ef6 AMQ-7185 - rework to leave tx-inflight messages pending in the cursor to avoid duplicates on completion, fix and test 2019-09-24 17:32:54 +01:00
gtully 289750d7c9 AMQ-7308 - ensure kahadb message add does not auto create the message store in error, expect an existing store. fix and test 2019-09-20 10:22:56 +01:00
gtully 501d55337a AMQ-7302 - make jmx ops that pageIn aware of cursor memory limits to avoid excessive looping, fix and test 2019-09-10 11:46:04 +01:00
gtully fb2296ac74 AMQ-7270 - remove toggle on maxPageSize, request page in of entire queue only when cache is in play or broker is non persistent, fix and test 2019-08-07 17:47:59 +01:00
Christopher L. Shannon (cshannon) 09003e8fef AMQ-7102 - Improve ManagedRegionBroker performance by replacing
registeredMBeans CopyOnWriteSet with a Concurrent hashmap backed set
2019-07-31 12:56:57 -04:00
Colm O hEigeartaigh 75023f2bed Remove default "secret" password from the LDAPAuthorizationMap 2019-07-15 18:24:48 +01:00
Christopher L. Shannon (cshannon) c7eff84058 AMQ-7238 - Ensure remoteId subscription map is also cleared when local
map is cleared inside DemandForwardingBridgeSupport
2019-07-08 08:38:34 -04:00
gtully de3f77063f AMQ-7234 - fix up memory usage wait timeout such that topic pfc in a transaction can see connection context state changes, fix and test 2019-06-21 16:55:13 +01:00
Christopher L. Shannon (cshannon) dc56fa3f6e AMQ-7228 - Avoid unnecessary lock contention when getting pending
metrics
2019-06-14 10:46:21 -04:00
gtully 7404b43f2d AMQ-7193 - resolve intermittent NPE on duplex network connector start; wait for start completion before dispatching inbound messages, fix and test 2019-05-02 16:31:26 +01:00
Christopher L. Shannon (cshannon) bf3a9f44f6 AMQ-7191 - Prevent extra creation of openwire verifier objects per new
connection when using the auto transport
2019-04-30 08:41:08 -04:00
gtully 487d4a112e AMQ-7185 - track durable sub prepared acks in preCommit callback and release/remove on xa outcome, avoid duplicate delivery; fix and test 2019-04-17 14:31:11 +01:00
Christopher L. Shannon (cshannon) ccf56875b0 NO-JIRA - Update spring schemas and missing license files 2019-03-15 07:24:31 -04:00
gtully 2d394b383c AMQ-7167 - ensure remote IP is visible in acceptor error messages from the transport connector - test and fix 2019-03-13 10:21:19 +00:00
gtully a000a73431 no jira - init throwable cause to identify error on shutdown 2019-03-13 10:14:06 +00:00
Alan Protasio 87467dc61e AMQ-7159 - Adding a new attribute on PersistenceAdapterViewMBean to show information about Storage write/read latency 2019-03-06 11:41:08 -08:00
Christopher L. Shannon (cshannon) 7fdad3a73d AMQ-7151 - Remove dependency on Guava from activemq-broker
Guava is supposed to only be used for the leveldb store and as a test
    dependency elsewhere but there is one spot it is used in activemq-broker for
    filtering collections. With Java 8 this can be easily rewritten to avoid the use of Guava.

    This commit is based on the patch submitted by Filip Hrisafov
2019-02-18 07:49:47 -05:00
Christopher L. Shannon (cshannon) daea192eef AMQ-7085 - Properly start TempUsage inside Queue start
This fix allows temp usage changes to the broker temp usage to propagate
properly to a Queue's temp usage settings

Patch applied with thanks to David Sitsky
2019-01-17 07:58:36 -05:00
hkesler 5c23dd53ad AMQ7135 : do a purge before deleting the destination
(cherry picked from commit 9f513f8878)
2019-01-14 13:44:52 -03:30
jgoodyear 4a21edc8d5 [AMQ-7126] Improvement to perf of 5266Test 2019-01-07 21:22:34 -03:30
gtully 8cc0c5ad6c AMQ-7106 - fix pending stop support by avoiding sync through single shared status var - fix and test 2018-11-21 10:23:13 +00:00
gtully 9cb680c0ba AMQ-7102 - don't track objectNames that have not been registered due to suppressMBean filter, fix and test 2018-11-15 17:45:18 +00:00
gtully bc8c78cd32 AMQ-7009 - apply fix to memorymessagestore setBatch with thanks to Nezih BEN FREDJ for test and suggestion 2018-11-14 14:21:27 +00:00
gtully d2b0affedb AMQ-7094 - track the objectName with an annotated mbean such that the jmx audit log event can extract that target of an mbean operation, fix and test 2018-11-08 12:10:01 +00:00
gtully f2cde24a62 AMQ-7088 - fix deadlock on remove add interaction from mqtt virtual topic sub use case 2018-11-01 10:11:08 +00:00
gtully bf8eb08aca AMQ-7086 - make kahadb gc/cleanup on shutdown optional to trade availability over disk usage for fast failover 2018-10-31 14:29:05 +00:00
gtully 9dd751149f AMQ-7079 AMQ-7077 AMQ-6421 - check for consumers that have been destroyed 2018-10-18 16:49:29 +01:00
gtully 4dee173962 AMQ-7077 AMQ-6421 - tie queue consumer slow flag detection to abort slow consumer policy, fire advisory when set. 2018-10-17 11:04:47 +01:00
Christopher L. Shannon (cshannon) 3ac3a420a1 AMQ-7071 - Mark previously dispatched messages as redelivered if
connection for durable topic subscription is improperly closed leading
to a lastDeliveredSequenceId as unknown
2018-10-12 08:35:37 -04:00
gtully 5246151288 AMQ-7062 - have redelivery plugin ignore messages detected as duplicates 2018-09-26 11:22:59 +01:00
gtully cae66f5d37 AMQ-6086 - variant with broker.schedulerSupport=true; same fix with additional test 2018-09-25 16:29:24 +01:00
gtully cdbddcafa2 AMQ-7057 - support transport connector warnOnRemoteClose to suppress eof warnings on loadbalance or health check socket ping 2018-09-20 14:58:34 +01:00
Christopher L. Shannon (cshannon) 69fad2a135 Add support for hostname verification 2018-08-31 06:39:49 -04:00
gtully 54c56a0573 AMQ-7037 - add sslContext attribute to networkConnector, allow broker or jvm defaults to be overridden 2018-08-20 16:40:26 +01:00
gtully 50d27e7e54 AMQ-7035 - use NonCachedMessageEvaluationContext in place of MessageEvaluationContext to avoid unnecessary reference count management and subsequent leaks. Rework AMQ-6465 with additional JMX related tests 2018-08-15 16:21:57 +01:00
gtully bdfa3394ad AMQ-7030 - trap exceptions on future.get, fix and test 2018-08-02 14:45:31 +01:00
giliva 5b1412ddfd Avoid overflow errors - see KAFKA-4290
Add test for overflow values

Bind test sockets to free ports
2018-07-27 08:32:36 -04:00
Christopher L. Shannon (cshannon) b79fcd0a76 AMQ-7017 - Prevent ArithmeticException in ProducerBrokerExchange
Check for zero to prevent divide by zero error inside
getPercentageBlocked() method

Thank you to Matthew Stratton for the patch
2018-07-27 07:40:49 -04:00
gtully 0b76d3a0ea AMQ-7021 - add unsynchronised accessors to destination map for usage with rw lock from abstract region; allow concurrent read of the destination map 2018-07-26 10:42:10 +01:00
gtully c29d7477d0 no jira - fix warn formatting error 2018-07-05 11:54:22 +01:00
gtully 83514ef799 AMQ-7001 - ensure cursor pending cached id list is pruned of futures that end in an exception, fix and test 2018-07-03 21:18:36 +01:00
Jeff Genender 76490a2c7f AMQ-7002 - Change jobid identifier to messageid format 2018-06-27 10:29:40 -06:00
gtully e0aa091d9e AMQ-7002 - ensure uniqueue jobids, fix and test via patch from Jamie goodyear applied with thanks 2018-06-27 14:14:44 +01:00
gtully 57a6f2373e AMQ-6854 - ensure non null return in the event on no space to page in 2018-06-13 13:10:52 +01:00
gtully 1ebf186279 AMQ-3405 - rework fix to use original destination strategy which may be different from the default shared strategy. new test 2018-06-07 11:38:42 +01:00
gtully 6d14e4e85b AMQ-6979 - fix test regression, avoid gc during shutdown such that the error check on the logging remains valid 2018-05-31 13:44:01 +01:00
gtully cdb38b3275 AMQ-6979 - use scheduler as trigger task - do heavy lifting via the task runner executor, take care to trap errors to keep scheduler timer alive AMQ-5129 2018-05-30 22:03:50 +01:00
gtully 026c6f4403 AMQ-6967 - ensure there are some messages paged in for periodic expiry check if non are in memory 2018-05-21 14:26:45 +01:00
gtully 01384c714d AMQ-6707 - fix destination filter delegate param, refactor-auto-gen method; jees 2018-05-18 14:44:05 +01:00
gtully 2eff835ee2 AMQ-6703 - fix regression in MBeanTest - StoreQueueCursor not sharing its audit - have purge use rollback and delegate to both cursors 2018-05-18 11:36:54 +01:00
gtully 8d3674be3d AMQ-6707 - remove duplicated started state flag 2018-05-15 14:55:02 +01:00
gtully 09bf8f89b8 AMQ-6707 - ensure trace logging does not flip cacheEnabled flag outside required sync 2018-05-15 12:00:22 +01:00
gtully 573b366ca0 AMQ-6100 - use setOriginalDestination=false to make this behaviour optional b/c amqp cannot see the original dest property due to immutability of the message properties and folks can depend on the existing original destination behaviour 2018-05-10 10:55:15 +01:00
gtully c1e7dbd53b AMQ-6707 - fix trace log reporting in error 2018-05-09 12:17:29 +01:00
gtully ea70e827c0 AMQ-6707 - JDBC XA recovery and completion.
ensure pending transactions are visible for recovery without restart
sync store and cursor size during and after completion
ensure pending messages are not visible to browsers
retain transaction state on jdbc error
a bunch of new tests around xa completion
2018-04-26 14:58:48 +01:00
Christopher L. Shannon (cshannon) 1d2226e6cf Revert "AMQ-6947 - Make sure counters are updated correct on message drop"
This reverts commit 021c82859c.
2018-04-18 12:34:18 -04:00
Christopher L. Shannon (cshannon) 7123534e1b Revert "AMQ-6947 - Update Queue metrics on expiration"
This reverts commit 6e468b4540.
2018-04-18 12:34:07 -04:00
Christopher L. Shannon (cshannon) 6e468b4540 AMQ-6947 - Update Queue metrics on expiration
The updated dropMessage method only decrements the destination metrics
if a message is removed from the pagedInMessages list to prevent
duplicate updates.  There is also a case where we still need to update
metrics if the message never makes it into the pagedInMessages list in
the first place and that is on expiration so this patch fixes that. A
couple existing tests found this issue.
2018-04-18 09:04:11 -04:00
Christopher L. Shannon (cshannon) 021c82859c AMQ-6947 - Make sure counters are updated correct on message drop
Only update metrics counters when message is removed from the
pagedInMessages list which is important to check in case of duplicates
2018-04-17 08:25:08 -04:00
Christopher L. Shannon (cshannon) 65b0f2ad0d AMQ-6940 - Add flag to disable TopicSubscription in flight stats
To save memory usage in some use cases add a new flag to PolicyEntry
called useTopicSubscriptionInflightStats to allow disabling the
inflight stats
2018-03-29 13:25:36 -04:00
Christopher L. Shannon (cshannon) f69fd6f002 AMQ-6940 - Reduce memory footprint for inflight statistics
For the TopicSubscription case we can reduce the inflight statistics
memory footprint by not storing the entire message reference for in
flight messages and instead just a subset of the information needed.
2018-03-29 09:00:26 -04:00
Christopher L. Shannon (cshannon) 5e2adc0ed7 AMQ-6924 - Fix StoreDurableSubscriberCursor non-persistent message add
StoreDurableSubscriberCursor now properly uses a timeout value when
attempting to add to the temporary store for non-persistent messages to
prevent an indefinite wait on free space
2018-03-09 07:41:09 -05:00
gtully 060817552d [AMQ-4261] use WARN level for producer flow control events, DEBUG if blockedProducerWarningInterval=0 2018-03-02 12:17:24 +00:00
gtully 82c9f9531e [AMQ-6907] add selectorAware option to conditionalNetworkBridgeFilterFactory such that replay back to origin can happen if there are no matching local consumers 2018-02-28 16:07:52 +00:00
gtully efaf9cd77e [AMQ-6906] jdbc store; ensure rolled back prepared ack messages are recovered asap 2018-02-28 13:31:12 +00:00
Pascal Schumacher ecb404b3eb BrokerService: fix typo in field and parameter name 2018-02-20 21:41:50 +01:00
gtully dd2572bcb1 [AMQ-6891] test and fix non tx variant of this leak 2018-01-30 10:51:30 +00:00
Christopher L. Shannon (cshannon) e5de25f4fc NO-JIRA: Add missing license headers 2018-01-29 08:10:50 -05:00
gtully f96a20e831 [AMQ-6891] apply fix and test from Radek Kraus with thanks. Pending cursor adds are now dropped on rollback 2018-01-26 13:18:00 +00:00
gtully 8c77e9553e [AMQ-6880] fix filter match logic when transport connector updateClusterFilter is in play 2018-01-03 16:07:06 +00:00
Łukasz Dywicki a8a032af09 AMQ-6861 Allow customisation of network bridge creation logic. 2017-12-20 22:00:54 -05:00
Christopher L. Shannon (cshannon) 56baba96c6 AMQ-6875 - Use the correct destination for Virtual destination consumers
when using Virtual Topics
2017-12-14 16:01:10 -05:00
gtully 9d98ee253f sync code default with config default to use jvm mbean server 2017-11-24 10:36:52 +00:00
gtully 151e17abfe [AMQ-6854] - periodic log warn on store limits reached in the same way 2017-11-21 14:56:02 +00:00
Christopher L. Shannon (cshannon) 08aa5118ff (AMQ-6858) - add extra precautionary check for demand subs
also remove test that intermittently fails with timing issues
2017-11-16 07:44:33 -05:00
Christopher L. Shannon (cshannon) 6013441a9a AMQ-6858 - handle resync of network proxy durables after restart
We need to properly handle the re-addition of network proxy durables
after the brokers are restarted so removal is done properly
2017-11-15 08:56:43 -05:00
Christopher L. Shannon (cshannon) 3ca439cada AMQ-6858 - Allow configuration of the client Id token in network bridge
The client id token that is used to separate parts of a generated local
client id in a network bridge should be configurable so bridge names and
broker names can contain underscores if desired
2017-11-14 15:23:26 -05:00
Christopher L. Shannon 41211c78d1 AMQ-6858 - reworking durable subscription propagation fix
Significantly reworking previous fix so that the client id is properly
changed when tracking network proxy subscriptions. This makes it so
removal is done properly
2017-11-13 11:07:43 -05:00
Christopher L. Shannon (cshannon) 96ce14b278 AMQ-6858 - Fix several durable subscription bridge propagation issues
Durable network proxy subs will now be properly created across multiple
bridges when 3 or more brokers are used.  Demand will be properly synced
and removed.
2017-11-09 11:21:18 -05:00
gtully b29ccf3488 [AMQ-6854] log warn if page in is blocked on usage preventing dispatch. Reuse blockedProducerWarningInterval to tweak reporting 2017-11-02 16:04:30 +00:00
gtully 03b19b9da4 [AMQ-6847] limit the retry loop to one iteration overa all pending messages such that new additions are not replayed to avoid duplicates 2017-11-01 11:26:36 +00:00
gtully 2ea5d1420b [AMQ-6847] pause dispatch for message move to avoid redelivery with pending ack/remove/audit rollback 2017-10-27 11:40:06 +01:00
gtully 8e576be1d9 [AMQ-6849] - fix sendFailIfNoSpaceAfterTimeout policy entry default value 2017-10-26 11:36:03 +01:00
gtully 6da08b245e [AMQ-6849] provide a virtualTopic dropOnResourceLimit attribute, default to false.
Enabling will allow dispatch to continue even when end to some consumer queues
fail due to resource constraints.
The existing systemUsage sendFailIfNoSpace and sendFailIfNoSpaceAfterTimeout are
promoted to destination policy options allowing selective destinations to fail a
send with an exception. The global system usage options are still in place.
When dropOnResourceLimit=true dispatch will continue in the event that any
subscription queue throws a resource limit exception on send failure.
2017-10-25 14:53:20 +01:00
gtully 41a100766c [AMQ-6824] - fix up prefetchExtension growth on transaction completion and delivered ack and tie in boolean usePrefetchExtension 2017-09-26 11:30:18 +01:00
Erik Wramner c691124d32 AMQ-6808 preserve destination for browsed scheduled messages 2017-09-15 09:02:36 -04:00
Dejan Bosanac 5e656d394c https://issues.apache.org/jira/browse/AMQ-6799 - stop the jmx server connector properly 2017-09-01 13:02:53 +02:00
Christopher L. Shannon (cshannon) 35bd3ad938 AMQ-6798 - Clean up store usage object on Queue stop
When queues are stopped the StoreUsage object needs to be stopped so it
will be removed from the parent StoreUsage.  This allows the object to
be garbage collected and prevents a memory leak.
2017-08-24 09:24:36 -04:00
Dejan Bosanac c7291f1ecf https://issues.apache.org/jira/browse/AMQ-6799 - IOExceptionHandler during the startup 2017-08-24 14:04:36 +02:00
gtully 63f0b7e20d [AMQ-6792] fire the failover exception handler before stop to ensure blocked write does not block stop request 2017-08-11 12:58:51 +01:00
Christian Schneider 8646bb1010 [AMQ-6788] Explain how to fix the problem in the exception 2017-08-08 20:55:56 +02:00
gtully a67c75a9e1 [AMQ-6643] refine fix to allow wildcard subs to non wildcard subscription queues, enable simple wildcard sub to drain all subscription queues 2017-08-08 16:38:11 +01:00
gtully a15626193c [AMQ-6787] release securty context on failure to addConnection subsequent to auth, resolve leak. fix and test 2017-08-04 13:46:16 +01:00
gtully ddfa96028c [AMQ-6778] fix and test - no longer gate firing advisory on broker start flag b/c consumers may be present once transport connectors have started 2017-07-25 13:02:13 +01:00
gtully d7f70837b7 [AMQ-6764] add logging of exit of jmx ops such that overlaps and delays are visible in the audit. fix and test 2017-07-10 14:10:05 +01:00
Christopher L. Shannon (cshannon) a9fe4e33c3 [maven-release-plugin] prepare for next development iteration 2017-06-27 13:41:28 -04:00
Christopher L. Shannon (cshannon) 5f0d6943cb [maven-release-plugin] prepare release activemq-5.15.0 2017-06-27 13:41:01 -04:00
Christopher L. Shannon (cshannon) 2311749aa2 AMQ-6706 - Protecting preShutdownHooks with an AtomicBoolean 2017-06-20 11:05:29 -04:00
Zoran Regvart 155461a0ba
AMQ-6706 Allow for hooks before broker stop occurs
When Camel is run embedded within ActiveMQ it's shutdown is called at
the point the broker is already stopped, this can lead to data loss as
there could be exchanges that have not ended.
This adds the ability to specify preStopHook(s) that can be invoked
during ActiveMQ shutdown but before the broker is shutdown.

With this Camel can gracefully shutdown while the broker is still
started.
2017-06-19 14:29:05 +02:00
gtully b07821ab64 [AMQ-6625] remove kahadbioexceptionhandler by pushing allowIOResumption into persistence adapter. This allows the lease locker to still be used with kahadb for stopStartConnectors support 2017-06-15 17:28:31 +01:00
gtully df3bd83c0d [AMQ-6703] check for enable audit false 2017-06-15 11:22:20 +01:00
gtully 99f3d4c505 [AMQ-6703] have jmx purge clear the audit such that messages can be copied back, fix and test 2017-06-15 10:46:23 +01:00
gtully b6cb0eacea [AMQ-6702] add maxProducersToAudit and maxAuditDepth to dead letter strategy to cofigure the audit, fix and test 2017-06-13 14:26:15 +01:00
Christopher L. Shannon (cshannon) 2a0b785a04 AMQ-6698 - Allow timeout of SSL handshake for auto+nio+ssl
The handshake now takes place inside of the async task that timesout so
that if the SSL handshake takes too long the connection attempt will
honor protocolDetectionTimeout and actually timeout.  Also, change the
default of protocolDetectionTimeout to 30 seconds so it matches the rest
of the broker's default connection timeout settings.
2017-06-08 12:34:15 -04:00
gtully 7413ee00e1 [AMQ-6696] zero out usage for forwarded messages such that the original target is no longer referenced. fix and test 2017-06-02 12:23:58 +01:00
gtully d2c0eddaad [AMQ-6691] allow dlq flag to be set via jmx to allow retry op after a restart - use destinations element for long term persistence 2017-05-31 12:39:48 +01:00
gtully 8023b9ee44 [AMQ-6690] do nothing for move/copy jmx ops that try to modify self 2017-05-31 11:26:46 +01:00
gtully 00ee9491d9 [AMQ-6678] sync destructive purge on queue view mbean (jmx) to prevent concurrent calls 2017-05-29 11:21:00 +01:00
gtully 25f112c5c9 [AMQ-6687] ensure transacted sends blocked on pfc do not resume after tx completion. AMQ-4467 refine the fix such that PFC kicks in such that the cache will accept messsages that push it over it's limit while it is still under the limit 2017-05-25 12:43:08 +01:00
gtully acab282d9c [AMQ-6678] sync destructive queue view mbean (jmx) operations such that concurrent calls see consistent state 2017-05-18 12:37:54 +01:00
gtully a0ba0bf4c6 [AMQ-6667] gate cursor cache enablement on a single pending send and tidy up setbatch to always check outstanding async future list. Fix and test 2017-05-03 11:36:06 +01:00
gtully 57795bafce [AMQ-6665] - check for peercerts is now on tcp transport such that the bridge connection info can have the correct context 2017-04-27 12:07:12 +01:00
gtully 0e74c52e8a [NO JIRA] tidy up MbeanInfo text in DestinationView 2017-04-26 12:10:24 +01:00
Christopher L. Shannon (cshannon) 808a4c5c17 AMQ-6661 - Fix Auto MQTT protocol detection
Protocol detection now takes into account the variable length header in
the CONNECT packet.
2017-04-25 08:47:08 -04:00
gtully 729766e492 [AMQ-6494] ensure vm transport propagates onCommand exceptions to peer 2017-04-04 14:17:27 +01:00
gtully 0f7561e85a Revert "AMQ-6494 Return ExceptionResponse during broker service shutdown"
the root cause seems to be in the vm transport iterator

This reverts commit dce2b61f87.
2017-04-04 14:15:00 +01:00
gtully 679db08db3 [AMQ-6643] ensure a wildcard virtual topic subscriber is restricted to the wildcard destination - avoid duplicate and spurious dispatch. fix and test 2017-04-04 10:16:48 +01:00
gtully 4ef1fc74cf [AMQ-6640] either broker dispatch to bridge or bridge dispatch to broker needs to be async - dispatchAsync network option is the trigger for the vm transport to be sync in line with the current defaults. original BacklogNetworkCrossTalkTest scenario exposed this. upshot is dispatchAsync=false is not compatible with duplicate subscription suppression which is fair. 2017-03-30 12:12:13 +01:00
gtully d84a58656c [AMQ-6640] allign use of sync vm transport usage on duplex end of networkconnector with initiator end. only duplexinbound for forwarding is async to allow thread for responses. vm transport options applied in one place and test more deterministic w.r.t the hang scenario 2017-03-29 23:50:47 +01:00
gtully 8e00c6c2bc [AMQ-6640] fix duplicate suppression sync request on responder end of duplex network connector only b/c that has the async local transport. Additional test. Ensure broker sync is conditional on the need for duplicate suppression which should only be necessary in ring topologies when properly configured 2017-03-28 14:49:23 +01:00
gtully c5a8b2c8b1 [AMQ-6625] ensure kahadb stops operation on the first IOException to facilitate auto recovery from partial writes 2017-03-13 13:49:41 +00:00
gtully 01b1f7f694 [AMQ-3233] respect policy entry blockedProducerWarningInterval for flow control warning, 0 disables and Xmillis makes it periodic, default period of 30s is not unlike the existing once behaviour. fix and tests 2017-03-03 11:23:23 +00:00
gtully e67d48680f [AMQ-6614] fix up jmx blockedSendsCount and producer view blocking flag for async send case. fix and test 2017-03-02 17:00:16 +00:00
gtully b6521e292b [AMQ-6414] additional logging that helped identify root cause 2017-02-27 17:01:16 +00:00
Christopher L. Shannon (cshannon) ef84db5e64 AMQ-6610: Fixing JDBC test
Durable destinations need to always be loaded on connector start
2017-02-27 07:34:22 -05:00
Christopher L. Shannon (cshannon) bab0887ed6 AMQ-6610 - Network connector mbean not registered on reload
On network connector add or update after broker start (such as the
runtime plugins) the mbean was not created.  There was also a couple of
other properties not set. Fixed the network connector start to be the
same for normal broker start and runtime reload.
2017-02-24 14:05:27 -05:00
gtully fad50812af [AMQ-6547] revert mod from AMQ-3143 such that waitForSpace respects child usage, fix test and validate mKahadb blocking send 2017-02-14 11:33:59 +00:00
gtully d86c98a687 [AMQ-6587] - fix root cause of deletion candidate seeing sub. contention between adding sub to dests and adding dests to sub, also removing sub from dests twice could leave dest stat negative allowing invalid candidate for gc 2017-02-10 11:38:03 +00:00
Timothy Bish c049d3c1f7 Add a simple IDERunner for testing
Adds a simple class to run a broker instance with a TCP transport
connector and no persistence enabled for quick tests.
2017-02-07 17:28:28 -05:00
gtully 0ee4f5b843 [AMQ-6587] additional contention window with new sub while gc is in progress - need to verify new sub is actually subscribed to the candidate for deletion. Fix and test 2017-02-07 13:53:40 +00:00
Timothy Bish 9b9e3d3678 https://issues.apache.org/jira/browse/AMQ-6588
Add more detail to log output for easier tracking
2017-02-01 16:15:11 -05:00
gtully e415d2921e [AMQ-6587] ensure subs added to new destination before destination is exposed in the destination map. sort gc contention with wildcard subs and anonymous publish. fix and test 2017-02-01 15:08:46 +00:00
Vasco Veloso 687badb4fd AMQ-6577: honour usePrefetchExtension in TopicSubscription.
AMQ-6577: move usePrefetchExtension flag to AbstractSubscription to promote reuse.
2017-01-30 11:13:57 -05:00
Christopher L. Shannon (cshannon) d0c95146c3 https://issues.apache.org/jira/browse/AMQ-6579
Remove incorrect dispatch counter increment on message expiration in
TopicSubscription when a pending limit strategy is set
2017-01-25 11:16:43 -05:00
Christopher L. Shannon (cshannon) 56bb079c82 https://issues.apache.org/jira/browse/AMQ-1940
Queue purge now acquires the sendLock to prevent new messages from
coming in while purging.  The statistics are no longer zeroed out as
they should properly decrement as messages are removed.  These changes
should prevent the statistics from going negative.
2017-01-24 08:46:15 -05:00
gtully 511b9b642a [AMQ-6562] - suppress warn of durable sub duplicate from the store on cache exhaustion - expected in the absense of ordered sequenceid and setBatch. Fix leak of duplicates pending processing on batch fill for the durable sub case and remove eager page in for prefetch=0 2017-01-13 11:06:05 +00:00
Christopher L. Shannon (cshannon) d9c74d7317 https://issues.apache.org/jira/browse/AMQ-6561
Stop connections on all connection attempt errors, not just security
exceptions, to prevent dangling open sockets.
2017-01-12 10:21:08 -05:00
Christopher L. Shannon (cshannon) bdec3f6ddb https://issues.apache.org/jira/browse/AMQ-6560
Converting flags in TransportConnection to AtomicBoolean to reduce
synchronization and improve thread safety
2017-01-12 07:36:50 -05:00
Christopher L. Shannon (cshannon) 2769298cf6 https://issues.apache.org/jira/browse/AMQ-6555
Fixing Scheduler so that a rescheduled task will first cancel the
existing task so it does not get orphaned from the task map.  Also
fixing Topic start so that it will only start once and not twice.
2017-01-10 10:25:15 -05:00
gtully c76f109692 https://issues.apache.org/jira/browse/AMQ-4467 - modify fix check full against shared limit and high water mark against local limit, additional test 2017-01-10 11:18:00 +00:00
Timothy Bish 56917c07ec https://issues.apache.org/jira/browse/AMQ-6549
Fix bad logger output
2017-01-03 09:57:13 -05:00
gtully 0ae90c0897 https://issues.apache.org/jira/browse/AMQ-6547 - add storeUsage attribute to mKahadb filtered adapter such that disk utilisation is available as a QOS 2016-12-20 14:47:22 +00:00
Christopher L. Shannon (cshannon) 25703fbd1f https://issues.apache.org/jira/browse/AMQ-6538
Fixing an issue with syncDurableSubs that cause a bridge failure when
adding multiple bridges between the same brokers
2016-12-13 11:58:57 -05:00
Christopher L. Shannon (cshannon) 27238b2dd7 https://issues.apache.org/jira/browse/AMQ-6535
Fixing the auto+nio+ssl transport so that the protocol detection task
will properly terminate on timeout and not continue to run. Also
lowered the default detection timeout to 15 seconds instead of 30
seconds to match the InactivityMonitor default.
2016-12-12 11:17:19 -05:00
Daniel Kulp 1a2e3eb0c7 [AMQ-6529] Make sure the LDAP ACL's are definitely loaded when needed. 2016-12-07 14:29:36 -05:00
gtully 8a28c06555 [AMQ-6441] add option to specify the hard limits on a usage such that spurious values from the file system can be overridden. this closes #202 thanks William Crowell for the patch with test 2016-12-07 18:09:34 +00:00
William Crowell 41bec0d658 Fixes AMQ-6441 where a negative value can be returned with large AWS EFS files systems when calling java.io.File.getTotalSpace() 2016-12-07 10:45:12 +00:00
Christopher L. Shannon (cshannon) 3f7ca8406d Revert AMQ-5659
Add safety measure against infinite loop when store exception prevents message removal. Thanks to metatechbe for the patch. This fixes #72."

This reverts commit 78492febc8.
2016-12-05 07:26:59 -05:00
Dejan Bosanac a73eb0eab5 https://issues.apache.org/jira/browse/AMQ-6435 - align jackson version used, with the rest of the project 2016-11-30 11:44:13 +01:00
Claus Ibsen 78492febc8 AMQ-5659: Add safety measure against infinite loop when store exception prevents message removal. Thanks to metatechbe for the patch. This fixes #72. 2016-11-29 18:58:17 +01:00
gtully cfdff4edc5 [AMQ-6518] - fix up aveMessageSize dest stat and test 2016-11-25 10:38:09 +00:00
gtully 7077d2b910 [AMQ-3166] init rollbackonly exception cause such that xaexception has meaning, thanks to james (jtahlborn) for the suggestion 2016-11-22 16:07:55 +00:00
Timothy Bish 2c828b23df https://issues.apache.org/jira/browse/AMQ-6504
Fix intermittent test failure
2016-11-21 12:37:52 -05:00
Timothy Bish e050519ff6 https://issues.apache.org/jira/browse/AMQ-6500
Better handle prefetch extension and pull consumers over Topics to avoid
the remote not receiving all the messages available based on the credit
it has issued.
2016-11-18 11:59:01 -05:00
gtully 2537266740 [AMQ-4082] - ensure masked exception is report in the log on missing broker info from local or remote transports 2016-11-15 13:23:54 +00:00
Christopher L. Shannon (cshannon) 7e648d512d https://issues.apache.org/jira/browse/AMQ-6505
Fixing the auto transport protocol detection so that the byte buffer
that captures the initial bytes for detection is not shared across
threads. This was causing failed connections under high load and high cpu
usage under NIO
2016-11-12 10:02:32 -05:00
Timothy Bish 980162233f https://issues.apache.org/jira/browse/AMQ-6504
Round the start time value not truncate to ensure delay falls on the
correct side of the scheduling block.
2016-11-11 14:48:49 -05:00