168 Commits

Author SHA1 Message Date
Timothy Bish
3dc769d1f6 https://issues.apache.org/jira/browse/AMQ-6207
Perform writes / sync in predicatable order first to the recovery file
and then into the main index file.
(cherry picked from commit b39ab7867c208a967090eff189594c2b06dafb34)
2016-03-11 10:55:39 -05:00
Christopher L. Shannon (cshannon)
369a430538 [maven-release-plugin] prepare for next development iteration 2016-03-01 16:39:41 +00:00
Christopher L. Shannon (cshannon)
6a2e71f11c [maven-release-plugin] prepare release activemq-5.13.2 2016-03-01 16:39:02 +00:00
Christopher L. Shannon (cshannon)
23e9ecaec1 https://issues.apache.org/jira/browse/AMQ-6158
Computing messageSize for a durable subscription in KahaDB now runs much
faster (n vs n^2) which is noticable when there are a large number of
pending messages for a durable subscription.

(cherry picked from commit 25ff5699f1fb7c73668d5da2eacb53ad2ef14289)
2016-02-04 15:23:29 +00:00
Timothy Bish
04b191ceb4 https://issues.apache.org/jira/browse/AMQ-6152
Ensure that when add / remove commands are colocated they don't prevent
the log from being GC'd once it is unreferenced.
(cherry picked from commit 8c4b5f485d64caec97b0abe2b721d47bc19bfba1)
2016-02-02 20:29:57 -05:00
Christopher L. Shannon (cshannon)
86e51d2461 [maven-release-plugin] prepare for next development iteration 2016-02-02 17:11:44 +00:00
Christopher L. Shannon (cshannon)
d60b73402c [maven-release-plugin] prepare release activemq-5.13.1 2016-02-02 17:11:03 +00:00
Christopher L. Shannon (cshannon)
adc3ba49c2 https://issues.apache.org/jira/browse/AMQ-6133
Fixing the processing of KahaUpdateMessageCommand to add the message to
the store if it doesn't exist, instead of ignoring it.  This will
prevent message loss in certain cases when the KahaDB index has to be
rebuilt.

(cherry picked from commit b4aa53d806570a4f054dc0af9cb095f13b914153)
2016-01-20 17:01:11 +00:00
Timothy Bish
7d3a71a4df https://issues.apache.org/jira/browse/AMQ-6131
Fix check for durable sub with no pending messages during checkpoint
cleanup.
(cherry picked from commit 193f6be6878502f3db8563465872a1afd86b7c54)
2016-01-18 17:45:05 -05:00
Christopher L. Shannon (cshannon)
a73ada0629 https://issues.apache.org/jira/browse/AMQ-6097
Fixing JournalCorruptionEofIndexRecoveryTest class

Because of the size being stored in the message order index, the test
testRecoveryAftercorruptionCheckSumExistingIndex was no longer passing
as that test was corrupting the size value in the journal, but not the
size value in the index.  The test now corrupts both values so that the
expect exception occurs again.

(cherry picked from commit 507d40a79f15449ba6d79ef85d7fdf6bf50a3a65)
2015-12-22 13:14:44 +00:00
Christopher L. Shannon (cshannon)
51aa70eaae https://issues.apache.org/jira/browse/AMQ-6097
Fixing KahaDB so that the correct marshaller is used for the message
keys inside of the message order index.  This will ensure that message
size metrics are accurate.

(cherry picked from commit 246ccb8e04515c6e85544b32035537f60d92b5b9)
2015-12-22 13:14:44 +00:00
gtully
9c82756ca9 https://issues.apache.org/jira/browse/AMQ-6083 - resolve some test regressions - AMQ2149Test - fail to start with missing data file. Ensure ack map is always saved on modification
(cherry picked from commit 31d99b6aa92aed27acfd90a4d2a278c077a47a33)
2015-12-11 09:53:22 -05:00
gtully
9e8f020301 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
(cherry picked from commit 768fa17085ac938441915a82987c99b37ac52515)
2015-12-10 09:46:17 -05:00
gtully
99fce5bae9 https://issues.apache.org/jira/browse/AMQ-6083 - ignoreMissingJournalfiles false - check for missing acks and corruption anywhere and error out so that corruption does not go unnoticed - fix and test
(cherry picked from commit 5db5f3e39a682640b64bc904f30cbd2e0e3de4da)
2015-12-09 09:20:48 -05:00
Christopher L. Shannon (cshannon)
785041d20f https://issues.apache.org/jira/browse/AMQ-6082
Propertly re-setting the storeOpenWireVersion from the BrokerService
on the KahaDB Metadata if a corrupted index is detected and the
Metadata has to be recreated.

(cherry picked from commit 7a7c70ad7524594339c4388b897fa1eac6988928)
2015-12-08 20:13:33 +00:00
Torsten Mielke
11ebaccd64 https://issues.apache.org/jira/browse/AMQ-6071 - Log info about corrupted journal records at WARN level
(cherry picked from commit 66c348b1b85e341ed508b9c10028c037a226dfb6)
2015-12-04 15:23:57 -05:00
Christopher L. Shannon (cshannon)
95fc593975 Update version for next patch release iteration. 2015-11-30 14:35:26 +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
Christopher L. Shannon (cshannon)
8f30866fdf https://issues.apache.org/jira/browse/AMQ-6063
Fixing potential NullPointerException during KahaDB index recovery.
2015-11-25 16:02:52 +00:00
Christopher L. Shannon (cshannon)
e07809dec6 NO JIRA - Clear journalSize counter
The journalSize counter should be set to 0 after KahaDB is shut down.
Usually, a store is not restarted again after stopping, but if it ever
was the value would be wrong since it wasn't reset back to 0.
2015-11-24 17:53:34 +00:00
gtully
fd0f71a4c8 https://issues.apache.org/jira/browse/AMQ-6033 - fix shadowing error, additional test 2015-11-02 15:08:22 +00:00
gtully
dc06c8dc75 https://issues.apache.org/jira/browse/AMQ-5994 https://issues.apache.org/jira/browse/AMQ-4000 - proper fix for duplicate sub info from the store on recovery failure from AMQ2149Test. Additional test from Christopher L 2015-10-06 12:01:24 +01:00
gtully
f6e1054a4b https://issues.apache.org/jira/browse/AMQ-5984 - fix sync on get for access ordered LinkedHashMap 2015-09-28 14:20:45 +01:00
gtully
fcabcd282d https://issues.apache.org/jira/browse/AMQ-5960 - rework fix to reset the next sequence so that the next ack position and message reference gets cleared up in normal operation 2015-09-23 13:15:29 +01: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
Dejan Bosanac
f4a2543def https://issues.apache.org/jira/browse/AMQ-5960 - durable sub pendingQueueSize after force shutdown - fix npe test failure 2015-09-10 14:13:45 +02:00
Christopher L. Shannon (cshannon)
d1dface01a https://issues.apache.org/jira/browse/AMQ-5923
Adding a null pointer check in PListImpl to prevent a null
pointer exception on remove
2015-09-10 11:23:27 +00:00
Dejan Bosanac
4ab55f13ae https://issues.apache.org/jira/browse/AMQ-5960 - durable sub pendingQueueSize after force shutdown 2015-09-10 11:10:37 +02: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
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)
b52796f794 AMQ-5748 - replace Map with ConcurrentMap for JDK7 2015-08-07 17:54:35 +00:00
Christopher L. Shannon (cshannon)
de24980a62 AMQ-5748 - Fixing MessageStore cache
This fixes KahaDBStore to properly check for an existing MessageStore
in the cache before creating a new one.  This will prevent potential
issues with metrics.
2015-08-07 17:23:25 +00: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
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
gtully
3985e7225f https://issues.apache.org/jira/browse/AMQ-5853 - fix cacheEnabled case - additional test and fix for both jdbc and kahadb stores 2015-07-09 10:30:54 +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 (cshannon)
73d1bcd7ac https://issues.apache.org/jira/browse/AMQ-5875
Resolves an issue when using mKahaDB that caused a MessageStore
being used by more than one destination to be deleted even though
there was still at least 1 other destination using the store.
2015-07-08 18:32:15 +00:00
Christopher L. Shannon (cshannon)
8871b0e496 https://issues.apache.org/jira/browse/AMQ-5748
Fixing an issue that prevented old versions of KahaDB from being
upgraded to the newest version 6
2015-07-08 16:10:11 +00: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
455f1ca475 https://issues.apache.org/jira/browse/AMQ-5872
The code that adds subscriptions for retroactive subscribers did not
account for the case where the last ack position in the ackLocations
table is used as a placeholder for the next incoming message and there
may not be an element in the messageReference tracker for that index
especially after restart when the index is reloaded.  The code needed to
check this when it iterates of the existing message references to add a
value so to avoid the NPE.  

Also cleaned up the MQTT tests such that they place their data dir in
./target so that old stores get removed on 'mvn clean'
2015-07-02 17:04:35 -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
gtully
2c53dbcc63 https://issues.apache.org/jira/browse/AMQ-5864 - fix and test. A replayed update command did not check if already updated 2015-06-25 15:53:45 +01: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
gtully
0a21c5f8ff better deal with journal corruption for scheduler store to report error location - intermittent failure of KahaDBSchedulerIndexRebuildTest 2015-05-27 12:26:06 +01:00
gtully
9ae5b4147b fix formatting 2015-05-20 12:50:33 +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