Commit Graph

774 Commits

Author SHA1 Message Date
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
gtully 86c826c461 https://issues.apache.org/jira/browse/AMQ-5568 - verify delete return code for win platform failure. Thanks to Erik Wramner for the heads up 2015-09-22 12:56:13 +01:00
Christopher L. Shannon (cshannon) 00d19e7b66 Removing inadvertantly checked in file 2015-09-21 17:13:36 +00:00
gtully cc9b9b0843 https://issues.apache.org/jira/browse/AMQ-5938 - remove unnecessary topic cast - breaks auth scenario. Fix and test 2015-09-21 14:48:44 +01:00
Christopher L. Shannon (cshannon) d2bd152960 Tweaking some unit tests to improve reliability 2015-09-17 11:28:14 +00:00
Dejan Bosanac ee4672baaf https://issues.apache.org/jira/browse/AMQ-5972 - wildcard policy entries not applied in correct order 2015-09-17 11:08:21 +02:00
Christopher L. Shannon (cshannon) 4cddd2c015 https://issues.apache.org/jira/browse/AMQ-5963
Disk limits can now be specified as a percentage of the partition size
that the store is located on.  The usual checks of the max size
exceeding the available space will still apply.  When using a
percentage, the store can always regrow itself if space becomes
available.

https://issues.apache.org/jira/browse/AMQ-5964
https://issues.apache.org/jira/browse/AMQ-5965
https://issues.apache.org/jira/browse/AMQ-5969
2015-09-15 14:50:18 +00:00
Christopher L. Shannon (cshannon) 4f8d56aaf6 https://issues.apache.org/jira/browse/AMQ-5967
Updating temporary limit disk check to take into account space being
used by the temporary store itself
2015-09-14 19:46:57 +00:00
Christopher L. Shannon (cshannon) 734fb7dda3 https://issues.apache.org/jira/browse/AMQ-5923
Adding metrics to track the pending message size for a queue and for
subscribers.  This is useful so that not only the pending count is
known but also the total message size left to consume. Also improving
the message size store tests as well.
2015-09-09 18:12:15 +00:00
Timothy Bish f58683ea07 https://issues.apache.org/jira/browse/AMQ-5959
Add check to avoid NPE
2015-09-08 10:03:23 -04:00
gtully c7b93d1232 https://issues.apache.org/jira/browse/AMQ-5953 - transaction broker, fix sync of xatransaction get with insert 2015-09-03 16:56:20 +01:00
Timothy Bish 505916b927 AMQ-5949 Treat maxSendRetries of -1 as infinite. 2015-09-02 16:37:24 -04:00
Dejan Bosanac ee54f09303 https://issues.apache.org/jira/browse/AMQ-5831 - revisit topic subscriptions 2015-08-26 12:28:39 +02:00
gtully 10a74ce737 https://issues.apache.org/jira/browse/AMQ-5943 - patch, with test, applied with thanks to Torsten Mielke 2015-08-25 12:07:02 +01:00
gtully 11579bb918 https://issues.apache.org/jira/browse/AMQ-5938 - add remove(messageId) op to offline durable subs jmx view 2015-08-21 13:17:09 +01:00
gtully 3c2ed9352b AMQ-5933 - add test and fix 2015-08-19 15:02:41 +01:00
gtully ffdaeb2bd1 AMQ-5920 - make using a vt transaction configurable, a transaction negates concurrentstoreanddispatch and imposes local 2pc on mKahadb so needs to be off by default 2015-08-17 15:35:36 +01:00
Christopher L. Shannon (cshannon) 3c358b32fd AMQ-5889 - refactoring and cleanup 2015-08-13 15:49:50 +00:00
Christopher L. Shannon (cshannon) e14aca871c https://issues.apache.org/jira/browse/AMQ-5889
-Cleaned up missing license headers and refactored packages.
-Added configuration options for a protocol detection timeout and
for the max number of connections accepted at the same time.
-Fixed a regression with connection counts
-Also added some more tests
2015-08-13 14:41:29 +00:00
Christopher L. Shannon (cshannon) 04ee70a161 https://issues.apache.org/jira/browse/AMQ-5889
Adding support for auto detection of wire protocols over a transport.
OpenWire, AMQP, STOMP, and MQTT can all be detected and the broker
will properly handle each one over a given Transport.  Currently
auto TCP, NIO, SSL, and NIO+SSL transports can handle auto-detection
of the wire format and client but support could be added in the
future for other transports like websockets.
2015-08-11 19:39:29 +00:00
Timothy Bish 6cdd750ddc [maven-release-plugin] prepare for next development iteration 2015-08-10 11:04:26 -04:00
Timothy Bish a9eeb03520 [maven-release-plugin] prepare release activemq-5.12.0 2015-08-10 11:04:17 -04:00
Christopher L. Shannon c6542a921b AMQ-5748 - Cleanup and clearing cache on shutdown 2015-08-09 09:39:14 -04:00
Christopher L. Shannon (cshannon) a49d46e3ca https://issues.apache.org/jira/browse/AMQ-5748
Updating MemoryTopicMessageStore to decrement store statistics on cache
eviction.  Updating KahaDBMessageStoreSizeStatTest to account for the
fact that a LRU cache is used so the last 100 messages are kept in
memroy.
2015-08-08 17:59:19 +00:00
Timothy Bish a3c8bee1f0 https://issues.apache.org/jira/browse/AMQ-5605
Attempt to resolve high CPU usage after error by ensuring that the
transport is disposed along with the fire of the local error.
2015-08-07 16:21:52 -04:00
Christopher L. Shannon (cshannon) 2b7bb6f81b https://issues.apache.org/jira/browse/AMQ-5837
Switching to a List to track dispatched messages in a TopicSubscription
to be consistent with a PrefetchSubscription and to prevent an error
in case acks come back out of order.
2015-08-06 17:14:09 +00:00
gtully 340728f2d1 AMQ-5920 - use implicit broker transaction for virtual topic fanout and add concurrentSend=true option to use an executor to fanout. Combination gives a 3x reduction in fanout roundtrip for small persistent messages to 100 consumer queues 2015-08-06 11:56:47 +01:00
Christopher L. Shannon (cshannon) 457dbd8b64 https://issues.apache.org/jira/browse/AMQ-5919
Converting printStackTrace statements to slf4j so that exceptions
are logged properly
2015-08-05 16:29:29 +00:00
Timothy Bish 82e3ce805e https://issues.apache.org/jira/browse/AMQ-5916
Apply patch from Ganesh Murthy to resolve issue of creation of durable
subscriber fails via broker AdminView due to lack of SecurityContext on
ConnectionContext
2015-08-04 14:51:15 -04:00
Timothy Bish 5e05df1cb7 Fix a bunch of javadoc warnings produced during release profile builds. 2015-08-04 11:54:46 -04:00
Christopher L. Shannon (cshannon) 5684d093c0 https://issues.apache.org/jira/browse/AMQ-5875
Reworking DurableConduitBridge to look up subscriptions from the
TopicRegion  instead of the RegionBroker since inactive subscriptions
need to be looked at as well when dynamicOnly is false for a
network bridge.
2015-07-29 12:10:05 +01:00
gtully a439a0c6bf AMQ-5875 - rework the patch a bit to only call createDemandSubscription when we have a match to avoid trcking state in error via the bridge subscriptionMap* from configureDemandSubscription 2015-07-17 16:56:22 +01:00
Christopher L. Shannon (cshannon) 2117768e0a https://issues.apache.org/jira/browse/AMQ-5875
Fixing a regression that caused a network bridge to recreate durable
demand improperly.
2015-07-17 16:34:06 +01:00
gtully b1ea29ed14 AMQ-5892 - remove default stack trace from service warn to debug level on async error; makes it consistent with transport logging 2015-07-16 15:18:23 +01:00
gtully 2b5b890db9 AMQ-5888 add patch from GMURTHY with thanks - fix and test 2015-07-16 11:53:12 +01:00
Christopher L. Shannon (cshannon) f10aab6428 https://issues.apache.org/jira/browse/AMQ-5851
resolves #123

This commit resolves an issue where unmatched acknowledgement
messages could be received when running a MDB consumer and
sending messages with a short TTL.  The expiration logic when
receiveing an expired Message Ack will now only expire messages
in dispatch relating to the received ack, not all expired messages
in the dispatch list.
2015-07-09 16:46:21 +01:00
gtully a05a9a2129 https://issues.apache.org/jira/browse/AMQ-5552 - added profile for activemq.tests=smoke to run a fast subset of tests that gives a fast verification of a full build 2015-07-09 14:10:38 +01:00
Timothy Bish 13044decce https://issues.apache.org/jira/browse/AMQ-5848
Use the latest openwire version marshallers in the KahaDB store when
starting from a clean install, drop back to the version used in the
existing store if one is found.
2015-07-08 17:29:32 -04:00
Christopher L. Shannon bd28c3b0ba https://issues.apache.org/jira/browse/AMQ-5748
Fixing a potential Null pointer exception in  MemoryMessageStore
2015-07-07 18:54:06 -04:00
Christopher L. Shannon (cshannon) 46055034c9 https://issues.apache.org/jira/browse/AMQ-5837
This commit adds an Inflight message size statistic to SubscriptionStatistics
so we can know the size of all the messages that are inflight, besides just the count.
2015-07-07 16:33:58 -04:00
Christopher L. Shannon (cshannon) 785b16bf9e https://issues.apache.org/jira/browse/AMQ-5748
Added a getMessageSize method to MessageStore to support retrieving the
total message size of all stored messages for a destination.  Added a
new storeMessageSize statistic to DestinationStatistics.
2015-07-07 18:03:27 +00:00
Timothy Bish 7a68ad5d98 https://issues.apache.org/jira/browse/AMQ-4814
Remove of a durable subscription when the keepDurableSubActive flag is
true (default) did not actually stop and cleanup the still active cursor
due to the fact that the cursor checks the flag of its subscription to
see if it should stay active when its stop method is called.  The
subscription needs to disable that flag when the subscription is being
removed so that the cursor will correctly shutdown.
2015-07-06 18:21:20 -04:00
Timothy Bish c38a61d7ae https://issues.apache.org/jira/browse/AMQ-5340
Clean up a bit, extend test timeout to account for slow CI machines,
remove System prints and replace with LOG.
2015-07-06 16:47:58 -04:00
Christopher L. Shannon 174dcbff2a https://issues.apache.org/jira/browse/AMQ-5340
A QueueBrowser no longer checks expiry on messages to prevent a
browser from hanging in between the hasMoreElements check and actually
getting a message.  This means that if messages were in the queue when
the browser started it will receive messages even if they are now
expired. Even though the browser will get the expired message, the
broker will still expire it to prevent future access to it.

Thanks to Henno Vermeulen for providing a test case.
2015-07-06 16:13:52 -04:00
Timothy Bish e4af2eb635 https://issues.apache.org/jira/browse/AMQ-5814
Use the context of the subscription when the producer adds a destination
that matches its wildcard.
2015-07-02 11:36:53 -04:00
Christopher L. Shannon (cshannon) 12b26b641b https://issues.apache.org/jira/browse/AMQ-5745
This commit is based off a patch submitted by admin@int3solutions.com.
It fixes several locations in the code where there are potential resource leaks.
2015-06-30 13:41:48 -04:00
Timothy Bish 1b493749a1 https://issues.apache.org/jira/browse/AMQ-5859
fix for incorrect logic in reconnect attempt limits and also fix a case
where an NPE could occur (saw in the tests).   Based on patch provided
by Benoit Wiart
2015-06-30 13:00:04 -04:00
gtully 002ade79b0 https://issues.apache.org/jira/browse/AMQ-5639 - the duplex case needed work. All advisories were being acked async in duplex mode, that code needed to be more selective to forward advisories that dont terminate at the bridge. Fix and test 2015-06-26 14:54:29 +01:00
Dejan Bosanac 13c471cc11 https://issues.apache.org/jira/browse/AMQ-5656 - add support for selective mbean suppression; refactor a bit so we can support patterns and wildcards 2015-06-26 12:56:37 +02:00
gtully b6fea83126 https://issues.apache.org/jira/browse/AMQ-5863 - fix and test - sequenceId state in messageid needs to be cleared before doing a store 2015-06-25 12:49:52 +01:00
Christian Schneider 97cd60fb7e [AMQ-5821] Use wiring to check for extensions
This closes #119
2015-06-24 12:10:10 -04:00
gtully 37c46b9b42 https://issues.apache.org/jira/browse/AMQ-5705 - fix test regression. Make PublishedAddressPolicy vm scheme aware so such that is won't attempt a transform 2015-06-23 11:25:43 +01:00
Timothy Bish 833d30837b https://issues.apache.org/jira/browse/AMQ-5848
Introduce OpenWire v11 which adds noLocal to the SubscriptionInfo, if
configured KahaDB can store that version and the noLocal value is
recovered from the store.
2015-06-18 14:25:07 -04:00
Christopher L. Shannon (cshannon) b40dc4cc54 https://issues.apache.org/jira/browse/AMQ-5668
This commit fixes a race condition in AbstractStoreCursor setLastCacheId that could
cause a null pointer exception in certain cases.
2015-06-17 19:09:53 -04:00
Christopher L. Shannon (cshannon) fc3e026122 https://issues.apache.org/jira/browse/AMQ-5705
Modifing the AdivsoryBroker to set the originBrokerURL to the transport connector's
URL if it has been set versus using a default URL.
2015-06-17 17:47:24 +00:00
Christopher L. Shannon (cshannon) edacc2a840 https://issues.apache.org/jira/browse/AMQ-5843
Adding a new property on PolicyEntry called includeBodyForAdvisory which will
include the original message body when sending advisory messages that include
the original message, instead of clearing it out.  This is turned off by
default.
2015-06-16 12:48:38 -04:00
Christopher L. Shannon (cshannon) 61fd811adc https://issues.apache.org/jira/browse/AMQ-5393
Adding a property called schedulePeriodForDiskUsageCheck which can be set
to a time period to periodically check disk usage limits and adjust if
the amount of disk space has been reduced.
2015-06-12 10:35:20 -04:00
gtully 3100909041 https://issues.apache.org/jira/browse/AMQ-5830 - ensure duplex inbound connection sets network=true flag, fix and test 2015-06-09 12:19:49 +01:00
Christopher L. Shannon (cshannon) 886e2d4d97 Adding a configuration option to PolicyEntry to enable setting the maximum number of created destinations by policy on the broker.
This resolves https://issues.apache.org/jira/browse/AMQ-5751
2015-06-08 16:00:08 -04:00
Christopher L. Shannon (cshannon) ea03bb1f8c https://issues.apache.org/jira/browse/AMQ-5813
Fixing countBeforeFull for TopicSubscriptions to report a positive value
2015-06-05 14:08:15 -04:00
gtully 928e815a02 https://issues.apache.org/jira/browse/AMQ-5656 - add support for selective mbean suppression based on objectName attribute match. Avoids mbeanserver contention on systems where producer/consumers/dests are dynamic 2015-06-04 14:27:18 +01:00
Timothy Bish 35b82e5f93 https://issues.apache.org/jira/browse/AMQ-5599
Ensure that persistence adapter start is not missed to avoid infinite
wait for it.
2015-06-02 11:36:47 -04:00
mfrazier dcc7b11347 AMQ-5713 - making accessors public to remove startup error.
Includes unit test DestinationBridgeAccessorsTest which replicated the problem and now passes.
2015-05-29 16:13:41 -07:00
Christopher L. Shannon (cshannon) eece576b19 https://issues.apache.org/jira/browse/AMQ-5792
Adding SubscriptionStatistics to group together all metrics in a bean
for a subscription.
2015-05-28 15:47:30 -04:00
Dejan Bosanac ea2746b121 https://issues.apache.org/jira/browse/AMQ-5697 - adding acl fields as some plugins can use those directly instead of setting roles 2015-05-25 13:24:36 +02:00
Christopher L. Shannon 84737f7749 https://issues.apache.org/jira/browse/AMQ-5771
Including remote ip address when logging authentication failures
2015-05-22 15:37:48 -04:00
gtully 9bc602be43 https://issues.apache.org/jira/browse/AMQ-4705 - close window where both master and slave can be active - slave waits for possible keepAlivePeriod with the lock before startin. Ensures a keepAlive has completed on the master 2015-05-22 11:40:40 +01:00
Christopher L. Shannon (cshannon) e99c814830 Fixing missing volatile on references in VMTransport to prevent a synchronization bug.
This resolves https://issues.apache.org/jira/browse/AMQ-5787
2015-05-20 15:09:17 -04:00
gtully 9ad65c62ed https://issues.apache.org/jira/browse/AMQ-5164 https://issues.apache.org/jira/browse/AMQ-4842 - master slave advisory needed to wait for failover reconnect - exponential backoff was sometimes giving to long a delay. Retroactive override needs to applied after policies. Tests reinstated 2015-05-20 09:57:05 +01:00
gtully 3fdf9861b2 https://issues.apache.org/jira/browse/AMQ-5783 - properly remove free topic from the store when there are no remaining subs. Issue: release of the index but remaining metadata refs to the old state. Mbean was also left dangling. test thanks to pat fox 2015-05-20 09:57:05 +01:00
gtully 17f4f349f3 more tidy up of derby usage in tests to ensure proper cleanup; ci failures 2015-05-20 09:57:05 +01:00
Timothy Bish fd2805fe1c https://issues.apache.org/jira/browse/AMQ-5441
Don't dip into the store to recover durable topic subscriptions or queue
subscriptions depending on the subscription strategy in use.  The needed
information is always kept in either TopicRegion or QueueRegion even
after restart as all stored destinations are reloaded as the broker is
started.
2015-05-15 16:01:54 -04:00
gtully 5e36f65e0e https://issues.apache.org/jira/browse/AMQ-4705 - lastmod granualarity is second on some nix. Also write on lock acquire to ensure modification time change 2015-05-15 13:23:12 +01:00
gtully 181e4d4617 https://issues.apache.org/jira/browse/AMQ-4705 - ensure cached lastModified is externally visible - hardened test showed window for missed mod 2015-05-14 13:48:14 +01:00
gtully b8a20e9ef6 skipped first dispatch on vmtransport needed a better test - reworked to avoid busy loop on full and ensured sync on started for enqueue. Sort FailoverStaticNetworkTest and NetworkOfTwentyBrokersTest intermittent failures 2015-05-13 13:56:24 +01:00
gtully ccbbecb4a4 https://issues.apache.org/jira/browse/AMQ-4705 - apply patch from ganesh murthy with thanks. Fix and test making use of last modified to track deletion and recreation events 2015-05-12 23:19:07 +01:00
gtully c89bb7a316 fix intermittent failure of FailoverStaticNetworkTest. Bridge fails to start triggerStartAsyncNetworkBridgeCreation thread waiting on localBrokerInfo. The command was dropped due to contention between dispatch and peer start. Fix and test. Relates to https://issues.apache.org/jira/browse/AMQ-3684 2015-05-12 22:10:57 +01:00
Dejan Bosanac e19293de5f https://issues.apache.org/jira/browse/AMQ-5772
Improve Broker.removeConnection() method, so that we pass the cause for removing it (if available)
2015-05-12 14:23:12 +02:00
Timothy Bish 16a1e2b686 https://issues.apache.org/jira/browse/AMQ-5768
Exclude advisory topics from the expired message check.
2015-05-08 13:45:21 -04:00
gtully 1359e8eae2 https://issues.apache.org/jira/browse/AMQ-4068 fix intermittent test failure. Rework usage check to prevent additions to the store rather than blocking scheduled dispatch from the store 2015-05-08 14:14:25 +01:00
Timothy Bish 1271d2ea03 https://issues.apache.org/jira/browse/AMQ-5758
Fix for potential NPE.
2015-05-06 15:13:15 -04:00
Timothy Bish 9ef4259297 https://issues.apache.org/jira/browse/AMQ-5616
Use ConcurrentMap in declarations
2015-04-28 11:15:08 -04:00
gtully c129051175 https://issues.apache.org/jira/browse/AMQ-5746 - separate out start from creation of scheduler store. test via Martyn Taylor with thanks. This closes #80 2015-04-27 16:16:49 +01:00
gtully 23ecbe80d0 https://issues.apache.org/jira/browse/AMQ-5743 - confine logging to the jmx purge op 2015-04-24 13:35:02 +01:00
gtully c85fa67e1c https://issues.apache.org/jira/browse/AMQ-5742 - fix and intermittent failure of DemandForwardingBridgeTest is sorted 2015-04-23 14:32:40 +01:00
gtully eb6c082631 https://issues.apache.org/jira/browse/AMQ-5735 - fix up semantics around lastDeliveredSequenceId 2015-04-22 16:32:17 +01:00
Timothy Bish a0835c2c21 https://issues.apache.org/jira/browse/AMQ-5371
Move option ignoreNetworkConsumers up to base AbortSlowConsumerStrategy
so it can be used for both the original version and the slow ack aware
version.
2015-04-20 15:20:33 -04:00
Martyn Taylor a65ac586c2 https://issues.apache.org/jira/browse/AMQ-5729 - Do not log passwords on MBean method calls.
Previous to this patch the AnnotatedMBean class would simply dump
any arguments passed in via JMX call to the log (when audit is enabled).
Method parameters can sometimes contain sensitive information such as
the password field on QueueView.sendTextMessage.

This patch adds a @Sensitive annotation to the JMX module allowing
implementations of MBean interfaces to mark method parameters as sensitive
preventing values from being logged.
2015-04-20 18:06:45 +01:00
Timothy Bish be66175079 https://issues.apache.org/jira/browse/AMQ-5719
This closes #86

commit 72837960cf
Author: Christopher L. Shannon (cshannon)
<christopher.l.shannon@gmail.com>

Updated durable related error messages in TopicRegion to include both
subscriptionName and clientId.
2015-04-14 17:42:30 -04:00
Dejan Bosanac f556076a2c https://issues.apache.org/jira/browse/AMQ-4929 - remove audit from TransactionBroker 2015-04-14 14:55:11 +02:00
Dejan Bosanac 2852a8bdb1 https://issues.apache.org/jira/browse/AMQ-4929 - remove BrokerService.supportFailoverSupport. This closes #60 2015-04-14 13:59:01 +02:00
Timothy Bish ec9a92f6fc https://issues.apache.org/jira/browse/AMQ-5649
Ensures that max producers on a connection includes anonymous producers
in its count, based on patch from: Christopher L. Shannon (cshannon)
<christopher.l.shannon@gmail.com>

Merged the test into the existing ConfigTest that validates the max
producers functionality.
2015-04-13 10:25:51 -04:00
Dejan Bosanac 2562cf21a2 https://issues.apache.org/jira/browse/AMQ-5718 - don't add messages to subscriber while it's discarding 2015-04-13 11:16:55 +02:00
Dejan Bosanac 69767a2f2f https://issues.apache.org/jira/browse/AMQ-5665 - memory store don't propagate connection context 2015-04-09 13:29:37 +02:00
Clebert Suconic ab8f54b066 fixing a race on SharedLockFile 2015-04-08 11:17:00 -04:00
Clebert Suconic 0a161380f8 AMQ-5709 Fixing tests
https://issues.apache.org/jira/browse/AMQ-5709

This is just fixing a test properly
2015-04-08 10:28:42 -04:00
Clebert Suconic 89c75ca28a AMQ-5709 Reworking Logging on Locker
https://issues.apache.org/jira/browse/AMQ-5709

This is about changing how the Log is done in case of not being able to lock (log only once)
2015-04-07 17:24:48 -04:00
Christian Posta 61da1faa4c https://issues.apache.org/jira/browse/AMQ-5672 Added an option for allowing only a single selector for the virtual destination selector cache. also added some JMX views into the selector cache that can be used at runtime. includes unit tests 2015-04-06 16:12:20 -07:00
gtully 1d71cb7036 https://issues.apache.org/jira/browse/AMQ-5674 - revisit change - use single redelivey delay attribute for both initial and subsequent delays - resolves regression in BrokerRedeliveryTest 2015-04-03 14:19:15 +01:00
Timothy Bish 6df02555fd https://issues.apache.org/jira/browse/AMQ-5680
Fix typo in getTempQueues method.
2015-04-01 09:52:33 -04:00
Dejan Bosanac 8bb58036a0 https://issues.apache.org/jira/browse/AMQ-5697 - authorization map and composite destinations 2015-03-31 17:13:37 +02:00
Christian Posta efc9a8d578 Fix for https://issues.apache.org/jira/browse/AMQ-5689 Queue dispatching hangs when there are redelivered messages that dont match current consumers selectors, refactored out the pendingDispatchList in Queue implementation 2015-03-27 15:19:56 -07:00
Timothy Bish 05ff52dc15 https://issues.apache.org/jira/browse/AMQ-5413
https://issues.apache.org/jira/browse/AMQ-5433
https://issues.apache.org/jira/browse/AMQ-5647
https://issues.apache.org/jira/browse/AMQ-5684

Adds support for AMQP drain and fixes some issues around incorrect
dispatching and credit handling.  Should resolve several issues that
have been seen using test suites from AmqpNetLite and other AMQP
clients.
2015-03-27 15:11:38 -04:00
Timothy Bish e33b3f5939 https://issues.apache.org/jira/browse/AMQ-5686
Call into the delegate for asyncAddTopicMessage to avoid a stack
overflow.
2015-03-24 16:07:07 -04:00
gtully 55f040e616 https://issues.apache.org/jira/browse/AMQ-5568 - ensure directory exists - fix ci 2015-03-10 16:18:50 +00:00
Dejan Bosanac 3b39d2cc2a https://issues.apache.org/jira/browse/AMQ-5644 - authorization map for wildcard subscriptions 2015-03-10 11:24:27 +01:00
Dejan Bosanac 24c2215f4e Revert "https://issues.apache.org/jira/browse/AMQ-5644 - authorization map for wildcard subscriptions"
This reverts commit 7777744dc2.
2015-03-06 18:06:17 +01:00
Dejan Bosanac 7777744dc2 https://issues.apache.org/jira/browse/AMQ-5644 - authorization map for wildcard subscriptions 2015-03-06 15:35:20 +01:00
gtully ab28b771e3 https://issues.apache.org/jira/browse/AMQ-5640 - fix by ensuring parent stat is updated on dest init, thanks for the nice test Torsten 2015-03-05 14:46:59 +00:00
gtully 8c66fba0aa https://issues.apache.org/jira/browse/AMQ-5568 - fix and test - only delete lock file if lock was held on stop 2015-03-05 13:27:40 +00:00
gtully 5313ad8a96 remove stack trace from auth failure log warn - stack trace is already covered by debug service level logging 2015-03-04 22:06:05 +00:00