Commit Graph

18611 Commits

Author SHA1 Message Date
Jonathan Ellis d52a110974 check for enough endpoints before starting a quorum wait.
patch by jbellis; reviewed by Jun Rao and Sandeep Tata for CASSANDRA-180

git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@775361 13f79535-47bb-0310-9956-ffa450edef68
2009-05-15 21:37:45 +00:00
Jonathan Ellis 784d968db9 omitted to add Sandeep's SBRRC.java in last commit
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@775321 13f79535-47bb-0310-9956-ffa450edef68
2009-05-15 20:41:05 +00:00
Jonathan Ellis 20f7d032c7 add get_slice_by_name_range command. patch by Sandeep Tata; reviewed by jbellis for CASSANDRA-53
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@775308 13f79535-47bb-0310-9956-ffa450edef68
2009-05-15 20:18:55 +00:00
Jonathan Ellis 324c3c32a1 allow specifying initial token. patch by Jun Rao; reviewed by jbellis for CASSANDRA-181
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@775203 13f79535-47bb-0310-9956-ffa450edef68
2009-05-15 15:55:35 +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 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 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 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 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 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 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 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 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 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 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
Jonathan Ellis 494de44355 move more gossip log messages to trace and de-obfuscate some variable and method names.
patch by jbellis.

git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@771878 13f79535-47bb-0310-9956-ffa450edef68
2009-05-05 16:11:07 +00:00
Jonathan Ellis b2e2b1c116 use `block` flag instead of separate _blocking methods. throw exception on error instead of returning bool for success. patch by jbellis; reviewed by Eric Evans for CASSANDRA-131
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@771761 13f79535-47bb-0310-9956-ffa450edef68
2009-05-05 14:54:05 +00:00
Jonathan Ellis 7b2589ddb0 add logging for httpconnection to troubleshoot #133. patch by jbellis
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@771591 13f79535-47bb-0310-9956-ffa450edef68
2009-05-05 06:57:16 +00:00
Jonathan Ellis 62ed2cbc16 user-friendly error when partitioner is missing. patch by jbellis
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@771465 13f79535-47bb-0310-9956-ffa450edef68
2009-05-04 22:03:52 +00:00
Jonathan Ellis 219293b2b3 clean up logging. move some of it into MBeans. patch by jbellis; reviewed by Eric Evans for CASSANDRA-130
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@771412 13f79535-47bb-0310-9956-ffa450edef68
2009-05-04 19:26:23 +00:00
Jonathan Ellis 49211d5e92 change Message body to byte[]. this reveals where there are problems: everything that is using any of the send messages already needs to be doing that or they're broken. the good ones I just unwrap; the broken ones I fixed except for MoveMessage which doesn't even have a byte[] serializer yet, so I left that one broken. writeResponseResolver is the specific case that caused the bug report.
patch by jbellis; reviewed by nk11 for CASSANDRA-120

git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@771402 13f79535-47bb-0310-9956-ffa450edef68
2009-05-04 19:02:23 +00:00
Jonathan Ellis e044410ccd r/m DataImporter; it's not useful outside of FB
patch by jbellis; reviewed by nk11 for CASSANDRA-120

git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@771401 13f79535-47bb-0310-9956-ffa450edef68
2009-05-04 19:02:05 +00:00
Jonathan Ellis bcf4dcc666 refactor HttpConnection to use its own executor instead of abusing MessagingService. This will let us refactor Message body to a byte[].
patch by jbellis; reviewed by nk11 for CASSANDRA-120

git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@771400 13f79535-47bb-0310-9956-ffa450edef68
2009-05-04 19:02:01 +00:00
Jonathan Ellis 3bc3e4c335 add constructor to DTPE for most commonly used values (single thread, no timeout, LinkedBlockingQueue)
patch by jbellis; reviewed by nk11 for CASSANDRA-120

git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@771399 13f79535-47bb-0310-9956-ffa450edef68
2009-05-04 19:01:56 +00:00
Jonathan Ellis 3a4a0595da use getTempFileName / closeRename to avoid problems w/ half-written sstables.
patch by jbellis; reviewed by Eric Evans for CASSANDRA-78

git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@771340 13f79535-47bb-0310-9956-ffa450edef68
2009-05-04 15:59:16 +00:00
Jonathan Ellis f70a5a0c8c clean up anticompaction code a little.
patch by jbellis; reveiewed by Eric Evans for CASSANDRA-78

git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@771339 13f79535-47bb-0310-9956-ffa450edef68
2009-05-04 15:59:12 +00:00
Jonathan Ellis bbe89e795b do not leave variables uninitialized in ConsistencyManager constructor. fixes regression from #95. patch by jbellis for CASSANDRA-124
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@771325 13f79535-47bb-0310-9956-ffa450edef68
2009-05-04 14:59:51 +00:00
Jonathan Ellis 93abe8d3e5 make sendMessage only return true after ack by recipient.
patch by Jun Rao; reviewed by jbellis for CASSANDRA-34

git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@771019 13f79535-47bb-0310-9956-ffa450edef68
2009-05-03 03:26:07 +00:00
Jonathan Ellis e4e5629b13 make out-of-the-box config 1GB-friendly. patch by jbellis; reviewed by Eric Evans for CASSANDRA-118
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@770811 13f79535-47bb-0310-9956-ffa450edef68
2009-05-01 20:14:35 +00:00
Jonathan Ellis 22525a8e12 make CassandraServer constructor public
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@770688 13f79535-47bb-0310-9956-ffa450edef68
2009-05-01 14:13:11 +00:00
Jonathan Ellis 4a5620dea2 avoid raising an exception in SequenceFile.next when a key does not exist (e.g. when bloom filter gives a false positive). patch by Jun Rao; reviewed by jbellis for CASSANDRA-126
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@770517 13f79535-47bb-0310-9956-ffa450edef68
2009-05-01 02:24:10 +00:00
Jonathan Ellis ebcbeb5af9 close FileStructs after range query. patch by jbellis; reviewed by Jun Rao for CASSANDRA-71
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@770424 13f79535-47bb-0310-9956-ffa450edef68
2009-04-30 20:01:31 +00:00
Jonathan Ellis ec291721dd add string de/serialize code to TokenFactory for ApplicationState's benefit.
patch by jbellis; tested by nk11 and MarkR42 for CASSANDRA-114

git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@770307 13f79535-47bb-0310-9956-ffa450edef68
2009-04-30 16:09:38 +00:00
Jonathan Ellis 71739ef76a move src/ to src/java/. patch by johano; reviewed by jbellis for CASSANDRA-112
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@769886 13f79535-47bb-0310-9956-ffa450edef68
2009-04-29 19:18:48 +00:00