Commit Graph

884 Commits

Author SHA1 Message Date
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
Hadrian Zbarcea 5076808b57 AMQ-6497 Add method to navigate interceptors 2016-11-04 17:18:49 -04:00
Hadrian Zbarcea dce2b61f87 AMQ-6494 Return ExceptionResponse during broker service shutdown 2016-11-04 09:30:09 -04:00
Hadrian Zbarcea be24a133ef This closes #88 (merged as a65ac586). More file permissions fixes. 2016-11-03 14:26:34 -04:00
Hadrian Zbarcea d5a929c0d2 This closes #205. Won't fix. (fix even more file permissions) 2016-11-03 14:11:40 -04:00
Hadrian Zbarcea d54d046b8a This closes #185. Won't fix. (fix more file permissions) 2016-11-03 11:54:33 -04:00
Christopher L. Shannon (cshannon) 7c3bb40100 https://issues.apache.org/jira/browse/AMQ-6477
ReduceMemoryFootprint now applies to non-persistent messages if they
have been marshalled and topics now clear memory after the recovery
policy check
2016-10-25 10:19:03 -04:00
Christopher L. Shannon (cshannon) b9cb02ae54 https://issues.apache.org/jira/browse/AMQ-6476
Moving BrokerSubscriptionInfo processing into a new thread to prevent a
deadlock of the network bridge on startup
2016-10-24 07:52:09 -04:00
Christopher L. Shannon (cshannon) d206621a73 https://issues.apache.org/jira/browse/AMQ-6472
Durable sync over a network bridge will now also sync non-durable
subscriptions proplrly if the consumer belongs to a destination that is
configured to force network durable subscriptions.
2016-10-20 13:47:38 -04:00
Christopher L. Shannon (cshannon) 406a34294b https://issues.apache.org/jira/browse/AMQ-6465
Properly decrementing the message reference count in
DemandForwardingBridgeSupport when messages supression is checked for
durable subscriptions
2016-10-14 12:16:07 -04:00
gtully 74a5381b9a AMQ-6463 - provide connection to scheduler context in case of deferred send or error 2016-10-11 11:58:37 +01:00
gtully 8493f6b4d7 AMQ-6459 - store based % usage needs to poll the store for the current value on each access 2016-10-07 14:31:52 +01:00
gtully b6759b33dc AMQ-6403 - init broker temp from provided temp store to align usage checks. Thanks for the patchh shailendra14k@gmail.com, made a mod to respect broker.tmpDataDirectory as a default. This closes #204 2016-10-06 11:47:55 +01:00
Christopher L. Shannon (cshannon) 72650a0b8b https://issues.apache.org/jira/browse/AMQ-6449
Disabling doclint now only activates for JDK 8
2016-10-03 07:37:53 -04:00
Christopher L. Shannon (cshannon) 02082b1aec NO-JIRA: More Java 8 JavaDoc fixes - also fixed findbugs for Java 8 2016-09-30 14:36:44 -04:00
gtully 5385fd1bb3 https://issues.apache.org/jira/browse/AMQ-6446 - use shared logger and pepend statements with connection counter. Old behaviour or per connection logger can be obtained with trace=true&jmxPort=0 2016-09-30 14:05:42 +01:00
Dejan Bosanac e8ba0b0119 https://issues.apache.org/jira/browse/AMQ-6435 - destination mbean query api, return the right count 2016-09-27 12:53:49 +02:00
Christopher L. Shannon (cshannon) a82c95cd29 https://issues.apache.org/jira/browse/AMQ-6436
The temporary store will now delete the old temp directory on start up
if lazyInit is true instead of waiting for the store to initialize to
clear up space.  This prevents space on the disk from being wasted with
old data if the temp store isn't initialized
2016-09-23 15:47:27 -04:00
Christopher L. Shannon (cshannon) 18571ce09b https://issues.apache.org/jira/browse/AMQ-6430
Modifying patch so that only stores that persist the noLocal flag will
check if this flag has changed to prevent a subscription from being
deleted by mistake
2016-09-23 10:59:32 -04:00
Christopher L. Shannon (cshannon) 7c293b661f https://issues.apache.org/jira/browse/AMQ-6430
When a nolocal durable consumer reconnects the new connectionId is properly captured for
the NoLocal expression so that nolocal works on reconnect.  Also fixed
the detection of the nolocal value changing on consumer connect.
2016-09-21 09:34:46 -04:00
gtully ffee8b442f https://issues.apache.org/jira/browse/AMQ-6422 - match proton sender view credit to prefetchExtension - tracking credit to dispatch delta to track additional flow requests. Proton sender layer is distinct from the transport layer - they mirror each other 2016-09-21 10:33:20 +01:00
Dejan Bosanac 6630e81379 https://issues.apache.org/jira/browse/AMQ-6435 - destination mbean query api 2016-09-19 16:22:44 +02:00
Christopher L. Shannon (cshannon) a038655605 https://issues.apache.org/jira/browse/AMQ-6423
Fixing durable sync over a network bridge so that network subscriptions
that are no longer permissible are also cleaned up
2016-09-08 08:28:26 -04:00
gtully 88daeec28f AMQ-6422 - include the inflight count in the prefetch for positive remote credit flows. Fix and test 2016-09-07 17:28:35 +01:00
Christopher L. Shannon (cshannon) 88af1c70d9 https://issues.apache.org/jira/browse/AMQ-6418
Fixing mqtt link stealing default setting for auto transport
2016-09-07 08:17:34 -04:00
Christopher L. Shannon (cshannon) 9ab94883a8 https://issues.apache.org/jira/browse/AMQ-6420
Properly copying wire format options map before applying to the
transport when using auto transports so that the options do not get
cleared and will be used for all future connections
2016-09-07 07:42:13 -04:00
Christopher L. Shannon (cshannon) 98c5866c75 https://issues.apache.org/jira/browse/AMQ-6418
Properly setting the transport properties on the
AutoNIOSSLTransportServer and fixing the Stomp protocol to set the peer
certs when using auto+ssl
2016-09-06 10:17:05 -04:00
Timothy Bish bb8d32c04a https://issues.apache.org/jira/browse/AMQ-6387
Fix up the Memory Store such that it removes the references it adds to
messages when they are placed into the memory durable topic subscription
store.
2016-09-01 16:26:03 -04:00
Christopher L. Shannon (cshannon) ed0e786b60 https://issues.apache.org/jira/browse/AMQ-6414
Changing the nio+ssl transports to trigger a serviceRead after start up
to prevent blocking. The prevents the channels from not reading in
certain cases, most notably with the auto+nio+ssl transport when used
for a network bridge.  Also added a couple tests and changed a network
bridge test to test out auto+nio+ssl.
2016-09-01 11:39:46 -04:00
gtully 2b1cda1964 AMQ-6406 - ensure duplicates trapped by the cursor-add or queue-page-in are removed from the message store 2016-08-25 15:01:19 +01:00
gtully 5a874816b7 AMQ-6403 - add indexDirectory attribute to kahadb plist impl - settable via broker service tempDataStore 2016-08-24 11:39:22 +01:00
gtully 6d44ae6e97 AMQ-5815 - remove obsolete remnant of fix for AMQ-2594. holding global lock before attempting to get index and checkpoint lock can lead to deadlock if checkpoint write lock request pops in 2016-08-15 11:37:38 +01:00
gtully 4800a7a1a4 AMQ-6392 - allow mapping of host names via the publish address strategy 2016-08-09 15:22:28 +01:00
gtully 9249315688 AMQ-6389 - init the size attribute prior to logging a message send in the logging plugin 2016-08-08 16:46:49 +01:00
Christopher L. Shannon (cshannon) 06a21dbbb3 [maven-release-plugin] prepare for next development iteration 2016-08-02 09:03:37 -04:00
Christopher L. Shannon (cshannon) 71cbc65283 [maven-release-plugin] prepare release activemq-5.14.0 2016-08-02 09:02:54 -04:00
Christopher L. Shannon (cshannon) e73ab34837 https://issues.apache.org/jira/browse/AMQ-6383
https://issues.apache.org/jira/browse/AMQ-6373

Adding a new flag that can be specified on a network bridge to allow
forcing of subscriptions to be durable.  Cleaned up some unit tests.
2016-08-01 10:02:56 -04:00
Christopher L. Shannon (cshannon) 82295fd2c6 https://issues.apache.org/jira/browse/AMQ-6381
Fixing DurableTopicSubscription so that an ack will properly update the
forwards statistic on an ack
2016-07-29 15:56:52 -04:00
Christopher L. Shannon (cshannon) cf3d419528 https://issues.apache.org/jira/browse/AMQ-6375
Adding non-blocking metrics to KahaDB to track message counts and sizes
for subscriptions.  Turned off by default but can be enabled on the
KahaDBPersistenceAdapter
2016-07-26 12:02:44 -04:00
gtully 01cfa7727d AMQ-6361 - fix additional test regression on topic sub expiry AMQ4083Test,MessageEvictionTest 2016-07-26 13:45:41 +01:00
Christopher L. Shannon (cshannon) 3953b9aaef https://issues.apache.org/jira/browse/AMQ-6373
Adding a new OpenWire command called BrokerSubscriptionInfo in order to
help synchronize durable subs across a network bridge.  Added OpenWire
version 12.  For dynamicallyIncludedDestination durable subs will now be
synchronized on a bridge reconnect as long as the bridge supports
conduitSubscriptions and dynamicOnly=false
2016-07-25 11:56:13 -04:00
gtully 6cc2c1190d AMQ-6361 - fix contention over expiry processing with expiry task and client expiry ack, unit test regression sorted. 2016-07-22 15:18:31 +01:00
Christopher L. Shannon (cshannon) 9f7d70ba0d https://issues.apache.org/jira/browse/AMQ-6366
Need to make sure that the durableDestinations set on the duplex bridge
are only topics
2016-07-20 08:33:45 -04:00
Timothy Bish e05db7cb5c https://issues.apache.org/jira/browse/AMQ-6273
increment the connect attempt count explicitly to ensure reconnect
policy options are applied.
2016-07-19 17:26:24 -04:00
Christopher L. Shannon (cshannon) 39184e2fb0 https://issues.apache.org/jira/browse/AMQ-6366
Fixing the duplex bridge case for restarting durable subscriptions when
dynamicOnly is false
2016-07-19 11:31:44 -04:00
Timothy Bish cd5ea6c27f https://issues.apache.org/jira/browse/AMQ-6361
Honor the expired ack from the client as the authority on expiration
2016-07-15 15:08:26 -04:00
Christopher L. Shannon (cshannon) 42dabb7a7a https://issues.apache.org/jira/browse/AMQ-6357
Preventing a divide by 0 error by taking a local reference to the
prefetch size to guarantee that the value doesn't change after the > 0
check
2016-07-14 10:07:02 -04:00
Christopher L. Shannon (cshannon) d635a36940 https://issues.apache.org/jira/browse/AMQ-6352
Fixing PList size tracking by moving the null assignment on removal to
after the onRemoval method is called to make sure that the decrement is
done properly.
2016-07-12 10:27:57 -04:00
Timothy Bish 31c55f7510 https://issues.apache.org/jira/browse/AMQ-6339
Add support for AMQP client to connect using WebSockets.
2016-06-30 14:52:40 -04:00
Timothy Bish 4e23adfcc9 https://issues.apache.org/jira/browse/AMQ-6340
combine the lists in the correct order for later redispatch.
2016-06-29 12:57:30 -04:00
Christopher L. Shannon (cshannon) 6be36305f6 https://issues.apache.org/jira/browse/AMQ-6337
Checking for the correct number of arguments before reflectively
invoking a method in DefaultAuthorizationMap
2016-06-23 20:34:50 +00:00
Timothy Bish 03785a4d53 https://issues.apache.org/jira/browse/AMQ-6334
Fix error handling for connection establishment on the bridge.
2016-06-23 11:03:06 -04:00
Dejan Bosanac 1faa4afa90 https://issues.apache.org/jira/browse/AMQ-6331 - Honor excluded destinations in static routing on network connectors 2016-06-21 15:07:30 +02:00
Christopher L. Shannon (cshannon) a953f11d0e https://issues.apache.org/jira/browse/AMQ-6323
Applying reduceMemoryFootprint for persistent Topic messages
2016-06-14 14:36:37 +00:00
Dejan Bosanac 9f9b0fb26a https://issues.apache.org/jira/browse/AMQ-6322 - Introduce timeout in network bridge for waiting broker infos 2016-06-14 14:29:11 +02:00
gtully f548aafa81 move test utility to broker module to allow reuse from jdbc module tests 2016-06-10 10:20:33 +01:00
Timothy Bish 98d2000833 https://issues.apache.org/jira/browse/AMQ-6275
Avoid unnecessary connection state lookup leading to lock ordering
issues.
2016-06-09 12:10:09 -04:00
Jonathan Malek 6bf5987921 A fix for AMQ-6310
Checking for leading wildcard in the prefix for a virtualtopic,
modifying the behavior of shouldDispatch in the VirtualTopicInterceptor.
2016-06-04 16:51:27 -07:00
gtully 1f9b139f59 test for uuid temp request/reply from camel across network 2016-06-02 16:58:03 +01:00
gtully 29b833fe8e fix shadowing and ensure close of connection, ci... 2016-05-26 11:30:32 +01:00
gtully fe9d99e7a0 AMQ-3166 - implement rollbackOnlyOnAsyncException such that async exceptions on transactional sends or acks result in the transaction being marked rollback only and commit failing with an exception. Test that shows current state of play using alwaySendSync or AsyncCallback. rollbackOnlyOnAsyncException enabled by default. 2016-05-25 11:24:43 +01:00
gtully b4e35fe8a3 AMQ-4181 - revert mod to testQueueBrowserWith2ConsumersInterleaved which cause intermittent ci failure - browse is a snapshot at time of creation. tidy up some gaps in pagein logic sync 2016-05-23 13:29:39 +01:00
Timothy Bish 0883011147 Fix data dir path change that shouldn't have been committed with the
other fixes.
2016-05-18 11:02:14 -04:00
gtully c2230fda4b https://issues.apache.org/jira/browse/AMQ-6286 - refine fix to distinguish multiple consumers in a transaction, verify insertion at head will preserve order 2016-05-18 10:09:39 +01:00
Timothy Bish 2c3046b816 Fix test timing out on slow spinning disks.
On a local drive with heave I/O this test took over 2.5 minutes to
complete, CI machines can see similar times, bumped timeout to 5 minutes
to account for this range.
2016-05-17 13:00:56 -04:00
Christopher L. Shannon (cshannon) 1241e4120a https://issues.apache.org/jira/browse/AMQ-6293
Fixing Queue destination statistics in dropMessage by adding sync in
between the check for dropped and actually dropping the message plus
fixing dequeue stats so messages aren't counted twice
2016-05-14 16:20:41 +00:00
Timothy Bish b9334960e0 Add some additional time to the wait for completion assert. On a
sufficiently loaded system 30s is not quite enough.  This is
reproducable if run while a heavily I/O based application is also
running in the background.
2016-05-13 12:50:13 -04:00
Christopher L. Shannon (cshannon) d3ea5c4f9f https://issues.apache.org/jira/browse/AMQ-5621
Fixing LinkStealingTest by adding a wait because removeConnection
may not have been called yet when checking if the removeException
exists the first time
2016-05-10 11:44:17 +00:00
gtully 604f707d4d https://issues.apache.org/jira/browse/AMQ-6286 - refactor insertAtHead from pendinglist to ordered variant 2016-05-10 11:45:27 +01:00
gtully f47b370573 https://issues.apache.org/jira/browse/AMQ-6286 extend strictOrderDispatch to retain order of redispatched messages for a single consumer 2016-05-09 23:06:19 +01:00
Timothy Bish 6cf8bed0c5 https://issues.apache.org/jira/browse/AMQ-5621
Update test with additional checks and logging to try and see what is
happening when it is failing in CI.
2016-05-09 16:57:39 -04:00
gtully 9fc2661049 validate selector aware vt can give topic semantics by dropping messages when there is no consumer. Do selector cache plugin once to avoid adaptor check on each dispatch 2016-05-06 17:12:15 +01:00
Timothy Bish 5009b0c03b https://issues.apache.org/jira/browse/AMQ-6247
Allow the provider position to be read from the system.
2016-05-06 09:37:51 -04:00
Timothy Bish 5096463b00 https://issues.apache.org/jira/browse/AMQ-6281
Deprecate the copyMessage option and remove usage, always copy a
forwarded message.
2016-05-05 12:59:29 -04:00
Quinn Stevenson 1ccd17791b AMQ-6274 - set originalDestination for composite destinations
This closes #184
2016-05-05 11:38:48 -04:00
Timothy Bish a28a091c55 https://issues.apache.org/jira/browse/AMQ-6264
Fire advisory for slow consumer outside the pending lock.
2016-05-04 16:32:01 -04:00
Christopher L. Shannon (cshannon) 297eadf746 https://issues.apache.org/jira/browse/AMQ-6267
Added two new properties for configuration to a network bridge,
advisoryPrefetchSize and advisoryAckPercentage.  By default
advisoryPrefetchSize is set to 0, which is disabled, and will use the
prefetchSize value unless otherwise set.  Also added validation to
prefetchSize to make sure it is greater than 0 as 0 is not allowed.
2016-04-27 14:11:05 +00:00
Timothy Bish 8031d77f98 https://issues.apache.org/jira/browse/AMQ-6251
Make field volatile since it is written to outside of any locks and read
both in and out of locking.
2016-04-26 10:04:21 -04:00
Christopher L. Shannon (cshannon) 11622b3af3 https://issues.apache.org/jira/browse/AMQ-6256
Moving beforeMarshall back to the store implementations because we don't
want all store implementations to marshall (such as memory store)

This reverts commit b9b98a45ce.
2016-04-18 12:34:25 +00:00
Christopher L. Shannon (cshannon) 9c8bd3360f https://issues.apache.org/jira/browse/AMQ-6222
Reverting the change to move clearMarshalledState into the callback
listener as beforeMarshall is now called before the async message add

Revert 75990ef14a
2016-04-18 11:49:16 +00:00
Christopher L. Shannon (cshannon) b9b98a45ce https://issues.apache.org/jira/browse/AMQ-6256
Moving beforeMarshall call out of the store and into the actual
destination
2016-04-15 14:17:00 +00:00
Timothy Bish 19fd084a83 https://issues.apache.org/jira/browse/AMQ-6252
Update for some added thread safety.  Adds method healthStatus that will
regenrate the status from the healthList data which is more intuitive
than the getCurrentStatus which doesn't update state and requires
periodic calls to healthList to capture current metrics.
2016-04-14 16:53:17 -04:00
Timothy Bish f9682b802f https://issues.apache.org/jira/browse/AMQ-6127
LOG at info level for when broker is being stopped and a new connection
is not being accepted.
2016-04-12 16:28:23 -04:00
Timothy Bish c1b58d3373 https://issues.apache.org/jira/browse/AMQ-6239
Refactor the iterator implementation in the PrioritizedPendingList to
not copy elements and instead use the level iterators.  Add some
additional tests.
2016-04-12 11:35:03 -04:00
gtully 2a8218a9a8 https://issues.apache.org/jira/browse/AMQ-6151 - retain list for redeliveries and combine for dispatch/iteration such that redeliveries retain per priority order after prefetch 2016-04-06 15:09:36 +01:00
gtully a3a8c1c525 https://issues.apache.org/jira/browse/AMQ-6215 - support 0 maxBrowsePageSize and maxExpirePageSize such that lazyDispatch ensures highest priority messages is available to a pull consumer 2016-04-05 13:23:06 +01:00
Christopher L. Shannon (cshannon) b2327db3b7 https://issues.apache.org/jira/browse/AMQ-6133
Disabling async queue message store when persistJMSRedelivered is turned
on for a destination.  That flag will cause a sync update later on
dispatch which can cause a race condition if the original message add is
processed after the update.  This can cause a duplicate message to be
stored.
2016-04-01 16:40:45 +00:00
Timothy Bish 48ba714b30 https://issues.apache.org/jira/browse/AMQ-6210
Clean up and apply filtering for temp destinations to removeConsumer as
well.  

This closes #175
2016-03-28 14:40:00 -04:00
Timothy Bish f3ecc293f0 https://issues.apache.org/jira/browse/AMQ-6210
Don't cache selectors for temp destinations.
2016-03-28 14:34:20 -04:00
Timothy Bish c53b99c14d NO-JIRA Fix test such that the broker ports are selected dynamically
instead of hardcoded.
2016-03-23 10:23:10 -04:00
Christopher L. Shannon (cshannon) 75990ef14a https://issues.apache.org/jira/browse/AMQ-6222
Moving clearedMarshalledState execution to the async listener on an
async add to the message store.  This is necessary to make sure this
logic doens't execute until after the message is marshalled for the
store.
2016-03-22 17:54:13 +00:00
Dejan Bosanac a4c748883a https://issues.apache.org/jira/browse/AMQ-6211 - synchronize creating of jmx composite types 2016-03-14 17:10:13 +01:00
gtully ae441cbc7d https://issues.apache.org/jira/browse/AMQ-6208 - fix and test 2016-03-11 12:01:18 +00:00
Christopher L. Shannon (cshannon) a2781e3966 https://issues.apache.org/jira/browse/AMQ-6204
Fixing the removal logic on virtual destination remove inside of
Advisory Broker to clean up virtual destination maps properly.  Added a
test to verify.  Also added new debug logging to help track down any
future issues.
2016-03-09 19:54:08 +00:00
Timothy Bish 8b23e072ee https://issues.apache.org/jira/browse/AMQ-5785
Avoid holding the intrinsic lock on the cursor when expiring the
messages.
2016-03-08 13:37:58 -05:00
gtully 078f39f589 https://issues.apache.org/jira/browse/AMQ-6199 - apply CursorMemoryHighWaterMark to topic subscriptions 2016-03-08 16:45:06 +00:00
gtully 67ae2bd8a4 https://issues.apache.org/jira/browse/AMQ-6070 - fix npe in org.apache.activemq.usecases.ExpiredMessagesWithNoConsumerTest#testExpireMessagesForDurableSubscriber 2016-03-07 16:44:33 +00:00
gtully 13ec994939 Revert "https://issues.apache.org/jira/browse/AMQ-4495 - revisit. Reinstate check for space on pagein, so that highWaterMark is respected and full state is not reached, hense pfc is not triggered in error"
This reverts commit d8cf54b0a9.
2016-03-07 16:26:25 +00:00
Christopher L. Shannon (cshannon) 903dec615c https://issues.apache.org/jira/browse/AMQ-6194
Fixing an issue that caused statistics for a transactional temporary
queue to be updated twice by mistake.  Moved the statistics update into
tryOrderedCursorAdd so that the update is called immediately only if
not inside a transaction.
2016-03-07 14:15:35 +00:00
gtully d8cf54b0a9 https://issues.apache.org/jira/browse/AMQ-4495 - revisit. Reinstate check for space on pagein, so that highWaterMark is respected and full state is not reached, hense pfc is not triggered in error 2016-03-01 11:44:41 +00:00
Brian D. Johnson 552c0f0f7a https://issues.apache.org/jira/browse/AMQ-6188 - reset BaseDestination.lastActiveTime each time a message is delivered to the broker. 2016-02-26 20:46:32 +00:00
Timothy Bish c2ad0c3251 AMQ-6183 Add isDispatchSync to the subscription view and deprecate the
meaningless one in the producer view
2016-02-24 17:25:01 -05:00
Jeff Genender 49974279a7 AMQ-6175 - Web console needs to only obtain lists of MBeans that are not
suppressed.
2016-02-18 14:25:30 -07:00
gtully b0c0441d09 https://issues.apache.org/jira/browse/AMQ-6171 - fix vm transport replacement of : from brokerName in error, fix networkConnector retry logic in the event of localTransport creation failure 2016-02-15 14:14:19 +00:00
gtully 499e39e52c https://issues.apache.org/jira/browse/AMQ-6164 - allow journal write batching on a single destination 2016-02-09 12:50:27 +00:00
Timothy Bish 386210fafe https://issues.apache.org/jira/browse/AMQ-6159
Ensure proper repeat counts are scheduled.
2016-02-04 17:16:58 -05:00
Christopher L. Shannon (cshannon) 33dded13df https://issues.apache.org/jira/browse/AMQ-6036
Slight refactoring to make the WildcardFinder class use a static method
so that we don't have to allocate throw away objects that will
immediately be garbage collected.
2016-02-04 16:53:02 +00:00
Patrik Dudits 278d29dadc https://issues.apache.org/jira/browse/AMQ-6036
Parsing message selector for wildcard matches for ignoreWildcardSelectors feature
2016-02-04 16:51:51 +01:00
gtully c17b7fdc7f add trace level log to shared file locker keepAlive 2016-02-04 13:28:59 +00:00
Marc Breslow 4a937def7d Fix Impossible Cast issues in MemoryTopicSub:
- recoverSubscription()
-- map is defined as LinkedHashMap<MessageId, Message>
-- msg is defined as <map> entry.getValue() so must be a Message
-- condition if (msg.getClass() == MessageId.class) could never be true
-- no need to cast at all when using generics

- recoverNextMessages()
-- basically same code copy/pasted so same fix

Removed 2 conditions from ServerSessionPoolImpl that would result in impossible casts. Conditions removed were trying to cast ActiveMQQueueSession and ActiveMQTopicSession to ActiveMQSession which is illegal.

Since it isn't obvious what to do if you get an ActiveMQQueueSession or ActiveMQTopicSession from getServerSession() I make it fall back to the else condition which raises an async exception. This is better than getting a ClassCastException at runtime.

Remove impossible cast in MemoryMessageStore
2016-02-01 12:57:50 +00:00
gtully 5af5b59d3b https://issues.apache.org/jira/browse/AMQ-6151 - respect prioritizeMessages for pending and redelivered messages 2016-02-01 12:19:49 +00:00
Daniel Kulp a772b0ef72 Remove a printStackTrace for an exception that is also logged. Produces noise on console 2016-01-27 10:06:36 -05:00
Timothy Bish 4ecff14030 NO-JIRA Update master version to 5.14.0-SNAPSHOT to match the eventual
release version.
2016-01-20 12:40:20 -05:00
Christopher L. Shannon (cshannon) 7b7e362465 https://issues.apache.org/jira/browse/AMQ-6129
fixing typo
2016-01-15 15:09:37 +00:00
Christopher L. Shannon (cshannon) 10c998b0bc https://issues.apache.org/jira/browse/AMQ-6129
Adding NetworkBridgeStatistics and also a received count for bridges
when they are in duplex mode.
2016-01-15 14:54:04 +00:00
gtully 2b84cd60ba https://issues.apache.org/jira/browse/AMQ-6128 - fix and test - fix values on priority ordered pending - messages assigned to browsers need to be ordered 2016-01-15 14:31:09 +00:00
Timothy Bish 505a76a8bb https://issues.apache.org/jira/browse/AMQ-6059
Ensure that a message sent to the store for the DLQ is rewritten so that
its updated values are written to prevent exirpation loops and loss of
reollback cause etc.
2016-01-12 11:51:48 -05:00
Timothy Bish 66cfc7bab3 AMQ-6121
AMQ-6122

Prevent messages on DLQ for looping back onto the same DLQ.  Prevents
expired messages from bouncing back and duplicate messages from the
store from causing a deadlock.
2016-01-11 10:57:38 -05:00
Altaflux 3bb7e4a5c8 Network of brokers on duplex mode reports InstanceAlreadyExistsException on already existing destinations
https://issues.apache.org/jira/browse/AMQ-6052
closes #164
2016-01-11 12:59:33 +00:00
Altaflux 6b1e87410d Network of brokers on duplex mode reports InstanceAlreadyExistsException on already existing destinations 2016-01-11 12:59:33 +00:00
Dejan Bosanac 5f8a3df5a4 https://issues.apache.org/jira/browse/AMQ-6116 - improve security context 2016-01-08 17:05:58 +01:00
gtully e3df09b9db https://issues.apache.org/jira/browse/AMQ-6094 - regression via https://issues.apache.org/jira/browse/AMQ-6014 - incorrect ref count on message expiry event during cursor move for dispatch. Fix and test - thanks for the test 2016-01-05 14:09:16 +00:00
Timothy Bish 8906a53ae5 https://issues.apache.org/jira/browse/AMQ-6105
Remove deprecated methods from JMX tree
2015-12-22 13:33:36 -05:00
Timothy Bish 564d55023e https://issues.apache.org/jira/browse/AMQ-6102
Call to the statistics instance of the subscription to reset the
counters.
2015-12-21 17:03:24 -05:00
Dejan Bosanac 4e63ee7cc7 https://issues.apache.org/jira/browse/AMQ-6100 - Virtual topic message destination should be the target queue 2015-12-21 15:19:22 +01:00
Timothy Bish 46654b2dee https://issues.apache.org/jira/browse/AMQ-6093
Remove deprecated URL accessors from BrokerViewMBean
2015-12-17 13:55:08 -05:00
Christopher L. Shannon (cshannon) a253ad3c71 https://issues.apache.org/jira/browse/AMQ-6091
The JavaRuntimeConfigurationBroker can now apply a subset of policy
properties retrospectively to existing destinations versus applying
all properties of the policy update.
2015-12-17 14:35:50 +00:00
gtully 455a628305 https://issues.apache.org/jira/browse/AMQ-6086 - avoid logging npe on attempted start of persistence adapter post stop 2015-12-14 16:32:10 +00:00
gtully 35df815fb8 https://issues.apache.org/jira/browse/AMQ-6086 - start exception can prevent stop from exiting fully, need to be more selective in creation on stop. 2015-12-14 15:40:05 +00:00
gtully da076f4a63 https://issues.apache.org/jira/browse/AMQ-6086 - add some determinism to interleaved stop and start calls on broker service 2015-12-11 16:22:31 +00:00
gtully 93092f7ea0 https://issues.apache.org/jira/browse/AMQ-6070 - rework regression - KahaDBStoreRecoveryExpiryTest had NPE in the logs, region dest not set on recovery listener for expiry case 2015-12-11 15:27:28 +00:00
gtully 768fa17085 https://issues.apache.org/jira/browse/AMQ-6005 - have plist whack it existing state on start. Start the temp store after the primary persistence adapter which does the locking 2015-12-10 14:24:03 +00:00
gtully d7febddb67 https://issues.apache.org/jira/browse/AMQ-6084 - add broker.adjustUsageLimits to disable the adjustment of limits to what is available. In this way, a broker will fail to start if constrained, ensuring it won't accept connections and block pending resources if it has earlier exited for that reason 2015-12-10 11:23:56 +00:00
Christopher L. Shannon (cshannon) 5772e7bed8 https://issues.apache.org/jira/browse/AMQ-6080
fixing typos
2015-12-08 13:18:11 +00:00
gtully 88ec9dad9d https://issues.apache.org/jira/browse/AMQ-5454 https://issues.apache.org/jira/browse/AMQ-6070 - in the case of duplicates from the store the regiondestination was not set 2015-12-08 11:25:50 +00:00
gtully 179dc3acb2 https://issues.apache.org/jira/browse/AMQ-6070 - rework for virtual topic case, use the destination from the transient region destination rather than the message, such that consumer queue advisories work for delivered etc 2015-12-08 11:05:25 +00:00
gtully 75ff17af41 https://issues.apache.org/jira/browse/AMQ-6070 - set correct originalDestination property value in advisories 2015-12-03 12:14:18 +00:00
Christopher L. Shannon (cshannon) d346a765e3 https://issues.apache.org/jira/browse/AMQ-6062
Updated QueueBrowserSubscription to use a ConcurrentMap to avoid a
potential race condition when multiple queue browsers browse
multiple queues.
2015-12-02 15:51:55 +00:00
Christopher L. Shannon (cshannon) 8363c99b51 https://issues.apache.org/jira/browse/AMQ-6069
Fixed contains method in PrioritizedPendinList which was not returning
correctly.  This was causing messages to not be removed from the
dispatchPendingList when purge was called inside a Queue leading to an
eventual OOM error if enough messages were purged. This fix also
improves performance of the contains method.
2015-12-02 13:24:32 +00:00
Christopher L. Shannon (cshannon) cfb4ca9f54 [maven-release-plugin] prepare for next development iteration 2015-11-30 13:48:58 +00:00
Christopher L. Shannon (cshannon) abfe038ddf [maven-release-plugin] prepare release activemq-5.13.0 2015-11-30 13:48:11 +00:00
gtully f09000d1e6 https://issues.apache.org/jira/browse/AMQ-6065 - ensure no call to exit. fix mock test to account for extra call 2015-11-30 13:24:19 +00:00
gtully 1bef4de4dc Revert "https://issues.apache.org/jira/browse/AMQ-6065"
CPL dependency is not fully compatable with ASF and is not really necessary

This reverts commit 39a20bd788.
2015-11-30 13:24:18 +00:00
Christopher L. Shannon 39a20bd788 https://issues.apache.org/jira/browse/AMQ-6065
Fixed test case so that a System.exit call will not take down the
JVM and cause the test suite to abort in Jenkins early
2015-11-29 10:05:27 -05:00
Christopher L. Shannon 673c2928a1 https://issues.apache.org/jira/browse/AMQ-6066
Improving performance of OrderedPendingList contains method

Thanks for David Sitsky for the patch
2015-11-28 13:25:53 -05:00
gtully 2aa172f905 https://issues.apache.org/jira/browse/AMQ-6065 - allow ioexception handler to flip the systemExitOnShutdown broker attribute before calling stop, i.e: exit on store io errors 2015-11-27 14:21:20 +00:00
gtully 0a12bcb928 https://issues.apache.org/jira/browse/AMQ-2191 https://issues.apache.org/jira/browse/AMQ-3529 - rework fixes to remove uncertanty from dealing with intettuptedexception. Sync requests will trap interrupts that ocurr while waiting for responses and fail the connection with an interruptedioexception. Interrupts pending before requests will be suppressed, allowing possible clean shutdown. It is not safe to replay openwire ops b/c they are not idempotent, the only safe option is to have a teardown of the broker side state from a close 2015-11-27 12:21:56 +00:00
Christopher L. Shannon (cshannon) 29d943429c https://issues.apache.org/jira/browse/AMQ-5393
Reverting commit because allowing 0 doesn't actually set the usage to
0 size.  It ends up disabling the check all together which was the
opposite intention of the commit.

This reverts commit 3b658f8e1a.
2015-11-25 17:59:41 +00:00
Christopher L. Shannon (cshannon) 35b7ac250b https://issues.apache.org/jira/browse/AMQ-5898
Removing assertion in VirtualDestinationInterceptor to allow
multiple composite destinations to forward to a physical destination
2015-11-25 13:33:32 +00:00
Christopher L. Shannon (cshannon) 3b658f8e1a https://issues.apache.org/jira/browse/AMQ-5393
Allowing disk limit percentages to be 0
2015-11-25 13:18:59 +00:00
Christopher L. Shannon (cshannon) bc9edf00d1 https://issues.apache.org/jira/browse/AMQ-6058
Updating patch to make sure SelectorAwareVirtualTopics are covered
and code cleanup
2015-11-23 20:35:32 +00:00
Chad Zobrisky dca6e4506e AMQ-6058 added a check to make sure the destination starts with the virtual topic prefix. 2015-11-23 20:10:26 +00:00
gtully 4318eba4a3 https://issues.apache.org/jira/browse/AMQ-6014 - topic store prefetch should take ownership like in the non persistent case - DurableSubscriberNonPersistentMessageTest regression 2015-11-23 12:27:03 +00:00
Christopher L. Shannon (cshannon) cc6213ebf2 https://issues.apache.org/jira/browse/AMQ-5712
Switching addMessageLast to tryAddMessageLast when messages are added
to a Queue pending cursor to allow a potential deadlock to be
avoided. There is more work to be done here but this will at least
prevent a deadlock from occurring.

Fix and test based off of a patch created by Timothy Bish.
2015-11-20 20:58:27 +00:00
gtully 15412bae64 AMQ4221Test - remove system exit as it breaks surefire fork, https://issues.apache.org/jira/browse/AMQ-6004 interrupt causes errors on shutdown. Two are sorted but the check for errors in the logs may still cause intermittent failures 2015-11-18 16:08:29 +00:00
Christopher L. Shannon (cshannon) 09054fc4a8 https://issues.apache.org/jira/browse/AMQ-6050
Clearing the subscription from the local map in
DemandForwardingBridgeSupport to make sure that demand can be properly
recreated again.
2015-11-18 15:06:33 +00:00
Timothy Bish 078a101cf7 https://issues.apache.org/jira/browse/AMQ-6000
Fix and test, wakeup queue dispatch when resume is called.
2015-11-10 15:39:51 -05:00
Timothy Bish 938aa626c2 https://issues.apache.org/jira/browse/AMQ-6039
If the rename option fails, then we must try a complete copy since the
move can cross file systems.
2015-11-10 11:12:50 -05:00
Christopher L. Shannon (cshannon) cc81680e10 https://issues.apache.org/jira/browse/AMQ-6027
Adding support for consumers on virtual destinations to create network
demand. This behavior is turned off by default but can be enabled.

For example, if a consumer comes online for a queue that is part of a
VirtualTopic, this will cause a network of brokers to forward messages
because a demand subscription will be created. Same for if a consumer
comes online for a forwarded destination from a composite
destination.

There is also an option to enable flow based on the existence of a
virtual destination if the virtual destination is forwarding to a
Queue.

Full configuration instructions for this feature will be on the wiki page.
2015-11-09 20:07:43 +00:00
Timothy Bish 014d5594d6 AMQ-6032 Repack message prior to scheduler dispatch to store updated
properties in marshaled form.
2015-10-30 14:11:06 -04:00
Christopher L. Shannon (cshannon) c5506f5b17 Switching getter method to public
Switching isReduceMethodFootprint() to public access so it can be
accessed.
2015-10-30 15:39:24 +00:00
gtully 5d697cff3b https://issues.apache.org/jira/browse/AMQ-6016 - rework fix for https://issues.apache.org/jira/browse/AMQ-2106 - account group assignment on a per destination basis to prevent modification during consumer ordering 2015-10-21 14:02:56 +01:00
gtully a01578ad4c fix stop/stop or stop no start NPE on sharedfilelocker 2015-10-20 13:02:57 +01:00
gtully dc19d28af9 https://issues.apache.org/jira/browse/AMQ-3573 https://issues.apache.org/jira/browse/AMQ-2834 - only validate limits if they are set 2015-10-20 12:17:23 +01:00
gtully 1ad0117932 https://issues.apache.org/jira/browse/AMQ-6014 - fix up reference counting for durable subs such that ack on one sub does not decrement usage for offline subs. Fix and test 2015-10-19 16:22:57 +01:00
gtully b285d10188 https://issues.apache.org/jira/browse/AMQ-4705 - ensure jvm lock system property is cleared in the event of lock release throwing exception. 2015-10-14 15:08:59 +01:00
Christopher L. Shannon (cshannon) af09b4586b Improving disk usage log message
Improving the warning message for a percent disk usage check so it is
more clear what the original limit was set to and what the current
limit is being set to.
2015-10-14 11:35:18 +00:00
Christopher L. Shannon (cshannon) 6fef9eea65 Cleaning up logging
Fixing one of the logging statements for the disk usage check process
that warns when the amount of free space is too low
2015-10-07 11:55:20 +00:00
Timothy Bish 81b4b9ae3d https://issues.apache.org/jira/browse/AMQ-5996
When possible check for noLocl changes on durable subscription
reactivation and recreate the durable sub if it changes.  For both
selector change and noLocal change also update the AbstractSubscription
selectorExpression so it matches with what was requested.
2015-10-01 19:23:58 -04:00