56 Commits

Author SHA1 Message Date
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
Guillaume Nodet
3ce41d42c5 AMQ-2602: avoid activemq osgi bundles to import their own packages
git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@908905 13f79535-47bb-0310-9956-ffa450edef68
2010-02-11 09:57:46 +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
Bosanac Dejan
7172be35bc [maven-release-plugin] prepare for next development iteration
git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@816197 13f79535-47bb-0310-9956-ffa450edef68
2009-09-17 14:02:19 +00:00
Bosanac Dejan
05a2c0773e [maven-release-plugin] prepare release activemq-5.3.0
git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@816195 13f79535-47bb-0310-9956-ffa450edef68
2009-09-17 14:01:35 +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
Gary Tully
2deea18cc2 applied patch from https://issues.apache.org/activemq/browse/AMQ-2068 with thanks
git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@734981 13f79535-47bb-0310-9956-ffa450edef68
2009-01-16 11:47:02 +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
Bosanac Dejan
3967b81cc7 name and description for kaha db module
git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@732985 13f79535-47bb-0310-9956-ffa450edef68
2009-01-09 09:48:35 +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