Commit Graph

9441 Commits

Author SHA1 Message Date
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 a102a3e73a fix line endings
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@785436 13f79535-47bb-0310-9956-ffa450edef68
2009-06-16 22:35:04 +00:00
Jonathan Ellis a48110e815 revert test/conf/log4j.properties (accidentally committed by mistake)
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@785352 13f79535-47bb-0310-9956-ffa450edef68
2009-06-16 19:36:13 +00:00
Jonathan Ellis 08d96422dc install bin/ scripts as executable when building release. patch by Eric Evans; reviewed by jbellis for CASSANDRA-229
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@785351 13f79535-47bb-0310-9956-ffa450edef68
2009-06-16 19:33:28 +00:00
Jonathan Ellis 3514c66221 add system test for slice_by_name_range. patch by Sandeep Tata; reviewed by jbellis for CASSANDRA-53
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@783812 13f79535-47bb-0310-9956-ffa450edef68
2009-06-11 15:14:55 +00:00
Jonathan Ellis 16306e02de apply rows atomically, rather than one-column-at-a-time. this avoids exposing the bug in time-sorted
columns discussed in #223.
patch by jbellis; reviewed by Jun Rao for CASSANDRA-208

git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@783078 13f79535-47bb-0310-9956-ffa450edef68
2009-06-09 17:46:47 +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 30b1f5f3d3 add test covering use of column indexes. patch by Jun Rao; reviewed by jbellis for CASSANDRA-210
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@780853 13f79535-47bb-0310-9956-ffa450edef68
2009-06-01 22:16:58 +00:00
Jonathan Ellis d800250cbc merge from 0.3 branch
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@780687 13f79535-47bb-0310-9956-ffa450edef68
2009-06-01 15:36:59 +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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 05281ee045 demonstrate problem with _blocking methods by checking insert return values.
patch by jbellis; reviewed by nk11 for CASSANDRA-120

git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@771398 13f79535-47bb-0310-9956-ffa450edef68
2009-05-04 19:01:46 +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 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 090013252d move py and php to `cassandra` namespace. add csharp as Apache.Cassandra. patch by jbellis for CASSANDRA-121
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@770434 13f79535-47bb-0310-9956-ffa450edef68
2009-04-30 20:26:51 +00:00
Jonathan Ellis 887918ba8e commit test/cassandra.in.sh for nosetests
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@769935 13f79535-47bb-0310-9956-ffa450edef68
2009-04-29 21:10:37 +00:00
Jonathan Ellis 1c1b97c25d add tests for batch_insert_superColumn and the _blocking version. patch by jbellis.
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@769883 13f79535-47bb-0310-9956-ffa450edef68
2009-04-29 19:13:43 +00:00
Jonathan Ellis 9db8da81b7 Add range query support, which requires using an OrderPreservingPartitioner. (Keys are returned in the order defined by the partitioner collation.) The fundamental approach (in table.getKeyRange) is simple: create a CollatedIterator that will return unique keys from different sources, each of which is already sorted. Then we just need Iterators for different key sources. For SSTables, this means adding seekTo and an Iterator interface to FileStruct. For Memtable, this means adding a DestructivePQIterator since unlike SSTable keys those are not inherently ordered already. This means that we only do M log N work sorting the memtable keys where M is the number of keys we actually read, and N is the total number of keys, where a naive sort-everything-first iterator would be N log N.
This does not yet implement range queries spanning multiple nodes.

patch by jbellis; reviewed by Jun Rao for CASSANDRA-71

git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@769874 13f79535-47bb-0310-9956-ffa450edef68
2009-04-29 18:57:35 +00:00
Jonathan Ellis ef2f631ebe fix regression introduced by ReadCommand refactor (get_slice can return column_t from a standard cf, or from a supercolumn in a super cf). patch by jbellis.
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@769629 13f79535-47bb-0310-9956-ffa450edef68
2009-04-29 02:01:56 +00:00
Jonathan Ellis f836610fe0 add system tests. each method in test/system/test_server.py exercises part of the thrift API, and manages cleaning out data files and starting a fresh server for each test.
patch by jbellis; reviewed by Eric Evans for CASSANDRA-102

git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@769608 13f79535-47bb-0310-9956-ffa450edef68
2009-04-29 01:12:38 +00:00
Jonathan Ellis 7bb094f086 r/m copied JDK code
patch by jbellis; reviewed by Eric Evans for CASSANDRA-37

git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@769088 13f79535-47bb-0310-9956-ffa450edef68
2009-04-27 18:24:25 +00:00
Jonathan Ellis d2a61c67b0 add SSTable tests. in particular we want to be sure to test bloomfilter
[de]serialize since that's going to change a lot.
patch by jbellis; reviewed by Eric Evans for CASSANDRA-37

git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@769087 13f79535-47bb-0310-9956-ffa450edef68
2009-04-27 18:24:18 +00:00
Jonathan Ellis bfb2e95220 rename getDefaultToken -> getInitialToken
patch by jbellis; reviewed by Jun Rao for CASSANDRA-65

git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@769019 13f79535-47bb-0310-9956-ffa450edef68
2009-04-27 15:01:51 +00:00
Jonathan Ellis 296e15b63c add test for ReplicaPlacementStrategy covering both Random and OrderPreserving partitioners
patch by jbellis; reviewed by Jun Rao for CASSANDRA-65

git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@769018 13f79535-47bb-0310-9956-ffa450edef68
2009-04-27 15:01:42 +00:00
Jonathan Ellis ec7f04b4df r/m StorageService.token in favor of explicitly passing a Partitioner object. this allows testing of components independent of the static SS.
patch by jbellis; reviewed by Jun Rao for CASSANDRA-65

git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@769017 13f79535-47bb-0310-9956-ffa450edef68
2009-04-27 15:01:36 +00:00
Jonathan Ellis 907d92e21b replace BigInteger tokens with BigIntegerToken and StringToken in RandomPartitioner and OrderPreservingPartitioner, respectively. (OrderPreservingHashPartitioner is no more.)
Doing order preserving partitioning based on the raw string has a number of compelling advantages:
 - there is no key length that all tokens must be padded to (which can be expensive if there is a range of key lengths) and which cannot be increased after deployment
 - it allows user-defined collations [sorting] rather than being limited to sorting by code point value (which is useless in the unicode world, and not always what you want even for ascii keys)
 - it will work with all UTF-16 characters, not just the UCS-2 subset (this is a limitation of using as a base 2**16, i.e., assuming for your order preserving hash that all characters are two bytes).

patch by jbellis; reviewed by Jun Rao for CASSANDRA-65

git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@769016 13f79535-47bb-0310-9956-ffa450edef68
2009-04-27 15:01:29 +00:00
Jonathan Ellis afd3c2765b move testng code to test/unit. patch by johano; reviewed by jbellis for #104
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@768584 13f79535-47bb-0310-9956-ffa450edef68
2009-04-25 19:07:00 +00:00
Jonathan Ellis e2a4ea7f7e split ReadCommand into separate classes for each type of command. patch by Jun Rao; reviewed by jbellis
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@768553 13f79535-47bb-0310-9956-ffa450edef68
2009-04-25 15:46:19 +00:00
Jonathan Ellis 7b250fa261 move CF checking into CassandraServer. begin to expose InvalidRequestException. r/m unused "del" cfmaps from batch methods.
patch by jbellis; reviewed by Jun Rao for #66

git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@768381 13f79535-47bb-0310-9956-ffa450edef68
2009-04-24 17:52:07 +00:00
Jonathan Ellis 2ec1b06e5f use resolve (moved to CF from CFS) rather than duplicating code in repair to do the
same thing.  this automatically gets us most of the way to handling tombstones in
read repair.  the rest is minor tweaks to CF.diff and SC.diff.  added tests.
patch by jbellis; reviewed by Jun Rao for #87.

git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@768109 13f79535-47bb-0310-9956-ffa450edef68
2009-04-24 00:46:32 +00:00
Jonathan Ellis 3c6fcf8d65 fix get_slice to not ignore the "start" parameter. patch by Sandeep Tata; reviewed by jbellis for #81
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@767703 13f79535-47bb-0310-9956-ffa450edef68
2009-04-22 22:54:14 +00:00
Jonathan Ellis b0dde7139a configurable ListenAddress setting. allows running multiple instances of Cassandra
on a single machine or VM.  patch and review by Per Mellqvist, Eric Evans, and
jbellis for #43

git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@767307 13f79535-47bb-0310-9956-ffa450edef68
2009-04-21 21:34:46 +00:00
Jonathan Ellis 807b89ed7c Revert "configurable ListenAddress setting" since it prevents server from starting.
This reverts commit 1304a9d9e1f9f85b991d99a1ca96e02505eb430f.

git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@767205 13f79535-47bb-0310-9956-ffa450edef68
2009-04-21 16:21:15 +00:00
Jonathan Ellis fb0e28d664 configurable ListenAddress setting. allows running multiple instances of Cassandra on a single machine or VM. patch by Per Mellqvist; reviewed by Eric Evans for #43
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@767168 13f79535-47bb-0310-9956-ffa450edef68
2009-04-21 14:56:22 +00:00
Jonathan Ellis 20748a879b allow SuperColumn.getSubColumn to return null. patch by Sandeep Tata; reviewed by jbellis for #91
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@766961 13f79535-47bb-0310-9956-ffa450edef68
2009-04-21 03:06:01 +00:00
Jonathan Ellis d14f814667 test and fix get_column regression. patch by Jun Rao; reviewed by jbellis for #90
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@766960 13f79535-47bb-0310-9956-ffa450edef68
2009-04-21 02:58:49 +00:00
Jonathan Ellis df95fb88dc clean up ReadCommand; it's basically a struct so use public final fields
patch by jbellis; reviewed by Eric Evans for #88

git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@766839 13f79535-47bb-0310-9956-ffa450edef68
2009-04-20 20:05:29 +00:00
Jonathan Ellis 8e72ac4f9f rename get_cf -> readColumnFamily; ReadMessage -> ReadCommand.
[Message message = ReadMessage.readMessage(readMessage) is just plain confusing]
patch by jbellis; reviewed by Eric Evans for #88

git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@766838 13f79535-47bb-0310-9956-ffa450edef68
2009-04-20 20:05:07 +00:00
Jonathan Ellis 0c0c6e5fda refactor Filter heirarchy, making hash generation easily customizable. Use Murmur
hash + combinatorics to generate hashes.

git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@766140 13f79535-47bb-0310-9956-ffa450edef68
2009-04-17 20:17:16 +00:00
Jonathan Ellis 200d4937fa test and fix for CF clone bug during remove. patch by Jun Rao; reviewed by jbellis for #33
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@766135 13f79535-47bb-0310-9956-ffa450edef68
2009-04-17 20:08:17 +00:00
Jonathan Ellis 3705cc4c77 preserve tombstones until a GC grace period has elapsed.
patch by jbellis; reviewed by Eric Evans for #33

git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@766132 13f79535-47bb-0310-9956-ffa450edef68
2009-04-17 20:08:01 +00:00
Jonathan Ellis 2b0b61a7b0 waitForFlush -> forceBlockingFlush. ServerTest.cleanup now flushes and cleans out
all ColumnFamilyStores and commitlog, allowing remove tests to not step on each
others' toes (all tests pass now).

patch by jbellis; reviewed by Sandeep Tata for #85

git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@765831 13f79535-47bb-0310-9956-ffa450edef68
2009-04-17 01:48:58 +00:00
Jonathan Ellis 1228ec0c67 add testRemoveColumnFamily, testRemoveSubColumn. (these do not pass yet b/c of
cleanup problems.)  patch by jbellis; reviewed by Sandeep Tata for #85

git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@765828 13f79535-47bb-0310-9956-ffa450edef68
2009-04-17 01:48:31 +00:00
Jonathan Ellis 3cf306a37f make forceFlush block until the flush action is queued on MemtableManager. That
way calling forceFlush; waitForFlush will be guaranteed that the action waitFF puts
on MtM will run after the flush completes, i.e., the wait will actually do what
it's supposed to.

patch by jbellis; reviewed by Eric Evans for #59

git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@765754 13f79535-47bb-0310-9956-ffa450edef68
2009-04-16 20:42:00 +00:00
Jonathan Ellis 040bfd4c29 make remove test code use the same api that the thrift interface does. patch by
jbellis; reviewed by Sandeep Tata for #84

git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@765450 13f79535-47bb-0310-9956-ffa450edef68
2009-04-16 02:09:18 +00:00
Jonathan Ellis 4c76970c4a fix ColumnComparatorFactoryTest. patch by Jun Rao; reviewed by jbellis for #82
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@765020 13f79535-47bb-0310-9956-ffa450edef68
2009-04-15 00:22:13 +00:00
Jonathan Ellis 49b45026bd RangeFilter that filters by column name so that min <= name <= max. patch by Jun Rao; reviewed by Todd Lipcon for #77
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@764848 13f79535-47bb-0310-9956-ffa450edef68
2009-04-14 15:52:49 +00:00
Jonathan Ellis a1ef3b5be5 add compaction test showing regression. patch by jbellis; reviewed by Todd Lipcon
and Jun Rao for #80.

git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@764678 13f79535-47bb-0310-9956-ffa450edef68
2009-04-14 05:12:42 +00:00
Jonathan Ellis 50c1987265 fix getCompactionBuckets -- something is broken in NonBlockingHashMap when removing and re-adding the same collection mid-iteration; it ends up with multiple references to that collection. going back to ConcurrentHashMap fixes the problem. (any additional overhead from CHM is negligible here.) patch by jbellis; reviewed by Eric Evans for #57
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@764004 13f79535-47bb-0310-9956-ffa450edef68
2009-04-10 19:08:27 +00:00
Jonathan Ellis a7d5c6506b Remove unused method CF.merge and add more tests to ColumnFamilyTest. patch by Sandeep Tata; review by jbellis for #69
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@763859 13f79535-47bb-0310-9956-ffa450edef68
2009-04-10 02:34:17 +00:00
Jonathan Ellis f0f5ec427c don't manually create commitlog directory; cassandra will do it automatically. also put commitlog under cassandra/ with other server artifacts. patch by jbellis; reviewed by Eric Evans for #6
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@763386 13f79535-47bb-0310-9956-ffa450edef68
2009-04-08 20:49:33 +00:00
Jonathan Ellis b3d4f4a93d add log4j.properties for testing; output is to build/test/logs/system.log. patch by jbellis; reviewed by Jun Rao for #64
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@762913 13f79535-47bb-0310-9956-ffa450edef68
2009-04-07 19:17:54 +00:00
Jonathan Ellis 40fa7d4a66 consolidate partition behavior in IPartitioner, so creating a new partitioner should be only a matter of implementing that interface. all the external switch statements on PartitionerType have been folded into that.
SSTable is now the only part of the code that cares about the distinction between a 'raw' key and a 'decorated' key.  variables in that class have been named clientKey or decoratedKey to show which is which.  others don't care either because they only deal with decorated keys (SequenceFile, FileStruct) or only with client keys (everyone else).

patch by jbellis; reviewed by Jun Rao for #58

git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@762848 13f79535-47bb-0310-9956-ffa450edef68
2009-04-07 16:55:30 +00:00
Jonathan Ellis 21f4bd568b add sleep to ColumnFamilyStoreTest to workaround waitForFlush bug. see #59
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@762547 13f79535-47bb-0310-9956-ffa450edef68
2009-04-06 22:43:50 +00:00
Jonathan Ellis fc72d43058 merge #54
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@762439 13f79535-47bb-0310-9956-ffa450edef68
2009-04-06 17:55:44 +00:00
Jonathan Ellis 9cdc839ee8 write get_columns_since test to exercise sequenceFile.next(timeRange). patch by jbellis; reviewed by Jun Rau. see #52
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@762375 13f79535-47bb-0310-9956-ffa450edef68
2009-04-06 15:10:07 +00:00
Jonathan Ellis de2673759a rename stageOrderedCompaction -> getCompactionBuckets. clean up code to make the algorithm more clear, and to allow grouping with more than just the previous bucket. add getCompactionBucketsTest
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@761423 13f79535-47bb-0310-9956-ffa450edef68
2009-04-02 20:48:02 +00:00
Jonathan Ellis cd6f16e809 more thorough ColumnFamilyStoreTest, trying to reproduce a report that deletion markers are being deserialized incorrectly
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@760665 13f79535-47bb-0310-9956-ffa450edef68
2009-03-31 21:36:59 +00:00
Jonathan Ellis e7ef989821 create test dirs and separate test config xml. patch from johano. fixes #22
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@760464 13f79535-47bb-0310-9956-ffa450edef68
2009-03-31 14:41:55 +00:00
Jonathan Ellis 6931092e51 clean up patch and test from Sandeep Tata fixing #21
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@760006 13f79535-47bb-0310-9956-ffa450edef68
2009-03-30 15:24:40 +00:00
Jonathan Ellis fd95061db0 fix bad merge
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@759773 13f79535-47bb-0310-9956-ffa450edef68
2009-03-29 20:01:53 +00:00
Jonathan Ellis f3f2be01d3 glean test dirs to cleanup from configuration
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@759771 13f79535-47bb-0310-9956-ffa450edef68
2009-03-29 19:57:46 +00:00
Jonathan Ellis 9fad316df6 move row mutation factory code into RowMutation; change RM.add(name, cf) to RM.add(cf)
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@759734 13f79535-47bb-0310-9956-ffa450edef68
2009-03-29 18:18:08 +00:00
Jonathan Ellis 7888174d2c comment out broken tests
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@759271 13f79535-47bb-0310-9956-ffa450edef68
2009-03-27 17:06:29 +00:00
Jonathan Ellis 7e648c89a0 test support. this requires some refactoring so that tests can be independent
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@759270 13f79535-47bb-0310-9956-ffa450edef68
2009-03-27 17:06:18 +00:00
Jonathan Ellis 7a6f4210c0 start over w/ tests
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@759269 13f79535-47bb-0310-9956-ffa450edef68
2009-03-27 17:05:21 +00:00
Jonathan Ellis 6c189f73d7 comment out broken tests
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@759014 13f79535-47bb-0310-9956-ffa450edef68
2009-03-27 03:34:34 +00:00
Jonathan Ellis 4c194aa8d1 range query support
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@759001 13f79535-47bb-0310-9956-ffa450edef68
2009-03-27 02:44:57 +00:00
Jonathan Ellis dd61d5119d migrate from BigInteger to abstract Token, with BigIntegerToken and StringToken subclasses controlled by Random and OrderPreserving partitioners, respectively
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@758999 13f79535-47bb-0310-9956-ffa450edef68
2009-03-27 02:44:44 +00:00
Jonathan Ellis 20e081f290 consolidates partition behavior in IPartitioner, so creating a new partitioner should be only a matter of implementing that interface. all the external switch statements on PartitionerType have been folded into that.
SSTable is now the only part of the code that cares about the distinction between a 'raw' key and a 'decorated' key.  variables in that class have been named clientKey or decoratedKey to show which is which.  others don't care either because they only deal with decorated keys (SequenceFile) or only with client keys (everyone else).  as part of this, I've merged some overloaded methods with substantially duplicated code to simplify auditing these changes.

git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@758997 13f79535-47bb-0310-9956-ffa450edef68
2009-03-27 02:44:20 +00:00
Jonathan Ellis 41598bfead move row mutation factory code into RowMutation; change RM.add(name, cf) to RM.add(cf)
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@758993 13f79535-47bb-0310-9956-ffa450edef68
2009-03-27 02:43:53 +00:00
Jonathan Ellis a996c8214b test support. this requires some refactoring so that tests can be independent
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@758992 13f79535-47bb-0310-9956-ffa450edef68
2009-03-27 02:43:46 +00:00