Commit Graph

265 Commits

Author SHA1 Message Date
gtully ceb97f6baa AMQ-6707 - mKahadb, track recovered tx per store for completion, resolve test regression 2018-04-27 13:48:51 +01:00
gtully ea70e827c0 AMQ-6707 - JDBC XA recovery and completion.
ensure pending transactions are visible for recovery without restart
sync store and cursor size during and after completion
ensure pending messages are not visible to browsers
retain transaction state on jdbc error
a bunch of new tests around xa completion
2018-04-26 14:58:48 +01:00
gtully ec6fa19099 [AMQ-6815] rework to drop the batch reference from Location such that batches are free for gc when index pages are agressively cached 2018-01-11 12:56:40 +00:00
gtully 6da08b245e [AMQ-6849] provide a virtualTopic dropOnResourceLimit attribute, default to false.
Enabling will allow dispatch to continue even when end to some consumer queues
fail due to resource constraints.
The existing systemUsage sendFailIfNoSpace and sendFailIfNoSpaceAfterTimeout are
promoted to destination policy options allowing selective destinations to fail a
send with an exception. The global system usage options are still in place.
When dropOnResourceLimit=true dispatch will continue in the event that any
subscription queue throws a resource limit exception on send failure.
2017-10-25 14:53:20 +01:00
gtully e793260573 [AMQ-6831, AMQ-6771] trigger eofexception on read -1 - AMQ6522Test 2017-10-11 00:20:44 +01:00
gtully f989992278 [AMQ-6831, AMQ-6771] fix up recovery check to ensure full batch is available in memory, regression from AMQ-6771 2017-10-10 17:24:09 +01:00
gtully 8c3ef6cadb [AMQ-6815] have checkpoint validate status of async writes to avoid stale metadata and validate location size on read to avoid potential oom on restart 2017-09-19 16:51:00 +01:00
gtully a359d8152c [AMQ-6277] take account of producer audit not being updatated on recovery check, avoid unnecessary partial journal replay 2017-09-15 13:48:03 +01:00
gtully 42bf6e9061 [AMQ-4947] ensure index page file does not skip forcing metadata - size is important to the page file 2017-09-04 16:43:48 +01:00
gtully 8c218ee05d [AMQ-6771] do linear sequential scan of journal when validating checksums - remove batch reads via seek/read which depend on write batch size 2017-07-17 12:18:25 +01:00
Christopher L. Shannon (cshannon) a9fe4e33c3 [maven-release-plugin] prepare for next development iteration 2017-06-27 13:41:28 -04:00
Christopher L. Shannon (cshannon) 5f0d6943cb [maven-release-plugin] prepare release activemq-5.15.0 2017-06-27 13:41:01 -04:00
gtully b07821ab64 [AMQ-6625] remove kahadbioexceptionhandler by pushing allowIOResumption into persistence adapter. This allows the lease locker to still be used with kahadb for stopStartConnectors support 2017-06-15 17:28:31 +01:00
gtully f4c11f73bb [AMQ-6688] catch throwable on add task such that result error result is not lost on failed async send, fix and test 2017-05-29 17:14:05 +01:00
gtully eb1a3eb77b [AMQ-6670] - harden the test to avoid ci failure 2017-05-10 11:30:30 +01:00
gtully 053c38f99f [AMQ-6670] - disable expiry processing that may page in and change the test 2017-05-08 11:53:55 +01:00
gtully 2518bded67 [AMQ-6670] - trap classcast and marshall errors on load message from journal such that errors are consistently propagated to the ioExceptionHandler 2017-05-05 15:43:09 +01:00
gtully af03ad4679 [AMQ-6652] add final modifier to test 2017-04-11 11:39:22 +01:00
gtully ca5e41bb7a [AMQ-6652] ensure checkpoint pagefile flush includeds the checkpoint transaction 2017-04-10 17:15:07 +01:00
Hiram Chirino 172c29091e AMQ-6651: 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. 2017-04-10 10:49:17 -04:00
gtully c1cbf509da [AMQ-6644] - ensure journal files past last update are not included in the logged gc set in error 2017-04-04 12:21:31 +01:00
Christopher L. Shannon (cshannon) 2731f04f1c 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
2017-03-31 09:06:01 -04:00
gtully c5a8b2c8b1 [AMQ-6625] ensure kahadb stops operation on the first IOException to facilitate auto recovery from partial writes 2017-03-13 13:49:41 +00:00
gtully 21ae1ef2e6 [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 2017-03-07 12:28:58 +00:00
Christopher L. Shannon (cshannon) 0d824a8e68 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.
2017-03-06 07:54:39 -05:00
gtully d53b8f8d42 [AMQ-6606] avoid partial writes to the end of the journal - revert offset increment on ioexception, fix and test 2017-02-21 17:04:00 +00:00
gtully 9b64e188b5 [AMQ-6432] issue was journal scan on newly created ack file. I left the relevant braces from AMQ-6288 in place. Fix and test 2017-02-03 16:58:52 +00:00
gtully e3b529129a [AMQ-6432] improve the logging to see the current offset 2017-02-02 12:14:17 +00:00
Christopher L. Shannon (cshannon) 83511c96e5 https://issues.apache.org/jira/browse/AMQ-6590
Removing un-needed imports
2017-02-02 07:09:57 -05:00
Christopher L. Shannon (cshannon) 38d85be476 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.
2017-02-02 07:06:11 -05:00
Christopher L. Shannon (cshannon) 0ad62f722f 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
2017-01-23 11:01:20 -05:00
gtully 20522394cc [AMQ-6567] ensure gc file removal/move is completed after index updates to avoid dangling index referenced on partial failure. Fix and test 2017-01-17 14:05:04 +00:00
Timothy Bish 281d600ae2 https://issues.apache.org/jira/browse/AMQ-6563
ensure that the lock is always released in the load method.
2017-01-13 11:48:19 -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) 5fd63a0e4e 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
2016-12-16 13:44:18 -05:00
Christopher L. Shannon (cshannon) 0f0bdb21ef 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.
2016-12-05 07:10:20 -05:00
gtully dad629e889 [AMQ-6522] - remove hardcoded 32k batch limit from recovery check of the journal, fix and test 2016-11-29 11:32:03 +00:00
gtully 0a29533ed7 [AMQ-6520] respect kahadb indexDirectory for perDestination mKahaDB - fix and test 2016-11-25 16:44:28 +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 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
gtully 3b7613d930 AMQ-6451 - catch errors on preallocation. allocate direct buffer on start and reuse to ensure resource availability at runtime 2016-11-08 14:05:46 +00:00
Hadrian Zbarcea e725451521 This closes #162. Minor improvement in using the Logger api 2016-11-03 17:26:00 -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
Timothy Bish 1a91decf9f https://issues.apache.org/jira/browse/AMQ-6483
Fix conversion from long to int and back to long again.
2016-10-26 13:27:24 -04:00
gtully 538ed74510 NO-JIRA - ensure stack trace in incuded with exception that terminates data file appender thread 2016-10-07 16:26:07 +01:00
Christopher L. Shannon (cshannon) 351faf2699 https://issues.apache.org/jira/browse/AMQ-6445
Fixing RandomAccessFile usage so that the file will be properly closed
even if there is an exception
2016-09-29 06:16:40 -04: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