Commit Graph

264 Commits

Author SHA1 Message Date
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 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 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 0776714f71 add NOTICE.txt. patch by johano; reviewed by jbellis for CASSANDRA-127
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@770778 13f79535-47bb-0310-9956-ffa450edef68
2009-05-01 18:04:32 +00:00
Jonathan Ellis f45bf41259 add cli wrapper and Getting Started section to readme. patch by johano and Eric Evans; reviewed by jbellis for CASSANDRA-117
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@770737 13f79535-47bb-0310-9956-ffa450edef68
2009-05-01 16:05:13 +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 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 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 48d21d8e29 fix antlr check. patch by johano; reviewed by jbellis for CASSANDRA-125
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@770324 13f79535-47bb-0310-9956-ffa450edef68
2009-04-30 17:04:56 +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 5ba5c12060 change antlr -o to -fo. this allows it to build on windows.
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@770301 13f79535-47bb-0310-9956-ffa450edef68
2009-04-30 15:53:57 +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 49d0fa7ce2 add src/gen-java to svnignore
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@769891 13f79535-47bb-0310-9956-ffa450edef68
2009-04-29 19:26:47 +00:00
Jonathan Ellis c40988f502 move antlr output to src/gen-java. patch by johano; reviewed by jbellis for CASSANDRA-105
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@769888 13f79535-47bb-0310-9956-ffa450edef68
2009-04-29 19:23:47 +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
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 898eebaa59 start SelectorManager after all the selector registration is done, to workaround a bug in some linux environments. (Debian etch under vmware player or under EC2 seem to exhibit this problem consistently.) the bug symptom is, the selector register hangs indefinitely even though the select() call is only for 100ms (after which it should stop blocking and let the register through).
patch by jbellis; reviewed by Eric Evans for #97

git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@769631 13f79535-47bb-0310-9956-ffa450edef68
2009-04-29 02:04:18 +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 e181fdc4e0 fix propagating SuperColumn tombstones from Memtable to caller.
patch by jbellis; reviewed by Eric Evans for #101

git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@769628 13f79535-47bb-0310-9956-ffa450edef68
2009-04-29 02:01:49 +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 fe6b6466f7 renaming and final cleanup. patch by jbellis; reviewed by Eric Evans for #97
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@769542 13f79535-47bb-0310-9956-ffa450edef68
2009-04-28 21:15:44 +00:00
Jonathan Ellis d32b1a7a96 r/m unnecessary & race-prone cancelled/read/write key sets (a main reason to use
select is that select does this for you!).
patch by jbellis; reviewed by Eric Evans for #97

git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@769541 13f79535-47bb-0310-9956-ffa450edef68
2009-04-28 21:15:38 +00:00
Jonathan Ellis 0d348cab21 r/m unused code & do minor cleanup. patch by jbellis; reviewed by Eric Evans for #97
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@769540 13f79535-47bb-0310-9956-ffa450edef68
2009-04-28 21:15:26 +00:00
Jonathan Ellis 4280ab57b3 remove unused variables. patch by johano; reviewed by jbellis for CASSANDRA-113
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@769517 13f79535-47bb-0310-9956-ffa450edef68
2009-04-28 19:55:33 +00:00
Jonathan Ellis 6b5e9404c5 upgrade to latest THRIFT-378 patch
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@769166 13f79535-47bb-0310-9956-ffa450edef68
2009-04-27 21:14:04 +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 3fc381c408 add build to svnignore. see CASSANDRA-110
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@769075 13f79535-47bb-0310-9956-ffa450edef68
2009-04-27 18:04:14 +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