Commit Graph

18611 Commits

Author SHA1 Message Date
Jonathan Ellis 5cdc75d760 move Hints cf to SYSTEM_TABLE
patch by jbellis; reviewed by Jun Rao for CASSANDRA-235

git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@788142 13f79535-47bb-0310-9956-ffa450edef68
2009-06-24 19:24:56 +00:00
Jonathan Ellis a89e782556 merge from 0.3 branch
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@787767 13f79535-47bb-0310-9956-ffa450edef68
2009-06-23 17:57:04 +00:00
Jonathan Ellis f9a1343d92 make static methods of SSTable that take a filename and then use the cache to grab an sstable object, simple non-static methods instead
patch by jbellis; reviewed by Eric Evans for CASSANDRA-224

git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@787762 13f79535-47bb-0310-9956-ffa450edef68
2009-06-23 17:48:18 +00:00
Jonathan Ellis 2f322a8bd0 encapsulate sstable bloom filter
patch by jbellis; reviewed by Eric Evans for CASSANDRA-224

git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@787761 13f79535-47bb-0310-9956-ffa450edef68
2009-06-23 17:48:08 +00:00
Jonathan Ellis 2493c9a565 encapsulate sstable index
patch by jbellis; reviewed by Eric Evans for CASSANDRA-224

git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@787760 13f79535-47bb-0310-9956-ffa450edef68
2009-06-23 17:48:18 +00:00
Jonathan Ellis a2f9b40183 refactor read-only constructor to SSTable.open
patch by jbellis; reviewed by Eric Evans for CASSANDRA-224

git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@787759 13f79535-47bb-0310-9956-ffa450edef68
2009-06-23 17:47:53 +00:00
Jonathan Ellis d48d8fcbf7 r/m unused code dealing with sstables, and ConcurrentWriter / FastConcurrentWriter. mmap is not faster than write() for sequential I/O, which is what the vast majority of our writes are. mmap _does_ have an advantage when we seek back to the start of a commitlog segment to update the headers after memtable flush, but we do that infrequently enough that it's not worth the disadvantages (primarily, blowing up if we exceed the 4MB size).
patch by jbellis; reviewed by Eric Evans for CASSANDRA-224

git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@787758 13f79535-47bb-0310-9956-ffa450edef68
2009-06-23 17:47:45 +00:00
Jonathan Ellis bf660bb97f fix more null table parameters.
patch by jbellis; reviewed by goffinet for CASSANDRA-79

git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@787408 13f79535-47bb-0310-9956-ffa450edef68
2009-06-22 21:18:18 +00:00
Jonathan Ellis 509cbb85de remove table_ from CommitLog and add multitable tests.
patch by jbellis; reviewed by goffinet for CASSANDRA-79

git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@787407 13f79535-47bb-0310-9956-ffa450edef68
2009-06-22 21:18:12 +00:00
Jonathan Ellis 5ccebd43c9 fix columnfamily id generation in the face of multiple tables and rip out TableMetadata serialization, which only complicates things needlessly.
patch by jbellis; reviewed by goffinet for CASSANDRA-79

git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@787406 13f79535-47bb-0310-9956-ffa450edef68
2009-06-22 21:18:02 +00:00
Jonathan Ellis cc373761dc cleanup of table.open.
patch by jbellis; reviewed by goffinet for CASSANDRA-79

git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@787405 13f79535-47bb-0310-9956-ffa450edef68
2009-06-22 21:17:58 +00:00
Jonathan Ellis 3673e28186 multitable support.
fix CF table dependencies, making CommitLogTest pass.  Also fixes CASSANDRA-188 in passing.

fix tablename being null bugs by always parsing tablename from filename.

fix last part of SequenceFile.

patch by jbellis; reviewed by goffinet for CASSANDRA-79

git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@787404 13f79535-47bb-0310-9956-ffa450edef68
2009-06-22 21:17:46 +00:00
Jonathan Ellis 9aeef94db8 Pass and write table parameter as needed throughout the codebase to add multitable support.
(Many places cheated and just assumed that tables.get(0) was the only table.)
Patch builds but does not yet pass tests.

Patch by goffinet; reviewed by jbellis for CASSANDRA-79

git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@787403 13f79535-47bb-0310-9956-ffa450edef68
2009-06-22 21:17:59 +00:00
Jonathan Ellis 1a66c10695 more CommitLog cleanup. patch by jbellis; reviewed by Jun Rao for CASSANDRA-243
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@787284 13f79535-47bb-0310-9956-ffa450edef68
2009-06-22 15:49:57 +00:00
Jonathan Ellis 38f6446d08 rename "end" parameter to "finish" to avoid conflict w/ ruby keyword. patch by Stu Hood; reviewed by jbellis for CASSANDRA-247
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@787258 13f79535-47bb-0310-9956-ffa450edef68
2009-06-22 14:46:27 +00:00
Jonathan Ellis b6645156bc replace new Foo(...) with Foo.valueOf. patch by Edward Ribeiro; reviewed by jbellis for CASSANDRA-246
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@787249 13f79535-47bb-0310-9956-ffa450edef68
2009-06-22 14:38:19 +00:00
Jonathan Ellis 1a23f9934f r/m new String() redundancy. patch by Edward Ribeiro; reviewed by jbellis for CASSANDRA-244
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@786888 13f79535-47bb-0310-9956-ffa450edef68
2009-06-20 19:22:28 +00:00
Jonathan Ellis d9e69b4024 switch from byte[] to BitSet in CommitLogHeader. patch by jbellis; reviewed by goffinet for CASSANDRA-237
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@786245 13f79535-47bb-0310-9956-ffa450edef68
2009-06-18 20:22:18 +00:00
Jonathan Ellis 5b99a22032 update comments, perform some renames, r/m unused code.
patch by jbellis; reviewed by goffinet for CASSANDRA-237

git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@786244 13f79535-47bb-0310-9956-ffa450edef68
2009-06-18 20:22:14 +00:00
Jonathan Ellis a0c2b2a380 add CommitLog and RecoveryManager tests. patch by jbellis; reviewed by goffinet for CASSANDRA-237
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@786243 13f79535-47bb-0310-9956-ffa450edef68
2009-06-18 20:22:10 +00:00
Jonathan Ellis 15955bf03e minor cleanup of Row code. patch by jbellis; reviewed by Sandeep Tata for CASSANDRA-199
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@786242 13f79535-47bb-0310-9956-ffa450edef68
2009-06-18 20:17:29 +00:00
Jonathan Ellis 03f6f244a3 merge from 0.3 branch
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@786176 13f79535-47bb-0310-9956-ffa450edef68
2009-06-18 17:30:04 +00:00
Jonathan Ellis a116ef72e8 rethrow IOException with more details. patch by jbellis; reviewed by Jun Rao for CASSANDRA-202
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@786025 13f79535-47bb-0310-9956-ffa450edef68
2009-06-18 11:46:39 +00:00
Jonathan Ellis c1545f5214 fix off-by-one error in Range.contains(Token): the endpoint (right) of the range is always supposed to be exclusive, but it was inclusive in the non-wrapping case. patch by Stu Hood; reviewed by jbellis for CASSANDRA-236
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@785697 13f79535-47bb-0310-9956-ffa450edef68
2009-06-17 16:08:39 +00:00
Jonathan Ellis 01adb7a1aa add nodeprobe cli tool. patch by Eric Evans; reviewed by jbellis for CASSANDRA-211
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@785178 13f79535-47bb-0310-9956-ffa450edef68
2009-06-16 12:38:30 +00:00
Jonathan Ellis b356537196 r/m CM and CRAF. patch by jbellis; reviewed by Stu Hood for CASSANDRA-230
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@784842 13f79535-47bb-0310-9956-ffa450edef68
2009-06-15 16:20:04 +00:00
Jonathan Ellis 24fcbf4a95 switch singleton implementation from double-checked-locking to synchronized (code is not performance-sensitive). patch by Edward Ribeiro; reviewed by jbellis for CASSANDRA-228
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@784780 13f79535-47bb-0310-9956-ffa450edef68
2009-06-15 13:42:30 +00:00
Jonathan Ellis 6a2da22975 r/m unused Constants.java. patch by jbellis; reviewed by Edward Ribeiro for CASSANDRA-227
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@784495 13f79535-47bb-0310-9956-ffa450edef68
2009-06-14 01:14:34 +00:00
Jonathan Ellis cd2139ee7c system.exit on oome. patch by jbellis; reviewed by Eric Evans for CASSANDRA-218
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@783388 13f79535-47bb-0310-9956-ffa450edef68
2009-06-10 15:12:18 +00:00
Jonathan Ellis 72e6eea9e4 split sstable into data, index, and bloom filter files. this allows us to avoid saving up index chunks
in memory until the sstable data is completely written, while still allowing fast scanning of the index
on startup.  it also simplifies the sstable/sequencefile code considerably.
patch by jbellis; reviewed by Jun Rao for  CASSANDRA-208

git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@783077 13f79535-47bb-0310-9956-ffa450edef68
2009-06-09 17:46:42 +00:00
Jonathan Ellis f685f4dec8 expose compaction via JMX. patch by Eric Evans; reviewed by jbellis for CASSANDRA-211
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@782774 13f79535-47bb-0310-9956-ffa450edef68
2009-06-08 20:37:38 +00:00
Jonathan Ellis b244a2e645 rename Table.doGC to forceCleanup. patch by Eric Evans; reviewed by jbellis for CASSANDRA-211
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@782773 13f79535-47bb-0310-9956-ffa450edef68
2009-06-08 20:37:31 +00:00
Jonathan Ellis d342288f36 cleanup SSTable-related code. patch by jbellis; reviewed by Jun Rao for CASSANDRA-208
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@782744 13f79535-47bb-0310-9956-ffa450edef68
2009-06-08 19:45:00 +00:00
Jonathan Ellis f6d0154e23 merge from 0.3 branch
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@782740 13f79535-47bb-0310-9956-ffa450edef68
2009-06-08 19:37:57 +00:00
Jonathan Ellis 8f9e6a4516 To make available the Cassandra specific information available on the
node detail page:

- Exposed the existing StorageService.getLoadInfo()
- Created StorageService.getCurrentGenerationNumber() and added to
  MBean interface.

patch by Eric Evans; reviewed by jbellis for CASSANDRA-211

git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@782629 13f79535-47bb-0310-9956-ffa450edef68
2009-06-08 13:59:52 +00:00
Jonathan Ellis 7520b4356b add getRangeToEndPointMap to JMX. Requires making Token and Range Serializable. Patch by Eric Evans; reviewed by jbellis for CASSANDRA-211
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@782182 13f79535-47bb-0310-9956-ffa450edef68
2009-06-06 02:45:20 +00:00
Jonathan Ellis a087b97c96 merge from 0.3 branch
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@782117 13f79535-47bb-0310-9956-ffa450edef68
2009-06-05 19:52:29 +00:00
Jonathan Ellis 76a8f7b551 merge from 0.3 branch
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@782096 13f79535-47bb-0310-9956-ffa450edef68
2009-06-05 18:40:06 +00:00
Jonathan Ellis 04dcee09ba r/m Row.getColumnFamilyMap. replaced with Row.getColumnFamily or .getColumnFamilies as appropriate.
patch by jbellis; reviewed by Sandeep Tata for CASSANDRA-198

git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@779773 13f79535-47bb-0310-9956-ffa450edef68
2009-05-28 21:15:24 +00:00
Jonathan Ellis f116a3e4e5 merge from 0.3 branch
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@779771 13f79535-47bb-0310-9956-ffa450edef68
2009-05-28 21:10:07 +00:00
Jonathan Ellis edacc67c26 remove unnecessary List creation in getSliceFrom and move close() cleanup for to the finally block. patch by Jun Rao; reviewed by jbellis for CASSANDRA-201
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@779322 13f79535-47bb-0310-9956-ffa450edef68
2009-05-27 21:41:04 +00:00
Jonathan Ellis 7acfcb0e45 r/m shutdown code (making Cassandra crash-only, which it has been de facto for a while).
patch by jbellis; reviewed by Eric Evans for CASSANDRA-115

git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@779290 13f79535-47bb-0310-9956-ffa450edef68
2009-05-27 19:59:33 +00:00
Jonathan Ellis bb0d6dfa20 allow specifying a subset of columnfamilies to check for get_key_range.
patch by jbellis; reviewed by Eric Evans for CASSANDRA-152

git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@779261 13f79535-47bb-0310-9956-ffa450edef68
2009-05-27 18:04:56 +00:00
Jonathan Ellis 97c022f5ee short circuits sending a message if the mutation's destination is the local node. does not implement hint handling; takes the full message route if hints are involved. patch by Sandeep Tata; reviewed by jbellis for CASSANDRA-132
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@778871 13f79535-47bb-0310-9956-ffa450edef68
2009-05-26 20:23:16 +00:00
Jonathan Ellis 56b499044b use cloneMeShallow where appropriate. patch by jbellis for CASSANDRA-79
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@777583 13f79535-47bb-0310-9956-ffa450edef68
2009-05-22 15:37:19 +00:00
Jonathan Ellis 4ac9118f7c Add get_slice_from functionality using column indexes for efficiency.
Patch by Jun Rao and jbellis for CASSANDRA-172

git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@777578 13f79535-47bb-0310-9956-ffa450edef68
2009-05-22 15:33:42 +00:00
Jonathan Ellis a432e18077 more cleanup of compaction code.
patch by jbellis; reviewed by Jun Rao for CASSANDRA-184

git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@776720 13f79535-47bb-0310-9956-ffa450edef68
2009-05-20 14:58:39 +00:00
Jonathan Ellis d03d80b6ed merge from 0.3 branch
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@776716 13f79535-47bb-0310-9956-ffa450edef68
2009-05-20 14:44:41 +00:00
Jonathan Ellis 0ae07f299e add block_for parameter to insert calls. patch by Sandeep Tata; reviewed by jbellis for CASSANDRA-154
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@776365 13f79535-47bb-0310-9956-ffa450edef68
2009-05-19 15:51:10 +00:00
Jonathan Ellis 88edbed30c merge from 0.3 branch
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@775983 13f79535-47bb-0310-9956-ffa450edef68
2009-05-18 15:22:23 +00:00
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