Commit Graph

106 Commits

Author SHA1 Message Date
Gary Tully 426a3a17fe remove spurious perf logging code: https://issues.apache.org/jira/browse/AMQ-3076
git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@1043912 13f79535-47bb-0310-9956-ffa450edef68
2010-12-09 11:58:17 +00:00
Bosanac Dejan d6ad7c7cd0 https://issues.apache.org/activemq/browse/AMQ-3028 - sync pageCache
git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@1038566 13f79535-47bb-0310-9956-ffa450edef68
2010-11-24 11:48:27 +00:00
Gary Tully d650d0c7e1 apply fix from https://issues.apache.org/activemq/browse/AMQ-3007 - with thanks
git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@1028637 13f79535-47bb-0310-9956-ffa450edef68
2010-10-29 07:58:28 +00:00
Gary Tully c94b4075e9 resolve issue with page file recovery replaying write buffer at wrong offest, also have schedualler flush writes on new store creation, issue visible with unclean shutdown - https://issues.apache.org/activemq/browse/AMQ-2935
git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@1004600 13f79535-47bb-0310-9956-ffa450edef68
2010-10-05 10:15:32 +00:00
Hiram R. Chirino d93ef2a919 Fixes AMQ-2863 : KahaDB NPE can occur using random index removes
git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@983672 13f79535-47bb-0310-9956-ffa450edef68
2010-08-09 15:04:15 +00:00
Gary Tully 530ab0420b test showing npe remove issue in kahadb index
git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@983644 13f79535-47bb-0310-9956-ffa450edef68
2010-08-09 13:43:39 +00:00
Gary Tully 958038e0ca remove duplicate sync, order is now down to the enqueueMutex only which is still consistent as it is only accessed from this place
git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@962516 13f79535-47bb-0310-9956-ffa450edef68
2010-07-09 13:21:16 +00:00
Gary Tully 5763561d60 resolve PerDestinationStoreLimitTest - have store size reflect stored messages rather than disk usage (so now it reports used rather than allocated disk soace excluding the index) such that 100MB messages gives store size ~100MB while disk utilisation may be bigger. getDiskSize still exsits to get totall allocated space on disk. This allows configured limits to be more accuratly enforced and fixes this test regression. Also calculation is accumulative rather than on demand so it much faster
git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@962468 13f79535-47bb-0310-9956-ffa450edef68
2010-07-09 09:52:43 +00:00
Gary Tully 76f842d371 improve async task concurrency, contention over indexMutex for transactions and taskMap, not per destination. Added some metrics enabled by system properties to help further diagnosis of journal usage
git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@960060 13f79535-47bb-0310-9956-ffa450edef68
2010-07-02 17:11:00 +00:00
Hiram R. Chirino 9ae41192a9 Fix for AMQ-2757 - leaf nodes were not properly getting linked together in some cases.
git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@956741 13f79535-47bb-0310-9956-ffa450edef68
2010-06-21 23:56:35 +00:00
Hiram R. Chirino d8440f8610 fixing contains method so that recovery is quicker
git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@956732 13f79535-47bb-0310-9956-ffa450edef68
2010-06-21 23:26:49 +00:00
Gary Tully e85dda9c64 have KahaDB lock work in vm, so master slave tests can work ok. preserver kaha behaiour in this regard as it makes testing simpler. fix npe on shutdown if start fails
git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@955973 13f79535-47bb-0310-9956-ffa450edef68
2010-06-18 12:27:51 +00:00
Gary Tully e1389a6acc allow journal write batching, resolve global transaction lock and journal lock, let writes accumulate on the datafileappender rather than at the store, also tie transaction completion and after commit processing together with a callback rather than with a global lock so that concurrent commits can batch their writes - rework of fix for https://issues.apache.org/activemq/browse/AMQ-2594
git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@947657 13f79535-47bb-0310-9956-ffa450edef68
2010-05-24 14:48:55 +00:00
Robert Davies 54a00fe5fe removing static schedulers - so ActiveMQ will shutdown cleanly - see https://issues.apache.org/activemq/browse/AMQ-2568
git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@945524 13f79535-47bb-0310-9956-ffa450edef68
2010-05-18 07:23:20 +00:00
Hiram R. Chirino 10e57c9e05 related to https://issues.apache.org/activemq/browse/AMQ-2687
was using the wrong file var when reading some values from the recovery log.  Net effect is that recovery log was always considered inconsistent.


git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@932537 13f79535-47bb-0310-9956-ffa450edef68
2010-04-09 18:23:04 +00:00
Gary Tully 4b49834ef6 hang on linux seems to point to the possibilit of more than one thread waiting on the enque mutex so this change to notifyAll should help
git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@903330 13f79535-47bb-0310-9956-ffa450edef68
2010-01-26 17:29:00 +00:00
Hiram R. Chirino a33d6684eb Adding a isEmpty() method to the btree indexes.. related to the fix created for AMQ-2512
git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@901763 13f79535-47bb-0310-9956-ffa450edef68
2010-01-21 16:37:37 +00:00
Bosanac Dejan 5cf4d83556 https://issues.apache.org/activemq/browse/AMQ-2042 - kahadb cleaning up after io exception
git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@881221 13f79535-47bb-0310-9956-ffa450edef68
2009-11-17 09:53:49 +00:00
Bosanac Dejan a19e27a9fc https://issues.apache.org/activemq/browse/AMQ-2042 - enable kahadb to recover from 'no space available'
git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@880792 13f79535-47bb-0310-9956-ffa450edef68
2009-11-16 15:22:19 +00:00
Bosanac Dejan 6a4e25c737 http://issues.apache.org/activemq/browse/AMQ-2042 - additional fix for kahaDB store
git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@835833 13f79535-47bb-0310-9956-ffa450edef68
2009-11-13 12:56:38 +00:00
Bosanac Dejan b1a9130149 http://issues.apache.org/activemq/browse/AMQ-2042 - shutdown if kahadb cannot access disk
git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@834922 13f79535-47bb-0310-9956-ffa450edef68
2009-11-11 15:50:45 +00:00
Gary Tully 039a15fc13 allow embedded broker with kahaDB to exit without stop - make writer threads Daemon
git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@814649 13f79535-47bb-0310-9956-ffa450edef68
2009-09-14 14:04:19 +00:00
Gary Tully 561cda1e45 expose journal writeBatchSize
git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@813467 13f79535-47bb-0310-9956-ffa450edef68
2009-09-10 15:00:13 +00:00
Gary Tully 868965997c resolve https://issues.apache.org/activemq/browse/AMQ-2366 - new File needed on each lock attempt or master restart will see old lock history
git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@808378 13f79535-47bb-0310-9956-ffa450edef68
2009-08-27 11:46:21 +00:00
Gary Tully 589f9241fe resolve fd leak in locking logic, cause slave to exhaust fds and fail
git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@808041 13f79535-47bb-0310-9956-ffa450edef68
2009-08-26 15:09:02 +00:00
Hiram R. Chirino 76d3b4665c - Journal will now check the data files for data corruption if checkForCorruptionOnStartup option is enabled.
- The corrupted journal records can be inspected via DataFile.getCorruptedBlocks()
- An OR and AND BTreeVisitor is now supported to support running more complex queries against the BTree



git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@805550 13f79535-47bb-0310-9956-ffa450edef68
2009-08-18 19:44:22 +00:00
Gary Tully c42d980db8 revert change of max file size to long as it will impact index size and 2gb is a reasonable max atm
git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@802781 13f79535-47bb-0310-9956-ffa450edef68
2009-08-10 13:13:33 +00:00
Gary Tully 747a2383f4 reflect preferredSize change to long
git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@802766 13f79535-47bb-0310-9956-ffa450edef68
2009-08-10 12:41:36 +00:00
Gary Tully 880f3d6811 file size limit should be a long
git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@802709 13f79535-47bb-0310-9956-ffa450edef68
2009-08-10 09:51:08 +00:00
Hiram R. Chirino fbc5eb5eb0 Implemented:
https://issues.apache.org/activemq/browse/AMQ-2338
 https://issues.apache.org/activemq/browse/AMQ-2337



git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@799733 13f79535-47bb-0310-9956-ffa450edef68
2009-07-31 20:10:05 +00:00
Gary Tully a88a513e3c fix file lock usage in kahadb store, so shared file system master slave can work
git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@783364 13f79535-47bb-0310-9956-ffa450edef68
2009-06-10 14:06:59 +00:00
Hiram R. Chirino c442ebcc7d Forgot this one in last commit
git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@777216 13f79535-47bb-0310-9956-ffa450edef68
2009-05-21 18:43:21 +00:00
Hiram R. Chirino e22a37a70e Extended the Marshaller interface so that users can determin if uses fixed size records. Kahadb should be able to make some optimizations
on fixed sized objects.



git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@777209 13f79535-47bb-0310-9956-ffa450edef68
2009-05-21 18:34:45 +00:00
Hiram R. Chirino 3d64397cbf Added support for creating BTreeIndex objects with a default constructor.
git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@758732 13f79535-47bb-0310-9956-ffa450edef68
2009-03-26 16:42:52 +00:00
Gary Tully d458a5d17f fix org.apache.kahadb.journal.JournalTest.testBatchWriteCompleteAfterClose() after changes for AMQ-2143, the file and offset in a location are set after an enqueue to a write batch, so doing the inflight add just overwrote the same entry, -1:-1. Which fixed the leak but broke inflights, proper fix is to do the inflight addition in enqueue, just after the location details are known and with a lock on appender enqueue
git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@748475 13f79535-47bb-0310-9956-ffa450edef68
2009-02-27 10:22:50 +00:00
Gary Tully d98ea376ba resolve mem leak in kahadb - AMQ-2143
git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@748218 13f79535-47bb-0310-9956-ffa450edef68
2009-02-26 17:32:37 +00:00
Hiram R. Chirino f73b622a60 Change the way journal records are validated on recovery to be consistent. We now use a checksum to provide better consistency.
git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@741741 13f79535-47bb-0310-9956-ffa450edef68
2009-02-06 21:35:39 +00:00
Hiram R. Chirino d761e80ae4 - added some handy generic visitors to the BTreeVisitor class.
- Updated the recovery process so it now rollsback changes applied to the index which did not get synced to the journal.



git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@741659 13f79535-47bb-0310-9956-ffa450edef68
2009-02-06 18:19:31 +00:00
Hiram R. Chirino 789ea7cab9 Making the removeDataFile a little smarter to avoid removing data files that are still being worked on
git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@741600 13f79535-47bb-0310-9956-ffa450edef68
2009-02-06 15:54:19 +00:00
Gary Tully deea2d11a8 expose relevant index attributes for configuration from kahadb
git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@741528 13f79535-47bb-0310-9956-ffa450edef68
2009-02-06 10:59:47 +00:00
Hiram R. Chirino 180b0ec4ab - Implemented the setBatch API call in KahaDBStore.
- fixed bug: When a async thread was used for writing in KahaDBStore you could run in a Memory leak due to an unbound enqueue buffer type problem.



git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@741327 13f79535-47bb-0310-9956-ffa450edef68
2009-02-05 22:41:01 +00:00
Gary Tully f0af62f64d add a little more info to flush
git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@741293 13f79535-47bb-0310-9956-ffa450edef68
2009-02-05 21:15:13 +00:00
Hiram R. Chirino 8262ef7903 Changed the cleanup algorithm used in the KahaDB.. It should now be much faster.
Fixed bug in the BTreeNode.visit() which was making us load most of the pages instead of letting us filter down to just a few.



git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@741212 13f79535-47bb-0310-9956-ffa450edef68
2009-02-05 18:07:57 +00:00
Hiram R. Chirino c0594251e2 Bettter property names.
git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@741169 13f79535-47bb-0310-9956-ffa450edef68
2009-02-05 16:33:23 +00:00
Hiram R. Chirino 19c4316a1c Added the ability to customize thw write batch size in the PageFile.
Added some diagnostic logging to see when store updates take too long and why.



git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@741137 13f79535-47bb-0310-9956-ffa450edef68
2009-02-05 15:29:48 +00:00
Hiram R. Chirino ba706d134d Added a handy little rotateTo method to be able to quickly rotate to a specific node.
git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@740329 13f79535-47bb-0310-9956-ffa450edef68
2009-02-03 16:02:01 +00:00
Hiram R. Chirino c01e182cfd Avoid NPE
git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@740087 13f79535-47bb-0310-9956-ffa450edef68
2009-02-02 19:38:04 +00:00
Hiram R. Chirino 42824ffc55 Adding a handy getList() method to the LinkedNode impl
git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@738946 13f79535-47bb-0310-9956-ffa450edef68
2009-01-29 18:10:03 +00:00
Hiram R. Chirino 47e6d0482b Fixing 2 bugs and adding a nice to have toArrayList() method
git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@733888 13f79535-47bb-0310-9956-ffa450edef68
2009-01-12 20:17:48 +00:00
Hiram R. Chirino 050436d72c Fixing rotate() method
git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@733849 13f79535-47bb-0310-9956-ffa450edef68
2009-01-12 17:51:08 +00:00
Hiram R. Chirino f62737be7c Moving stuff around so that activemq-core can depend on kahadb instead of kahadb depending on activemq-core. This step allows kahadb to be used as the default
store implementation if desired.  Will do that next.



git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@731704 13f79535-47bb-0310-9956-ffa450edef68
2009-01-05 20:48:38 +00:00
Robert Davies 30f41b9811 Fix for https://issues.apache.org/activemq/browse/AMQ-1842
git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@729942 13f79535-47bb-0310-9956-ffa450edef68
2008-12-29 16:50:53 +00:00
Robert Davies 04bb24b05e Add activeBlaze replication cluster state manager
git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@722615 13f79535-47bb-0310-9956-ffa450edef68
2008-12-02 20:54:32 +00:00
Hiram R. Chirino 7c70973de3 Fixing build.. breaks on java 1.6
git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@721260 13f79535-47bb-0310-9956-ffa450edef68
2008-11-27 18:53:25 +00:00
Hiram R. Chirino 2996cf31e8 - Switched to using camel case in the xml emlement names to make things consistent.
- Replaced the asyncReplication property in the ReplicationService with a minimumReplicas properties.  When set to 0, async replication will be in effect.
- Also removed the use of a map to track replication requests since at most, only 1 sync requrest is issued at a time.



git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@720234 13f79535-47bb-0310-9956-ffa450edef68
2008-11-24 17:44:12 +00:00
Hiram R. Chirino 456a2ba5cf Moving the kahadb work from the sandbox into trunk now that 5.2 has been released.
git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@719665 13f79535-47bb-0310-9956-ffa450edef68
2008-11-21 18:19:50 +00:00