Commit Graph

31308 Commits

Author SHA1 Message Date
Jonathan Ellis 1fdfad82b3 enable assertions by default. patch by jbellis
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@774568 13f79535-47bb-0310-9956-ffa450edef68
2009-05-13 22:31:52 +00:00
Jonathan Ellis 3d7203266a replace executor with locking. the interaction between the executor service terminating and the CFS
was inherently unsafe -- you would have to lock anyway to make it safe, the atomic reference wasn't
enough, so at that point you might as well get rid of the executor.

git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@774567 13f79535-47bb-0310-9956-ffa450edef68
2009-05-13 22:31:49 +00:00
Jonathan Ellis 9bb87e99a4 fix cobetura report. patch by johano; reviewed by jbellis for CASSANDRA-167
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@774525 13f79535-47bb-0310-9956-ffa450edef68
2009-05-13 20:53:15 +00:00
Jonathan Ellis 735008dafc more log cleanup. patch by jbellis
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@774424 13f79535-47bb-0310-9956-ffa450edef68
2009-05-13 16:47:14 +00:00
Jonathan Ellis bd3c6acf33 misc cleanup. patch by jbellis
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@774166 13f79535-47bb-0310-9956-ffa450edef68
2009-05-13 02:19:34 +00:00
Jonathan Ellis f86d47c242 to avoid adding work to terminating executor (which will raise an exception) we need to check for threshold violated _first_, and move puts to the new memtable once flush has started. patch by jbellis; reviewed by Eric Evans for CASSANDRA-165
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@774165 13f79535-47bb-0310-9956-ffa450edef68
2009-05-13 02:17:23 +00:00
Jonathan Ellis ae70cea79a fix RackUnawareStrategyTest -- endpoint asserts 'host' is an ip address (to make sure we're not mixing hostnames in again) so create a suitable fake IP for the test. patch by jbellis for CASSANDRA-163
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@774097 13f79535-47bb-0310-9956-ffa450edef68
2009-05-12 21:26:42 +00:00
Jonathan Ellis 3aca0737cb another workaround for register/select wonkiness. patch by jbellis; tested by Mark Robson for CASSANDRA-156
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@774076 13f79535-47bb-0310-9956-ffa450edef68
2009-05-12 20:46:36 +00:00
Jonathan Ellis da441aed29 cleanup ssTable filename tracking. patch by jbellis
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@774025 13f79535-47bb-0310-9956-ffa450edef68
2009-05-12 19:11:31 +00:00
Jonathan Ellis b460bd71c5 test to more reliably reproduce CME during range. fix by locking out compact during range query.
patch by jbellis; reviewed by Eric Evans for CASSANDRA-161

git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@774024 13f79535-47bb-0310-9956-ffa450edef68
2009-05-12 19:11:27 +00:00
Jonathan Ellis 5886b7c9ac fix race condition in compaction -- it was possible for a read thread to "snapshot" ssTables_, then have
the compactor thread delete those (after merging them into a new file) before the read thread checked
them.  Since the read thread's "snapshot" doesn't include the new merged sstable, it incorrectly tells
the caller that the key does not exist.
patch by jbellis; reviewed by Eric Evans for CASSANDRA-161

git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@774023 13f79535-47bb-0310-9956-ffa450edef68
2009-05-12 19:11:21 +00:00
Jonathan Ellis 41ee512d6f fix race condition between when memtable is replaced as the active one and when it's added to
the set of historical (pending flush) memtables.
patch by jbellis; reviewed by Eric Evans for CASSANDRA-161

git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@774022 13f79535-47bb-0310-9956-ffa450edef68
2009-05-12 19:11:15 +00:00
Jonathan Ellis 6fc61d0cd5 fix junit-related build issues. patch by johano; reviewed by jbellis for CASSANDRA-164
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@774016 13f79535-47bb-0310-9956-ffa450edef68
2009-05-12 18:51:49 +00:00
Jonathan Ellis 2fd856de35 unregister mbean on flush. patch by daishi; reviewed by jbellis for CASSANDRA-157
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@774002 13f79535-47bb-0310-9956-ffa450edef68
2009-05-12 17:56:31 +00:00
Jonathan Ellis 9307f621bc we don't need these jars for junit
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@773957 13f79535-47bb-0310-9956-ffa450edef68
2009-05-12 16:11:37 +00:00
Jonathan Ellis 5964cd4c04 extract tests that could conflict with each other to a separate test class (= gets own jvm)
patch by jbellis; reviewed by Sandeep Tata for CASSANDRA-162

git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@773941 13f79535-47bb-0310-9956-ffa450edef68
2009-05-12 15:26:52 +00:00
Jonathan Ellis 97fc5cb8ef migrate to JUnit 4.6. patch by jbellis; reviewed by Sandeep Tata for CASSANDRA-162
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@773940 13f79535-47bb-0310-9956-ffa450edef68
2009-05-12 15:26:38 +00:00
Jonathan Ellis 8054e4e715 test different data sizes for namesort. patch by jbellis
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@773730 13f79535-47bb-0310-9956-ffa450edef68
2009-05-11 23:52:23 +00:00
Jonathan Ellis ad2cd9a9ba more cleanup, mostly by reducing nesting level where possible. patch by jbellis
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@773729 13f79535-47bb-0310-9956-ffa450edef68
2009-05-11 23:52:17 +00:00
Jonathan Ellis dd1f0972bb reformat. this is just whitespace changes, automated by the IDE. patch by jbellis
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@773728 13f79535-47bb-0310-9956-ffa450edef68
2009-05-11 23:52:10 +00:00
Jonathan Ellis fe3e1a8a09 check for at-end-of-data in iterator init. patch by jbellis; reviewed by Jun Rao for CASSANDRA-153
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@773727 13f79535-47bb-0310-9956-ffa450edef68
2009-05-11 23:48:34 +00:00
Jonathan Ellis dfa41ec103 cannonicalize all accesses to indexMetadataMap.
patch by jbellis; reviewed by Jun Rao for CASSANDRA-153

git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@773726 13f79535-47bb-0310-9956-ffa450edef68
2009-05-11 23:48:28 +00:00
Jonathan Ellis 69bc7e97c8 unit test to expose bug system test is running into. patch by jbellis; reviewed by Jun Rao for CASSANDRA-153
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@773725 13f79535-47bb-0310-9956-ffa450edef68
2009-05-11 23:48:20 +00:00
Jonathan Ellis 761e953afa clean up compaction code and refactor to allow user-specified threadhold (minimum number of CFs to compact). patch by jbellis
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@773573 13f79535-47bb-0310-9956-ffa450edef68
2009-05-11 14:26:16 +00:00
Jonathan Ellis e1971c6d07 allow specifying "ant test -Dtest.name=ColumnFamilyStoreTest" etc. patch by Michael Greene; reviewed by jbellis for CASSANDRA-158
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@773556 13f79535-47bb-0310-9956-ffa450edef68
2009-05-11 13:36:21 +00:00
Jonathan Ellis 44a0a3a54d fix CME during range queries -- keyset call needs to go on the memtable exector.
patch by jbellis; tested by Tv for CASSANDRA-153

git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@773152 13f79535-47bb-0310-9956-ffa450edef68
2009-05-09 01:40:16 +00:00
Jonathan Ellis 426bf0f450 expose range query bugs by forcing flushes during the test w/ a very small memtable object limit
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@773151 13f79535-47bb-0310-9956-ffa450edef68
2009-05-09 01:40:07 +00:00
Jonathan Ellis 61a8150420 fix iteration bug. it would always return hasNext=false if seekTo was called first. fixing this with maybeInit proved difficult, so init is now done in constructor and iterator itself is created lazily.
patch by jbellis; tested by nk11 for CASSANDRA-153

git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@773017 13f79535-47bb-0310-9956-ffa450edef68
2009-05-08 14:54:27 +00:00
Jonathan Ellis f2260f107b add more robust sanity checking of get_column arguments. patch by jbellis; reviewed by Jun Rao for CASSANDRA-151
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@773016 13f79535-47bb-0310-9956-ffa450edef68
2009-05-08 14:53:25 +00:00
Jonathan Ellis 85a121b474 add note that partitioners cannot be changed w/o data wipe
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@773015 13f79535-47bb-0310-9956-ffa450edef68
2009-05-08 14:52:03 +00:00
Jonathan Ellis 750d0a16b0 more logging cleanout. patch by jbellis
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@772790 13f79535-47bb-0310-9956-ffa450edef68
2009-05-07 22:09:13 +00:00
Jonathan Ellis 08daadf4ba 100k is still too many objects for 1GB (for at least some workloads). patch by jbellis
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@772788 13f79535-47bb-0310-9956-ffa450edef68
2009-05-07 22:00:12 +00:00
Jonathan Ellis 85c7c39ad1 avoid creating empty sstables on recovery flush. (a) empty sstables are still work for the compactor later, and (b) sstable.close errors out when it's empty. patch by jbellis.
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@772773 13f79535-47bb-0310-9956-ffa450edef68
2009-05-07 21:09:51 +00:00
Jonathan Ellis ccfe2d7c9e make TSD threadsafe; note that BSD is not (since FailureDetector does its own locking). patch by jbellis
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@772765 13f79535-47bb-0310-9956-ffa450edef68
2009-05-07 20:33:55 +00:00
Jonathan Ellis c129b6d5d7 clean up read/write path more; include message id in logging so we can trace what
happens to an individual op.  patch by jbellis.

git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@772713 13f79535-47bb-0310-9956-ffa450edef68
2009-05-07 17:13:05 +00:00
Jonathan Ellis fb347bd3d1 fix CF.digest NPE. patch by jbellis; reviewed by Eric Evans for CASSANDRA-149
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@772690 13f79535-47bb-0310-9956-ffa450edef68
2009-05-07 16:03:32 +00:00
Jonathan Ellis 3395efdb30 use explicit dirty flag instead of trying to cheat and use executor taskcount, which is race-prone. patch by jbellis; reviewed by Eric Evans for CASSANDRA-134
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@772680 13f79535-47bb-0310-9956-ffa450edef68
2009-05-07 15:30:53 +00:00
Jonathan Ellis 4a2ba89fe3 r/m orphaned Leader code. patch by jbellis; reviewed by Eric Evans for CASSANDRA-143
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@772455 13f79535-47bb-0310-9956-ffa450edef68
2009-05-06 22:40:16 +00:00
Jonathan Ellis c3f0d10a8e clean up more ad-hoc timing message and move to mbeans. add TimedStatsDeque to
simplify tracking load stats over a one-minute window.
patch by jbellis; reviewed by Eric Evans for CASSANDRA-144

git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@772448 13f79535-47bb-0310-9956-ffa450edef68
2009-05-06 22:27:02 +00:00
Jonathan Ellis 65f66e982d force flush when there are pending ops on the memtable executor even when none have finished yet. this fixes test case intermittent failures. patch by jbellis; reviewed by Eric Evans for CASSANDRA-141
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@772361 13f79535-47bb-0310-9956-ffa450edef68
2009-05-06 17:04:32 +00:00
Jonathan Ellis 3ed4e051b8 add pending tasks mbean to all DebuggableTPE. clean out ad-hoc queue length logging.
patch by jbellis; reviewed by Eric Evans for CASSANDRA-135

git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@772030 13f79535-47bb-0310-9956-ffa450edef68
2009-05-06 02:27:54 +00:00
Jonathan Ellis c568dc733e add test for null configFileName_. patch by Jeff Hodges; reviewed by jbellis for CASSANDRA-129
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@772027 13f79535-47bb-0310-9956-ffa450edef68
2009-05-06 02:00:06 +00:00
Jonathan Ellis 8042a4e441 allow periodic flushing on a per-CF basis for infrequently-updated CFs (i.e.,
unlikely to reach the memtable size or object count limits often).  this will allow
purging old commitlog segments in a more timely fashion.
patch by Jun Rao; reviewed by jbellis for CASSANDRA-134

git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@772026 13f79535-47bb-0310-9956-ffa450edef68
2009-05-06 01:55:51 +00:00
Jonathan Ellis 28e548a31c initialize configFileName_. patch by Sandeep Tata; reviewed by jbellis for CASSANDRA-129
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@772020 13f79535-47bb-0310-9956-ffa450edef68
2009-05-06 00:35:33 +00:00
Jonathan Ellis 362f287c84 refactor IColumn.addColumn to remove redundant name parameter. patch by Sandeep Tata; reviewed by jbellis for CASSANDRA-96
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@772000 13f79535-47bb-0310-9956-ffa450edef68
2009-05-05 22:47:22 +00:00
Jonathan Ellis 8dcf76ab27 tombstones take priority over non-tombstones w/ the same timestamp in supercolumn and column. this makes HH management deterministic.
patch by jbellis; reviewed by Jun Rao for CASSANDRA-34

git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@771935 13f79535-47bb-0310-9956-ffa450edef68
2009-05-05 17:03:25 +00:00
Jonathan Ellis f17487c541 A make hint generation include a real timestamp so we can do meaningful deletes
B call removeDeleted on the data we read locally to purge tombstones
 C because of (B) any supercolumn w/o subcolumns simply won't exist so we know we can skip re-deleting the endpoint data. so deleteKey becomes deleteHintedData.
 D because deleted data is not immediately purged, increased the scheduled interval from 20min to 60 to reduce the load of scanning the hint CF.

patch by Jun Rao and jbellis for CASSANDRA-34

git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@771934 13f79535-47bb-0310-9956-ffa450edef68
2009-05-05 17:03:15 +00:00
Jonathan Ellis 017b576fba cleanup and refactor HintedHandOffManager.
patch by jbellis and Jun Rao for CASSANDRA-34

git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@771933 13f79535-47bb-0310-9956-ffa450edef68
2009-05-05 17:03:04 +00:00
Jonathan Ellis 7779df6ce4 This patch adds ColumnFamilyStore.forceflush to the mbean so that it can be activated through the management agent. patch by Eric Evans; reviewed by jbellis for CASSANDRA-34
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@771927 13f79535-47bb-0310-9956-ffa450edef68
2009-05-05 16:56:55 +00:00
Jonathan Ellis fce0ee0d7b This changeset abstracts the logic for placing a flush on the queue into a new method, Memtable.enqueueFlush. enqueueFlush is called from both forceflush and put (when a threshold is exceeded), without the need to apply a special flushKey. patch by Eric Evans; reviewed by jbellis for CASSANDRA-34
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@771926 13f79535-47bb-0310-9956-ffa450edef68
2009-05-05 16:56:40 +00:00