243 Commits

Author SHA1 Message Date
Hiram Chirino
32a4d74496 Add new implementations of the writeUTF8 and readUTF8 methods that are based on Apache Harmony code. This also avoid some code duplication that was occurring.
(cherry picked from commit 45a1217228bc6fa9ccda49853156a5f71fe2c956)
2017-04-11 16:12:09 +02:00
Christopher L. Shannon (cshannon)
bd083623df AMQ-6642: Fix potential NPE on updateMessage
Fixing potential NPE when calling updateMessage on a Queue store in
KahaDB if subscription statistics are enabled.  Also reduced the
visibily from public to protected to subscription statistic related
methods that shouldn't be public and added null pointer checks there as
well.

https://issues.apache.org/jira/browse/AMQ-6642
(cherry picked from commit 2731f04f1ca81312d08ffc21c0ceb09513165b7c)
2017-03-31 09:09:17 -04:00
Christopher L. Shannon (cshannon)
e124f1db69 AMQ-6377: Storing JournalSyncStrategy as an enum
Switching MessageDatabase to store JournalSyncStrategy as its enum value
instead of String to avoid the performance penalty of comparing Strings
everytime isEnableJournalDiskSyncs() is called which currently happens
on every write.

(cherry picked from commit 0d824a8e6832419cb952ef503504c5296b069ad9)
2017-03-07 08:11:36 -05:00
gtully
7e3f344ea7 [AMQ-6606] - reset next batch so it does not get reused after error and refine fix to sync write batches b/c async locations will already be in the index
(cherry picked from commit 21ae1ef2e658a14f89bde79a83a32af340fb351a)
2017-03-07 08:07:33 -05:00
Christopher L. Shannon (cshannon)
6d848c440c [maven-release-plugin] prepare for next development iteration 2017-02-27 08:46:14 -05:00
Christopher L. Shannon (cshannon)
308eab0bb6 [maven-release-plugin] prepare release activemq-5.14.4 2017-02-27 08:45:01 -05:00
gtully
22d5b51a0c [AMQ-6606] avoid partial writes to the end of the journal - revert offset increment on ioexception, fix and test
(cherry picked from commit d53b8f8d424e3cf51646b215007fc017717edf44)
2017-02-24 14:20:54 -05:00
gtully
1a67318fe9 [AMQ-6567] ensure gc file removal/move is completed after index updates to avoid dangling index referenced on partial failure. Fix and test
(cherry picked from commit 20522394cc747e64bd9f87e2e0b64d886c4dec62)
2017-02-24 14:17:34 -05:00
gtully
93715d1bd6 [AMQ-6432] issue was journal scan on newly created ack file. I left the relevant braces from AMQ-6288 in place. Fix and test
(cherry picked from commit 9b64e188b59a395300a2f5d6022df9dbbae2f426)
2017-02-06 09:05:31 -05:00
gtully
3a848971ff [AMQ-6432] improve the logging to see the current offset
(cherry picked from commit e3b529129a490d760d21692736e7c0dda7e615e2)
2017-02-06 09:05:31 -05:00
Christopher L. Shannon (cshannon)
cc28f5dc39 https://issues.apache.org/jira/browse/AMQ-6590
Removing un-needed imports

(cherry picked from commit 83511c96e5cf91f348a81ecc3c4439aa345548dd)
2017-02-02 07:10:38 -05:00
Christopher L. Shannon (cshannon)
6a87e13eb3 https://issues.apache.org/jira/browse/AMQ-6590
Fix KahaDB index free page recovery on unclean shutdown so that existing
free pages will be tracked and not lost.

(cherry picked from commit 38d85be476a06fe9a1f60b4f38232d64a6d0398a)
2017-02-02 07:07:41 -05:00
Christopher L. Shannon (cshannon)
f947a74f4a https://issues.apache.org/jira/browse/AMQ-6572
On journal start use lastFileLength instead of maxFileLength when
checking for unused space in the last journal file as it is possible the
length of the last journal file is not the same length as maxFileLength

(cherry picked from commit 0ad62f722fef6c2123ef7acb116a80574a43c250)
2017-01-23 11:04:49 -05:00
Timothy Bish
cab6f73c9d https://issues.apache.org/jira/browse/AMQ-6563
ensure that the lock is always released in the load method.
(cherry picked from commit 281d600ae2f9ba6c6bc7bee0e8025698b9a76563)
2017-01-13 11:49:03 -05:00
Christopher L. Shannon (cshannon)
b36262ebba [maven-release-plugin] prepare for next development iteration 2016-12-19 10:33:54 -05:00
Christopher L. Shannon (cshannon)
58dddb9181 [maven-release-plugin] prepare release activemq-5.14.3 2016-12-19 10:32:45 -05:00
Christopher L. Shannon (cshannon)
fc3897af67 https://issues.apache.org/jira/browse/AMQ-6545
Fixing the order of locks acquired in the KahaDB journal to prevent a
deadlock during file rotation

(cherry picked from commit 5fd63a0e4ee71bb93843ab6bfbba6f93b023a3c3)
2016-12-16 13:48:28 -05:00
Christopher L. Shannon (cshannon)
8d1136e699 [maven-release-plugin] prepare for next development iteration 2016-12-05 09:35:12 -05:00
Christopher L. Shannon (cshannon)
2462711684 [maven-release-plugin] prepare release activemq-5.14.2 2016-12-05 09:33:48 -05:00
gtully
89209d320c [AMQ-6522] - remove hardcoded 32k batch limit from recovery check of the journal, fix and test
(cherry picked from commit dad629e889b2116a778fd4f77680a1b2944b400f)
2016-12-05 08:45:20 -05:00
Christopher L. Shannon (cshannon)
3542657541 https://issues.apache.org/jira/browse/AMQ-6524
Fixing a thread safety issue with memoryUsage when using concurrentStoreAndDispatch
that was causing memory usage to get out of sync.

The InnerFutureTask class inside KahaDB was not thread safe which was
the root cause of the problem.

(cherry picked from commit 0f0bdb21ef97c39ec7d54d164e07921611c1de08)
2016-12-05 07:12:59 -05:00
Timothy Bish
3597fd9614 https://issues.apache.org/jira/browse/AMQ-6504
Fix intermittent test failure
(cherry picked from commit 2c828b23df991f1e86747d2bcf95329cf1696827)
2016-11-21 12:38:40 -05:00
Timothy Bish
41ce86bd95 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.
(cherry picked from commit 980162233fd3693d1f83d3f95985ac33affa7a8f)
2016-11-11 14:53:35 -05:00
Timothy Bish
941b861448 https://issues.apache.org/jira/browse/AMQ-6483
Fix conversion from long to int and back to long again.
(cherry picked from commit 1a91decf9f6dd7305dd91ae6769df78cc4758c82)
2016-10-26 13:28:45 -04:00
Christopher L. Shannon (cshannon)
9ab56d59cc [maven-release-plugin] prepare for next development iteration 2016-09-27 13:06:49 -04:00
Christopher L. Shannon (cshannon)
594c79e531 [maven-release-plugin] prepare release activemq-5.14.1 2016-09-27 13:06:12 -04:00
Christopher L. Shannon (cshannon)
02d53a0d9f Revert "[maven-release-plugin] prepare release activemq-5.14.1"
This reverts commit 422b231c25bbf1af4695939468e80b9a2dbaa98b.
2016-09-27 11:57:35 -04:00
Christopher L. Shannon (cshannon)
354142adf1 Revert "[maven-release-plugin] prepare for next development iteration"
This reverts commit 47a652ef2a9bb876b324da65285a7de4fab25317.
2016-09-27 11:57:25 -04:00
Christopher L. Shannon (cshannon)
47a652ef2a [maven-release-plugin] prepare for next development iteration 2016-09-27 08:58:13 -04:00
Christopher L. Shannon (cshannon)
422b231c25 [maven-release-plugin] prepare release activemq-5.14.1 2016-09-27 08:57:19 -04:00
Christopher L. Shannon (cshannon)
b1c09d9a85 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

(cherry picked from commit a82c95cd29a6b06d2083b1869129b9e2addac7da)
2016-09-23 15:49:38 -04:00
Christopher L. Shannon (cshannon)
e0c70b843f 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

(cherry picked from commit 18571ce09b6385d8560200928a353e9da1a1ffe4)
2016-09-23 11:26:22 -04:00
gtully
f0d898cc9d AMQ-6403 - add indexDirectory attribute to kahadb plist impl - settable via broker service tempDataStore
(cherry picked from commit 5a874816b74a485822bcb60e1cf7fc550644d62a)
2016-09-08 15:36:44 -04:00
gtully
cf004c205d AMQ-6413 - ensure audit update on skipped store add for kahadb concurrentStoreAndDispatch. Fix and test
(cherry picked from commit f8bc19b96da752e216de2c5c543a7d8523512a03)
2016-09-08 15:35:32 -04:00
Christopher L. Shannon (cshannon)
a35371d880 NO-JIRA : creating 5.14.x branch 2016-08-02 09:30:31 -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)
71bb54f94c https://issues.apache.org/jira/browse/AMQ-6372
Fixing test so that test DataFile is written to a temporary directory
instead of the main activemq-kahadb-store directory.  This prevents git
from picking up the test file
2016-07-30 12:59:10 -04:00
Christopher L. Shannon (cshannon)
1a598277cf https://issues.apache.org/jira/browse/AMQ-6377
Reworking patch so that a periodic disk sync uses a journal trace
command to trigger the sync so that everything is done in the same
thread for the writes
2016-07-28 10:07:10 -04:00
Christopher L. Shannon (cshannon)
498e2184be https://issues.apache.org/jira/browse/AMQ-6377
Adding new setters to KahaDBPersistenceAdapter
2016-07-27 17:33:45 -04:00
Christopher L. Shannon (cshannon)
dd0ed17e59 https://issues.apache.org/jira/browse/AMQ-6377
Introducing JournalDiskSyncStrategy to allow a peridic disk sync mode
instead of always syncing after every write or never syncing.
2016-07-27 14:31:07 -04:00
gtully
822e2be90e AMQ-6378 force recovery on corrupt metadata location info, relates to AMQ-6376 2016-07-27 15:56:28 +01:00
gtully
6b8e743b08 AMQ-6372 - add IOExceptionHandler to kahadb read path to ensure fast shutdown on disk access errors 2016-07-27 11:58:22 +01: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
d427952b19 AMQ-6372 - fix up accessor pool cleanupUnused and use the minimum number of open files for recovery 2016-07-25 13:33:24 +01:00
Timothy Bish
8cc5c56d5e https://issues.apache.org/jira/browse/AMQ-6358
Wait until recover is done before starting the checkpoint tasks.
2016-07-14 10:49:59 -04:00
Christopher L. Shannon (cshannon)
a5050a8bc5 https://issues.apache.org/jira/browse/AMQ-6356
Fixing store size calculation on KahaUpdateMessageCommand processing so
that the size won't increase inadvertently if the existing location of
the command in the journal is the same as the new location
2016-07-14 09:21:23 -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
gtully
4386750fdb for mkahadb populate mdc activemq.persistenceDir such that logging for a particular instance can be identified and correlated 2016-07-04 11:19:56 +01:00
Christopher L. Shannon (cshannon)
4d6cc4b460 https://issues.apache.org/jira/browse/AMQ-6303
Properly setting typeCode value for new journal files used for ack
compaction
2016-05-23 18:42:29 +00:00
Timothy Bish
15405af2e6 https://issues.apache.org/jira/browse/AMQ-6292
allow for batch writes of forwarded acks.
2016-05-13 14:56:01 -04:00