Commit Graph

174 Commits

Author SHA1 Message Date
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
gtully 27e11a388e reduce test duration for ci 2015-05-20 09:57:04 +01:00
Timothy Bish c5a1b86062 https://issues.apache.org/jira/browse/AMQ-5762
Fix for potential memory leak from creation of KahaDBTopicMessageStore.
2015-05-14 16:57:06 -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 4a821186a4 https://issues.apache.org/jira/browse/AMQ-5578 - preallocation could ocurr after a restart over an existing journal file! - fix and test 2015-04-20 16:04:01 +01:00
gtully 73db4d2bfd https://issues.apache.org/jira/browse/AMQ-5703 - further tests and fixes. Ensure early eof can be identified when checking for corruption and skip corruption on replay when the checksum is invalid 2015-04-16 15:25:58 +01:00
gtully a7178a46b7 https://issues.apache.org/jira/browse/AMQ-5703 - fix and test. We now skip past known corruption on a journal replay 2015-04-01 14:59:15 +01:00
Christian Posta 8e551b4c3b removed logging that snuck in there for https://issues.apache.org/jira/browse/AMQ-5578 2015-03-05 15:53:44 -07:00
gtully ecebd2413b https://issues.apache.org/jira/browse/AMQ-5626 - fix and test. on restart, next index needs to ingore priority to find the last used entry 2015-03-02 14:44:58 +00:00
gtully 260e28ecad https://issues.apache.org/jira/browse/AMQ-5620 - avoid potential deadlock on shutdown - waiting on connections to stop before stopping the pa would be an alternative but may block for ever, auto rollback ensures there is no need 2015-03-02 14:44:58 +00:00
Christian Posta 2c92c34132 Fix for https://issues.apache.org/jira/browse/AMQ-5551 The DiskBenchmark util doesn't sync (fsync) to disk for sync writes 2015-02-20 09:23:12 -07:00
gtully 2949e8dbf7 https://issues.apache.org/jira/browse/AMQ-5578 - remove timing deps from the test 2015-02-20 12:03:12 +00:00
Christian Posta 023b2ac045 Updated for https://issues.apache.org/jira/browse/AMQ-5578 adds unit tests, logging, and removes the preallocated batch stuff that snuck in there with commit 45e59e6e83 which was by accident. 2015-02-19 16:34:32 -07:00
Christian Posta 45e59e6e83 adding options for https://issues.apache.org/jira/browse/AMQ-5578 to
allow configuring the allocation strategy at finer grained controls
including zeroing out, OS copying, or sparse file
2015-02-19 10:49:40 -07:00
Timothy Bish 2b17fd8050 https://issues.apache.org/jira/browse/AMQ-5580
Use a CopyOnWriteArrayList to ensure that traversals of the adapters
list do not generate ConcurrentModificationException if a new adapter is
added during that time.
2015-02-11 17:22:26 -05:00
gtully 95f7262cb1 https://issues.apache.org/jira/browse/AMQ-5578 - implement for kahadb 2015-02-11 13:37:32 +00:00
gtully b0a1bd833c https://issues.apache.org/jira/browse/AMQ-5542 fix (via revert below) and test case applied with thanks.
Revert "resolve https://issues.apache.org/activemq/browse/AMQ-2736, logic issue in code that keeps data files with acks around pending message file gc. thanks jgenender - test case to follow"

This reverts commit dd68c61e65.

resolves: https://issues.apache.org/jira/browse/AMQ-5542 and applies test case that nicely demonstrates the defect, thanks
2015-02-02 11:34:06 +00:00
gtully ae595c95b1 [maven-release-plugin] prepare for next development iteration 2015-01-30 12:46:19 +00:00
gtully 4ba1a1689f [maven-release-plugin] prepare release activemq-5.11.0 2015-01-30 12:46:08 +00:00
gtully bf5a2997c7 [maven-release-plugin] prepare for next development iteration 2015-01-26 16:48:46 +00:00
gtully eec2955bde [maven-release-plugin] prepare release activemq-5.11.0 2015-01-26 16:48:37 +00:00
gtully 64fa706d54 Revert "[maven-release-plugin] prepare release activemq-5.11.0"
This reverts commit f47fbe4b89.
2015-01-26 16:39:35 +00:00
gtully f47fbe4b89 [maven-release-plugin] prepare release activemq-5.11.0 2015-01-26 16:17:43 +00:00
Hadrian Zbarcea aedcae139b Revert "[maven-release-plugin] prepare release activemq-5.11.0"
This reverts commit 48b0cf396c.
2015-01-05 12:25:58 -05:00
Hadrian Zbarcea 89995f4723 Revert "[maven-release-plugin] prepare for next development iteration"
This reverts commit 7b285c6f52.
2015-01-05 12:25:47 -05:00
Dejan Bosanac 7b285c6f52 [maven-release-plugin] prepare for next development iteration 2014-12-29 12:44:32 +01:00
Dejan Bosanac 48b0cf396c [maven-release-plugin] prepare release activemq-5.11.0 2014-12-29 12:44:20 +01:00
Dejan Bosanac 9f53e2bcae adding missing licences 2014-12-29 12:25:04 +01:00
gtully 02d974c409 https://issues.apache.org/jira/browse/AMQ-5493 - apply patch from pedro with thanks - prevent spurious thread start on shutdown 2014-12-22 12:44:41 +00:00
Dejan Bosanac 802e527ea4 https://issues.apache.org/jira/browse/AMQ-5438 - improve kahadb archive logs. This closes #50 2014-12-04 14:04:23 +01:00
Timothy Bish 4141d6a223 https://issues.apache.org/jira/browse/AMQ-5444
fix missed sync of recovery file
2014-11-25 18:49:55 -05:00
gtully 135226533f https://issues.apache.org/jira/browse/AMQ-5394 - applied patch for kahadb lastUpdate tracking from Jesse Fugitt with thanks 2014-10-24 14:42:25 +01:00
gtully 67ead201e1 https://issues.apache.org/jira/browse/AMQ-5266 https://issues.apache.org/jira/browse/AMQ-4485 - single dest test with low limit exposed ignored setbatch in kahadb when sequence was not found in the index due to acking - resolved and validated with test that verifies dlq is empty 2014-10-21 16:05:46 +01:00
gtully 1d39f08c12 https://issues.apache.org/jira/browse/AMQ-5266 https://issues.apache.org/jira/browse/AMQ-4485 - fix warn logging from kahadb on set batch when message already consumed using seq from messageId, additional single dest test that hammers this case 2014-10-17 16:55:23 +01:00
gtully 9c2b1d2572 https://issues.apache.org/jira/browse/AMQ-5266 https://issues.apache.org/jira/browse/AMQ-4485 - store has messages must be aware of pending also kahadb setBatch for async sends. additional tests and tidy up of cusror sync with store to reflect async/sync additions 2014-10-16 23:35:18 +01:00
gtully 97c127d2d4 https://issues.apache.org/jira/browse/AMQ-4485 - fix test regression with browse test - AMQ4595Test - reduce replay window when sync and asnyc cursor updates flip message order - concurrentStoreAndDispatch=true - https://issues.apache.org/jira/browse/AMQ-5266 - increse default audit depth to match async jobs for concurrent store 2014-10-09 13:47:31 +01:00
gtully 140ce1bc8f https://issues.apache.org/jira/browse/AMQ-4485 - reenable test. concurrentStoreandDispatch case cannot be reconciled via setBatch, best we can do is trap duplicates from inflight messages as they occur. tagged async stores to support this. the revert of serialization with tx and non aysnc send brings perf back to where it was. https://issues.apache.org/jira/browse/AMQ-5266 2014-10-07 14:50:41 +01:00
gtully a0c42a61dd https://issues.apache.org/jira/browse/AMQ-5354 - patch applied with thanks 2014-09-15 15:59:00 +01:00
gtully 8cdb5c2c1d https://issues.apache.org/jira/browse/AMQ-5266 - remove err message print on iterator limit 2014-09-11 17:07:35 +01:00
gtully 54e2e3bef2 rework cursor store sync w.r.t to index order. resolve issues with skipped dispatch and duplicate dispatch. https://issues.apache.org/jira/browse/AMQ-4485 https://issues.apache.org/jira/browse/AMQ-5266 2014-08-30 00:51:21 +01:00
Timothy Bish 582fc08019 https://issues.apache.org/jira/browse/AMQ-5072
Add accessors to the persitence adapter class and a test to validate.
2014-08-14 11:14:59 -04:00
Daniel Kulp 06bb7a2716 Update poms to fully load into M2E 2014-07-10 13:47:55 -04:00
Timothy Bish 74846bb2b4 https://issues.apache.org/jira/browse/AMQ-3758
Refactor the scheduler store into a more KahaDB style store that can
recover from various problems like missing journal files or corruption
as well as rebuild its index when needed.  Move the scheduler store into
a more configurable style that allows for users to plug in their own
implementations.  Store update from legacy versions is automatic.
2014-07-07 12:28:11 -04:00
gtully 27b3a7c344 https://issues.apache.org/jira/browse/AMQ-5212 - ensure uncontented access to concurrent destination map avoides deadlock, rerework https://issues.apache.org/jira/browse/AMQ-4952 to differenciate duplicates from send and recovered messages from the store. https://issues.apache.org/jira/browse/AMQ-3454 benefits from getDestinationMap(destination) to get direct access to the map to determine existance. Additional test 2014-06-09 12:32:33 +01:00
Dejan Bosanac fa086396a7 [maven-release-plugin] prepare for next development iteration 2014-06-05 11:59:29 +02:00
Dejan Bosanac 58dd93e42e [maven-release-plugin] prepare release activemq-5.10.0 2014-06-05 11:59:17 +02:00
Dejan Bosanac c2cf78542f [maven-release-plugin] prepare for next development iteration 2014-06-04 11:33:17 +02:00
Dejan Bosanac 5bc741f227 [maven-release-plugin] prepare release activemq-5.10.0 2014-06-04 11:33:03 +02:00
Timothy Bish bfb1778211 https://issues.apache.org/jira/browse/AMQ-5166
Apply fix for tracker settings.
2014-05-06 16:31:27 -04:00
gtully ad1f751a41 https://issues.apache.org/jira/browse/AMQ-5077 - reduce reader thread work when client uses async send; async store updates can now queue up to the destination memory limit b/c they don't block the send thread. Pending store writes are now tracked in memory usage. This allows a client to quickly provide a burst of messages to fill the destination cache bounded only by network bandwidth 2014-04-30 16:13:18 +01:00
Hadrian Zbarcea 3f32507f78 Use autocrlf consistently for line endings 2014-04-29 14:18:37 -04:00
gtully 79ba2a79c1 have kahadb journal transaction commands respect enableJournalDiskSyncs - so consistent with leveldbstore - syncs off breaks the jms durability guarantee across the board - no good reason to distinguish transactional from non transaction ops; the server qos can override the client 2014-03-26 16:37:23 +00:00
gtully 266d23ef79 revisit https://issues.apache.org/jira/browse/AMQ-3519 with more durable solution https://issues.apache.org/jira/browse/AMQ-5068 - JMSRedelivered header now persisted before dispatch so that it is a reliable indication of a possible duplicate delivery. The option is enabled via destination policy persistJMSRedelivered 2014-03-26 11:16:42 +00:00
gtully cfe099d1cc rework https://issues.apache.org/jira/browse/AMQ-3305 in the context of https://issues.apache.org/jira/browse/AMQ-4952 dlq processing of duplicates, also possible missed dispatch with interleaved xa completion and new messages - recovered transactions are now individually tracked by the store and replayed in the next batch, which negates the need to flush the cursor and avoids duplicates 2014-03-05 14:51:05 +00:00
gtully ab01ae3818 fix build revert extras in MessageDatabase from https://git-wip-us.apache.org/repos/asf?p=activemq.git;a=commit;h=69c0d399 - sorry 2014-03-03 16:20:21 +00:00
gtully 69c0d399fb make perpared xa transactions visible in kahadb persistenceadapter view mbean 2014-03-03 13:55:27 +00:00
Hiram Chirino 232b8c51e9 Implements AMQ-5072: Support configuring a different directory for the KahaDB index files. 2014-02-21 11:08:27 -05:00
Hadrian Zbarcea 7b555c2898 AMQ-5047. Fix packaging issues related to maven version 2014-02-15 16:15:04 -05:00
Kevin Earls c027552035 Upgraded surefire plugin to 2.16. AMQ-5006 2014-01-30 14:22:44 +01:00
Timothy Bish dd0c9c4144 https://issues.apache.org/jira/browse/AMQ-4988 2014-01-22 10:09:38 -05:00
Timothy Bish 11ae61f539 https://issues.apache.org/jira/browse/AMQ-4969 2014-01-14 18:48:40 -05:00
Timothy Bish ef619b6a9b https://issues.apache.org/jira/browse/AMQ-4947
Updated fix for this issue allows for enabling non-forced metadata
updates to the file channel via FileChannel#force(false)

enable this by defining
"org.apache.activemq.kahaDB.files.skipMetadataUpdate=true"
2014-01-09 17:21:56 -05:00
gtully f92d45bec1 https://issues.apache.org/jira/browse/AMQ-4952 - deal with duplicates by redirecting to dlq when they are detected by the cursors such that they don't linger for redispatch after a restart. Networks are the main culprit for such duplicates b/c the producer audit traps regular failover resends 2014-01-07 16:52:39 +00:00
Timothy Bish 97b12c7245 Revert "Fix for: https://issues.apache.org/jira/browse/AMQ-4947"
This reverts commit c50b6c39ba.
2014-01-06 09:32:46 -05:00
Timothy Bish 7db0fe6a38 https://issues.apache.org/jira/browse/AMQ-4819 2013-12-20 17:29:31 -05:00
Timothy Bish 44b25cb7a1 https://issues.apache.org/jira/browse/AMQ-4819
Slightly modified version of the patch since it was not against latest
code.  Trimmed down the changes by breaking out the logging checks into
a separate method.
2013-12-20 15:56:24 -05:00
Timothy Bish c50b6c39ba Fix for: https://issues.apache.org/jira/browse/AMQ-4947 2013-12-19 18:36:05 -05:00
gtully 06f24e2e0b https://issues.apache.org/jira/browse/AMQ-4907 - sanity check on the index when checkForCorruptJournalFiles - test and check that validates the orderindex makes sense 2013-11-28 21:14:24 +00:00
Claus Ibsen c0090f6f0c AMQ-4885: Renamed some API methods in MessageStore due typos. 2013-11-22 11:21:42 +01:00
gtully ff593bf3dd add debug logging for mkaha destination to persistence adapter mapping 2013-11-15 11:29:15 +00:00
Dejan Bosanac 5dacae368b https://issues.apache.org/jira/browse/AMQ-3725 - close delegated file only if not null 2013-11-01 14:03:20 +01:00
Dejan Bosanac 582af3e74a https://issues.apache.org/jira/browse/AMQ-3725 - allow kahadb to recover from failed file system 2013-10-31 17:58:52 +01:00
gtully 864aa6798f [maven-release-plugin] prepare for next development iteration 2013-10-14 23:38:35 +01:00
gtully 87c9bbebac [maven-release-plugin] prepare release activemq-5.9.0 2013-10-14 23:38:22 +01:00
gtully ee0933c71e [maven-release-plugin] prepare for next development iteration 2013-10-11 14:51:36 +01:00
gtully b276006911 [maven-release-plugin] prepare release activemq-5.9.0 2013-10-11 14:51:24 +01:00
Hiram Chirino 28163a4065 Don't assume all persistence store use the same default directory. 2013-09-27 05:10:30 -04:00
Hiram Chirino 70c698f988 Fixes NPE that was occurring. 2013-09-27 04:51:11 -04:00
Hiram Chirino 21fe8cac7d Make the mKahaDB store agnostic to the nested persistence adapter type. 2013-09-27 04:26:17 -04:00
gtully 0f90695db7 https://issues.apache.org/jira/browse/AMQ-4729 - add lockableSupport to mKahaDb to isolate it from dynamically created filtered kahadb locks, nested locks are disabled when top level lock is in place. default to a sharedfile locker 2013-09-19 21:58:43 +01:00
Timothy Bish d1446c3bca fix and tests for: https://issues.apache.org/jira/browse/AMQ-4073 2013-09-05 15:59:01 -04:00
Timothy A. Bish 2d861dae65 fix for: https://issues.apache.org/jira/browse/AMQ-4683
Make scheduler job dispatching start more deterministic

git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@1516912 13f79535-47bb-0310-9956-ffa450edef68
2013-08-23 16:01:12 +00:00
Timothy A. Bish 85bb229aa7 fix for: https://issues.apache.org/jira/browse/AMQ-4683
git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@1516561 13f79535-47bb-0310-9956-ffa450edef68
2013-08-22 19:45:22 +00:00
Gary Tully 90d6c2042d https://issues.apache.org/jira/browse/AMQ-4212 - fix auto upgrade from ver 1 and 2 to 5 - regression in KahaDBVersionTest
git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@1511711 13f79535-47bb-0310-9956-ffa450edef68
2013-08-08 11:51:29 +00:00
Gary Tully 0061f6f755 https://issues.apache.org/jira/browse/AMQ-4000 - tracking subscription commands causes a problem with replay outside of activate - can reset a sub ack locations - regression in AMQ2149Test. Fixed by ignoring sub add during recovery replay
git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@1511306 13f79535-47bb-0310-9956-ffa450edef68
2013-08-07 13:38:53 +00:00
Gary Tully 5cadb04ad3 https://issues.apache.org/jira/browse/AMQ-4662 - kahadb default checksumJournalFiles = true - validate no migration impact as we currently store default checksum value of 0
git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@1509178 13f79535-47bb-0310-9956-ffa450edef68
2013-08-01 11:44:30 +00:00
Timothy A. Bish bc4392bdde Additional AMQ-4563: Since the version of the OpenWire marshalers is configured, lets persist what it was when the store was created and log a warning should we start a broker with an old store configured to use a higher openwire version than originally set.
git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@1489062 13f79535-47bb-0310-9956-ffa450edef68
2013-06-03 17:00:38 +00:00
Hiram R. Chirino ec9975c36e Additional fixes related to AMQ-4563: You can now configure the storeOpenWireVersion property of a broker to control which version of openwire is used by the persistence stores. This needs to be set to version 10 to preserve the original AMQP message ids.
git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@1488375 13f79535-47bb-0310-9956-ffa450edef68
2013-05-31 19:56:03 +00:00
Hiram R. Chirino b2b4fc81f7 Fix for AMQ-4563: Changes the KahaDB store to use a more consistent key for message ids. MessageId.toString can change depending on how the message was encoded.
Support storing the externally generated message id of a message in the MessageID class so that Selectors can operate against that external message id.

git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@1488353 13f79535-47bb-0310-9956-ffa450edef68
2013-05-31 18:53:48 +00:00
Timothy A. Bish d9b54d6ae8 fix for: https://issues.apache.org/jira/browse/AMQ-4548
git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@1484999 13f79535-47bb-0310-9956-ffa450edef68
2013-05-21 22:18:36 +00:00
Bosanac Dejan 7450a32ae7 https://issues.apache.org/jira/browse/AMQ-4495 - always get a max batch of messages from the store
git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@1478823 13f79535-47bb-0310-9956-ffa450edef68
2013-05-03 14:50:56 +00:00
Timothy A. Bish 7057e819eb Fix for: https://issues.apache.org/jira/browse/AMQ-4488
git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@1475842 13f79535-47bb-0310-9956-ffa450edef68
2013-04-25 16:25:51 +00:00
Gary Tully 66e8011e9e https://issues.apache.org/jira/browse/AMQ-4485 - ensure cursor updates in same order as store orderindex via beforeCompletion with index lock. The before completion tracks ordered work that first thread completes as a unit. All updates to a destination are combined to a single sync, such that there is no cursor contention between transactions
git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@1475734 13f79535-47bb-0310-9956-ffa450edef68
2013-04-25 12:47:20 +00:00
Timothy A. Bish 3bf9d0cceb fix for: https://issues.apache.org/jira/browse/AMQ-4212
fix for: https://issues.apache.org/jira/browse/AMQ-2832

git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@1468171 13f79535-47bb-0310-9956-ffa450edef68
2013-04-15 18:08:15 +00:00
Gary Tully ed6c472601 https://issues.apache.org/jira/browse/AMQ-4407 - thanks for the test, to fix we need to ensure a persistence adapter is started, b/c it is stopped when the last dest is removed
git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@1461528 13f79535-47bb-0310-9956-ffa450edef68
2013-03-27 11:22:58 +00:00