Commit Graph

131 Commits

Author SHA1 Message Date
Timothy A. Bish 4bace216b9 updated fix: https://issues.apache.org/jira/browse/AMQ-3982
Instead of locking on the PList iterator which forces a lock on every access to hasNext we should lock down at the PageFile level in readPage making the seek and read an atomic operation.  Since many reads on a single already loaded page don't need to be synchronized we pay a higher price for locking in the specific PList case than we do buy creating this atomic read operation in PageFile. 

git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@1375852 13f79535-47bb-0310-9956-ffa450edef68
2012-08-21 23:28:50 +00:00
Gary Tully 8e60ca9a90 https://issues.apache.org/jira/browse/AMQ-3956 - KahaDB pagefile (db.data) steady growth - BTreeIndex page leak. release the clild page when empty branch is promoted, additional tests
git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@1367924 13f79535-47bb-0310-9956-ffa450edef68
2012-08-01 11:22:48 +00:00
Bosanac Dejan c587918821 [maven-release-plugin] prepare for next development iteration
git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@1332983 13f79535-47bb-0310-9956-ffa450edef68
2012-05-02 10:36:17 +00:00
Bosanac Dejan b7e264f917 [maven-release-plugin] prepare release activemq-5.6.0
git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@1332981 13f79535-47bb-0310-9956-ffa450edef68
2012-05-02 10:35:43 +00:00
Bosanac Dejan 710dc7bb20 [maven-release-plugin] prepare for next development iteration
git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@1329823 13f79535-47bb-0310-9956-ffa450edef68
2012-04-24 16:17:53 +00:00
Bosanac Dejan 96a9fb2502 [maven-release-plugin] prepare release activemq-5.6.0
git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@1329821 13f79535-47bb-0310-9956-ffa450edef68
2012-04-24 16:17:16 +00:00
Timothy A. Bish f77b2525a5 Additional fix for: https://issues.apache.org/jira/browse/AMQ-3775
On remove of inner ListNode entries the Iterator remove was not properly setting the Next page Id for the previous node leading to
the iterator not being able to traverse the entire list correctly.  

git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@1328739 13f79535-47bb-0310-9956-ffa450edef68
2012-04-21 21:57:31 +00:00
Bosanac Dejan 974f6896a4 fixing licenses
git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@1327985 13f79535-47bb-0310-9956-ffa450edef68
2012-04-19 15:15:19 +00:00
Robert Davies 50d3e8e09a Applied patch for https://issues.apache.org/jira/browse/AMQ-3301
git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@1326252 13f79535-47bb-0310-9956-ffa450edef68
2012-04-15 04:50:53 +00:00
Gary Tully 53b29a206b https://issues.apache.org/jira/browse/AMQ-3805 - duplicate dispatch to durable sub with concurrent send transaction commit and activate. fixed up the use of audit through an activate/deactivate such that duplicate dispatch is suppressed at source in this case
git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@1325722 13f79535-47bb-0310-9956-ffa450edef68
2012-04-13 11:47:11 +00:00
Timothy A. Bish d2610faff4 additional fix for: https://issues.apache.org/jira/browse/AMQ-3775
The ListIndex was not properly configured after a split occurred during put operations, the
page Ids weren't set correctly on split and the tail page Id was never set. 

git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@1306780 13f79535-47bb-0310-9956-ffa450edef68
2012-03-29 10:33:11 +00:00
Timothy A. Bish 6d58dbef32 Adding new test to show an issue in the list lindex on removes.
git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@1306515 13f79535-47bb-0310-9956-ffa450edef68
2012-03-28 17:55:32 +00:00
Gary Tully 1463bec066 https://issues.apache.org/jira/browse/AMQ-3768: ClassCastException when running some Durable Consumer test cases. root cause of the classcast was the reuse of a freed node that was still referenced as the head page id of a listindex. The fix is to not modify the head page id of a listindex when removing and coalescing linked pages, the head page remains valid for the duration of a subscription. Eventually got a test case that could easlily reproduce
git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@1304020 13f79535-47bb-0310-9956-ffa450edef68
2012-03-22 20:01:40 +00:00
Timothy A. Bish eab8758529 fixes for: https://issues.apache.org/jira/browse/AMQ-3768
Adds some additional eager cache invalidation to ensure we don't use stale nodes

git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@1301145 13f79535-47bb-0310-9956-ffa450edef68
2012-03-15 18:57:13 +00:00
Timothy A. Bish 0bbb73529d fixes for: https://issues.apache.org/jira/browse/AMQ-3768
Prevent usage of stale cache data.

git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@1300723 13f79535-47bb-0310-9956-ffa450edef68
2012-03-14 21:15:20 +00:00
Timothy A. Bish cdba931deb fix for: https://issues.apache.org/jira/browse/AMQ-3702
git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@1241221 13f79535-47bb-0310-9956-ffa450edef68
2012-02-06 22:24:58 +00:00
Bosanac Dejan 4a7475d7c2 https://issues.apache.org/jira/browse/AMQ-3374 - don't count every write in transaction size as only the number of pages we keep in memory is relevant (multiple writes to the same page will overwrite themselves)
git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@1224890 13f79535-47bb-0310-9956-ffa450edef68
2011-12-27 10:41:28 +00:00
Gary Tully 89f22dacac https://issues.apache.org/jira/browse/AMQ-3646 - Allow KahaDB to run without disk syncs, higher through put without the jms persistence guarantee. Allow 0 peroid to disable checkpoint/cleanup. Allow jmx gc operation to invoke cleanup so that store gc can be initiated via jms to ensure disk is reclaimed. Ensure periodic checkpoint does not sync when enableJournalDiskSyncs=false, it waits for completion but does not force to disk. fix cached buffer allocation and refactor to reuse more code in CallerBufferingDataFileAppender
git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@1222705 13f79535-47bb-0310-9956-ffa450edef68
2011-12-23 15:44:52 +00:00
Gary Tully 384388fe62 CallerBufferingDataFileAppender, fix rollover of cached buffers
git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@1222635 13f79535-47bb-0310-9956-ffa450edef68
2011-12-23 10:48:38 +00:00
Gary Tully bb4a2f73f4 add experimental appender that takes the buffering burden from the writer thread, it and some trace enabled via -Dorg.apache.kahadb.journal.appender.WRITE_STAT_WINDOW=10000 -Dorg.apache.kahadb.journal.CALLER_BUFFER_APPENDER=true. Additional accessors on KahaDb to further configure index for the fast but may need recovery case
git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@1222471 13f79535-47bb-0310-9956-ffa450edef68
2011-12-22 21:44:01 +00:00
Gary Tully 323eeda725 add scenario test for fast persistent enqueues to explore getting the broker to be disk bound
git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@1222219 13f79535-47bb-0310-9956-ffa450edef68
2011-12-22 13:22:25 +00:00
Robert Davies aa3ab12234 Fix for https://issues.apache.org/jira/browse/AMQ-3638
git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@1215432 13f79535-47bb-0310-9956-ffa450edef68
2011-12-17 07:04:24 +00:00
Bosanac Dejan 5f7fc14e2e https://issues.apache.org/jira/browse/AMQ-3634 - corrupted index recovery
git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@1213743 13f79535-47bb-0310-9956-ffa450edef68
2011-12-13 15:43:53 +00:00
Hiram R. Chirino 0d01b16e25 Fixes AMQ-3570: Improve ActiveMQ's XSD to allow elements to appear in any order
git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@1189740 13f79535-47bb-0310-9956-ffa450edef68
2011-10-27 13:19:49 +00:00
Timothy A. Bish ca90cc7b8c fix for: https://issues.apache.org/jira/browse/AMQ-3031
Don't use the scheduleAtFixedRate method in our scheduler as we
don't really have a need for real time task execution, just use
the fixed delay scheduler so that jobs don't stack up.

git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@1174952 13f79535-47bb-0310-9956-ffa450edef68
2011-09-23 18:50:15 +00:00
Timothy A. Bish 199c6838d4 Some updates and changes to support some work on https://issues.apache.org/jira/browse/AMQ-3467
Cleanup some code in the DataByteArrayOutputStream and fix an issue in the readUTF 
code that code result in a UTFDataFormatException to be thrown for no reason.

Adds some tests for those classes as well.

git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@1172600 13f79535-47bb-0310-9956-ffa450edef68
2011-09-19 12:46:38 +00:00
Timothy A. Bish 334ade2f5d Some updates and changes to support some work on https://issues.apache.org/jira/browse/AMQ-3467
Enhance the ListIndex to improve performance of the remove and put operations, put is now a
real put and will update the element with the given key if it exists in the list, otherwise
it will add it to the end.  Also adds the ability for a single key/value pair to span more
than one page when needed, multiple elements will still reside on one page whenever possible.

git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@1170849 13f79535-47bb-0310-9956-ffa450edef68
2011-09-14 21:15:39 +00:00
Gary Tully 15953786d1 https://issues.apache.org/jira/browse/AMQ-2922 - rework, introduce new store 'mKahaDB' that contains multiple filtered kahadb persistence adapters, destinations match a store using destination wildcards in the same way as policy entries. Transactions that span multiple stores use a local xa variant to ensure consistency
git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@1170201 13f79535-47bb-0310-9956-ffa450edef68
2011-09-13 15:01:37 +00:00
Timothy A. Bish 6e6d8605d3 https://issues.apache.org/jira/browse/AMQ-3467
Handle a potential NPE case.

git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@1165797 13f79535-47bb-0310-9956-ffa450edef68
2011-09-06 19:35:33 +00:00
Timothy A. Bish 82e3be347c Some updates and changes to support some work on https://issues.apache.org/jira/browse/AMQ-3467
git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@1164936 13f79535-47bb-0310-9956-ffa450edef68
2011-09-03 21:39:12 +00:00
Gary Tully d1e7d69fc1 https://issues.apache.org/jira/browse/AMQ-3466: IndexOutOfBounds in kahadb with large number of subscriptions and pending messages. use long locations such that temp file appends do not overflow and ensure page file overflow does not leave oversized chunk, link pages till overflow fits in a page, + some additional tests
git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@1160681 13f79535-47bb-0310-9956-ffa450edef68
2011-08-23 13:34:09 +00:00
Gary Tully 8d5f07b9ca disabled test that shows negative chunk offset in btree pagefile
git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@1159697 13f79535-47bb-0310-9956-ffa450edef68
2011-08-19 17:21:01 +00:00
Bosanac Dejan 6994ecb5ac https://issues.apache.org/jira/browse/AMQ-3374,https://issues.apache.org/jira/browse/AMQ-3443 - long kahadb tx, delayed tmp file removal
git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@1159570 13f79535-47bb-0310-9956-ffa450edef68
2011-08-19 10:16:33 +00:00
Gary Tully bf59b7d70f https://issues.apache.org/jira/browse/AMQ-3434: Contention in PLIist creation results in NPE on load - FilePendingMessageCursor. Resolve contention on creation, tidy up ListIndex iterator remove and plist release, additional test that stresses contention such that it can reproduce the stomp load test scenario
git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@1153420 13f79535-47bb-0310-9956-ffa450edef68
2011-08-03 10:18:18 +00:00
Timothy A. Bish 2a6a4b282f Apply patch for: https://issues.apache.org/jira/browse/AMQ-3292
git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@1152521 13f79535-47bb-0310-9956-ffa450edef68
2011-07-30 21:41:17 +00:00
Bosanac Dejan 984a9fb1c3 https://issues.apache.org/jira/browse/AMQ-3374 - long kahadb tx - parse long
git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@1138449 13f79535-47bb-0310-9956-ffa450edef68
2011-06-22 13:08:23 +00:00
Bosanac Dejan 5bcd417f4b https://issues.apache.org/jira/browse/AMQ-3374 - long kahadb tx - configurable max size and better tmp file name
git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@1138443 13f79535-47bb-0310-9956-ffa450edef68
2011-06-22 12:56:20 +00:00
Bosanac Dejan 40ae055f37 https://issues.apache.org/jira/browse/AMQ-3374 - first stab at fixing long kahadb tx oom problem
git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@1138442 13f79535-47bb-0310-9956-ffa450edef68
2011-06-22 12:55:36 +00:00
Bosanac Dejan f6061bd4c6 https://issues.apache.org/jira/browse/AMQ-3351 - moving LocationMarshaller to kahadb module, so it can work well in osgi environment
git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@1132587 13f79535-47bb-0310-9956-ffa450edef68
2011-06-06 10:41:42 +00:00
Gary Tully 2b102598dc https://issues.apache.org/jira/browse/AMQ-3351 - Usage of the temp store index by the PList needs the be improved. new implementation puts the max entries in a page, reading/writing requires substantially less page access and disk access when pending messages build up
git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@1130607 13f79535-47bb-0310-9956-ffa450edef68
2011-06-02 15:28:30 +00:00
Gary Tully 5609826a98 fix up some crazy auto imports on that new list node
git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@1127549 13f79535-47bb-0310-9956-ffa450edef68
2011-05-25 15:11:41 +00:00
Gary Tully e11ece117c add list index that will keep x entries per page, basis for plist that is more space efficient
git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@1127543 13f79535-47bb-0310-9956-ffa450edef68
2011-05-25 14:28:44 +00:00
Bosanac Dejan 47833b7fb1 https://issues.apache.org/jira/browse/AMQ-3273 - file lock on win
git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@1089772 13f79535-47bb-0310-9956-ffa450edef68
2011-04-07 08:30:53 +00:00
Gary Tully 442232514c [maven-release-plugin] prepare for next development iteration
git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@1086321 13f79535-47bb-0310-9956-ffa450edef68
2011-03-28 18:02:03 +00:00
Gary Tully c94de4230a [maven-release-plugin] prepare release activemq-5.5.0
git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@1086315 13f79535-47bb-0310-9956-ffa450edef68
2011-03-28 17:52:07 +00:00
Bosanac Dejan 68bcac109a https://issues.apache.org/jira/browse/AMQ-3237 - FileLock.tryLock() doesn't work well in all environments
git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@1084533 13f79535-47bb-0310-9956-ffa450edef68
2011-03-23 10:43:21 +00:00
Hiram R. Chirino 0bbc0acb84 Removing svn keywords, they don't have much value and just add additional noise when diffing source trees.
git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@1071256 13f79535-47bb-0310-9956-ffa450edef68
2011-02-16 13:58:54 +00:00
Bosanac Dejan 8bf987b134 https://issues.apache.org/jira/browse/AMQ-3177 - use slf4j instead of jcl
git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@1069405 13f79535-47bb-0310-9956-ffa450edef68
2011-02-10 14:24:01 +00:00
Gary Tully 029c1e3e28 https://issues.apache.org/jira/browse/AMQ-3160 - ConcurrentModificationException in ActiveMQ Journal Checkpoint Worker
access to the file map needs to have a sync so that it can get an accurate snapshot and avoid concurrent access ex

git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@1063691 13f79535-47bb-0310-9956-ffa450edef68
2011-01-26 12:14:07 +00:00
Gary Tully 9e40b914de resolve https://issues.apache.org/jira/browse/AMQ-3122 - ignore zero length journal files on start, sync write state on shutdown to ensure metadata is not ahead of journal in the event of no space on disk and journal write failure
git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@1056327 13f79535-47bb-0310-9956-ffa450edef68
2011-01-07 14:12:46 +00:00