Jonathan Ellis
c0f5fb3bb3
refactor read path: first we make readColumnFamily accept a ReadCommand, and use that to clean out duplicate code in CassandraServer. Then we clean up the duplicate versions of the read methods in StorageService by making them ReadCommand-based, too. [not touching multiget code for now.]
...
patch by jbellis; reviewed by Eric Evans for #88
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@766841 13f79535-47bb-0310-9956-ffa450edef68
2009-04-20 20:05:26 +00:00
Jonathan Ellis
657882579d
rename ReadResponseMessage -> ReadResponse
...
patch by jbellis; reviewed by Eric Evans for #88
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@766840 13f79535-47bb-0310-9956-ffa450edef68
2009-04-20 20:05:20 +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
234d0895ad
fix row size "returned" via bufOut (currently ignored). patch by Jun Rao; reviewed by jbellis for #33
...
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@766744 13f79535-47bb-0310-9956-ffa450edef68
2009-04-20 16:38:32 +00:00
Jonathan Ellis
6be087a80a
fix SequenceFile to know about new int in CF serialization. patch by Jun Rao; reviewed by jbellis for #33
...
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@766199 13f79535-47bb-0310-9956-ffa450edef68
2009-04-18 01:33:24 +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
674eaf5cf5
rename BloomFilter.fill -> add
...
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@766139 13f79535-47bb-0310-9956-ffa450edef68
2009-04-17 20:17:11 +00:00
Jonathan Ellis
04344cbb03
replace JenkinsHash w/ MurmurHash. its hash distribution is just as good, and it's faster
...
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@766138 13f79535-47bb-0310-9956-ffa450edef68
2009-04-17 20:17:05 +00:00
Jonathan Ellis
7f256c32cb
r/m unused code, including entire CountingBloomFilter
...
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@766137 13f79535-47bb-0310-9956-ffa450edef68
2009-04-17 20:17:10 +00:00
Jonathan Ellis
8eacd24443
change column_t value to binary from string. patch by johano; reviewed by jbellis for #29
...
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@766136 13f79535-47bb-0310-9956-ffa450edef68
2009-04-17 20:08:49 +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
fa1f80f40d
make GC_GRACE_IN_SECONDS customizable in storage.conf.
...
patch by jbellis; reviewed by Eric Evans for #33
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@766134 13f79535-47bb-0310-9956-ffa450edef68
2009-04-17 20:08:10 +00:00
Jonathan Ellis
560dc2a10f
omit tombstones from column_t and supercolumn_t returned to client.
...
patch by jbellis; reviewed by Eric Evans for #33
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@766133 13f79535-47bb-0310-9956-ffa450edef68
2009-04-17 20:08:05 +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
20dfd0682b
use isSuper instead of DatabaseDescriptor.getColumnType.
...
patch by jbellis; reviewed by Sandeep Tata for #85
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@765830 13f79535-47bb-0310-9956-ffa450edef68
2009-04-17 01:48:50 +00:00
Jonathan Ellis
1e15ccf5c9
refactor CFS constructor to not depend on DatabaseDescriptor.
...
patch by jbellis; reviewed by Sandeep Tata for #85
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@765829 13f79535-47bb-0310-9956-ffa450edef68
2009-04-17 01:48:39 +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
4ed201b99f
r/m libfb303 as a dependency. (this completes the process begun by Prashant earlier.) patch by Jun Rao; reviewed by jbellis for #86
...
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@765703 13f79535-47bb-0310-9956-ffa450edef68
2009-04-16 17:47:25 +00:00
Jonathan Ellis
39de2d0d33
expose redone remove to thrift. patch by jbellis; reviewed by Jun Rao for #83
...
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@765680 13f79535-47bb-0310-9956-ffa450edef68
2009-04-16 16:23:20 +00:00
Jonathan Ellis
cb7cacfea7
generate supercolumn tombstone when a 2-tuple delete is passed to a super CF.
...
patch by jbellis; reviewed by Sandeep Tata for #84
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@765451 13f79535-47bb-0310-9956-ffa450edef68
2009-04-16 02:09:24 +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
2b4a0e4266
Move from ExecutorService per ColumnFamily to ES per Memtable. This allows us to
...
wait for the ES to quiesce completely before flushing, preventing the possibility
of ConcurrentModificationException when a get scheduled before the switch executes
concurrently with flush. It also provides a simpler mental model (only one thread
touches memtable at a time, period) which is a valuable property. Finally, it is
slightly more performant since it avoids hashing the CF name for each operation.
Patch by jbellis; reviewed by Todd Lipcon for #9
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@765343 13f79535-47bb-0310-9956-ffa450edef68
2009-04-15 20:30:43 +00:00
Jonathan Ellis
6b2050c1fc
Add MemtableSizeInMB and MemtableObjectCountInMillions to the default config. Uses a more conservative value for MemtableSizeInMB the default. Patch by Eric Evans; reviewed by jbellis for #51
...
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@765269 13f79535-47bb-0310-9956-ffa450edef68
2009-04-15 16:56:11 +00:00
Jonathan Ellis
5e72feef0e
upgrade to thrift svn r763981. for Java, this should be identical to thrift 0.1. patch by jbellis; reviewed by Eric Evans for #72
...
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@765262 13f79535-47bb-0310-9956-ffa450edef68
2009-04-15 16:28:03 +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
137a28fc07
jmx resource names to reflect the move to apache
...
This is primarily a cosmetic change. If the Facebook folks have existing
tools which use these names, and they can not easily be updated, then
this changeset can safely be omitted.
patch by Eric Evans; reviewed by jbellis for #75
for your changes.
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@764842 13f79535-47bb-0310-9956-ffa450edef68
2009-04-14 15:47:49 +00:00
Jonathan Ellis
31e3033afd
an MBean attribute for displaying a flush counter
...
This changeset adds a new attribute to the ColumnFamilyStore MBean which
displays the number of times the memtable has been "switched". This
attribute (along with the newly added count and size attributes),
should prove useful in tuning thresholds.
patch by Eric Evans; reviewed by jbellis for #75
for your changes.
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@764841 13f79535-47bb-0310-9956-ffa450edef68
2009-04-14 15:47:44 +00:00
Jonathan Ellis
a332fad07d
add instrumentation for memtable attributes
...
The current Memtable class implements an MBean interface, but it is not
wired up. Most likely, this is because it would become defunct after
the first flush when the memtable is switched out for a new one.
The solution is to instrument ColumnFamilyStore and expose the memtable
attributes from there.
patch by Eric Evans; reviewed by jbellis for #75
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@764840 13f79535-47bb-0310-9956-ffa450edef68
2009-04-14 15:47:51 +00:00
Jonathan Ellis
732695503b
fix compaction 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@764679 13f79535-47bb-0310-9956-ffa450edef68
2009-04-14 05:12:44 +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
768d2d1493
Clean up FileStruct API and fix key decoration bug in anticompaction. patch by jbellis; reviewed by Jun Rao for #67
...
Also fix calls to isKeyInRanges in anticompaction.
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@763820 13f79535-47bb-0310-9956-ffa450edef68
2009-04-09 21:40:49 +00:00
Jonathan Ellis
db2fdd8740
sanity check configuration before starting. patch by jbellis; reviewed by Eric Evans for #6
...
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@763387 13f79535-47bb-0310-9956-ffa450edef68
2009-04-08 20:49:37 +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
9e027cef72
enable line numbers in test stack traces. patch by johano; reviewed by jbellis for #60
...
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@762508 13f79535-47bb-0310-9956-ffa450edef68
2009-04-06 21:23:11 +00:00
Jonathan Ellis
29f5255169
add cobertura support ('ant codecoverage -Dcobertura.dir=/path/to/cobertura'). patch by johano; reviewed by jbellis for #55
...
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@762442 13f79535-47bb-0310-9956-ffa450edef68
2009-04-06 18:00:43 +00:00
Jonathan Ellis
85c9bda653
r/m redundant or unused code. patch by jbellis; reviewed by johano for #56
...
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@762441 13f79535-47bb-0310-9956-ffa450edef68
2009-04-06 17:56:01 +00:00
Jonathan Ellis
d1e78cbf84
replace .indexOf != -1 with .contains. patch by jbellis; reviewed by johano for #56
...
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@762440 13f79535-47bb-0310-9956-ffa450edef68
2009-04-06 17:55:52 +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
9452cad277
combine overloads of SSTable.next; inline getData. patch by jbellis; reviewed by Jun Rau. see #52
...
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@762383 13f79535-47bb-0310-9956-ffa450edef68
2009-04-06 15:10:38 +00:00
Jonathan Ellis
e6b830c3be
combine next / getData overloads. patch by jbellis; reviewed by Jun Rau. see #52
...
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@762382 13f79535-47bb-0310-9956-ffa450edef68
2009-04-06 15:10:34 +00:00
Jonathan Ellis
1068ee7b0c
merge common parts of next(timeRange) and next(columnNames). patch by jbellis; reviewed by Jun Rau. see #52
...
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@762381 13f79535-47bb-0310-9956-ffa450edef68
2009-04-06 15:10:30 +00:00