Avi Kivity
89e4fb5991
Merge branch 'gleb/merge' of github.com:cloudius-systems/seastar-dev into db
...
Merge Gleb's merge of the rpc changes into seastar.
2015-05-05 10:41:34 +03:00
Gleb Natapov
78d36eabc2
Merge remote-tracking branch 'origin/master' into tmpmerge
...
message_service: create object using placement new()
Object reference may point to a unit member that was not properly
created, so assign will not work on it. Use placement new() instead.
2015-05-05 10:39:51 +03:00
Asias He
e5499ec96e
README: Add missing yaml-cpp-devel package
...
db/config.o db/config.cc
db/config.cc:6:27: fatal error: yaml-cpp/yaml.h: No such file or directory
#include <yaml-cpp/yaml.h>
^
A README for Urchin is added.
2015-05-05 10:09:59 +03:00
Calle Wilund
e1c0ddea93
commitlog: make sure we don't race creating segments
...
Use a semaphore as gatekeeper to make sure we finish creating a segment
before starting a new one.
Signed-off-by: Calle Wilund <calle@cloudius-systems.com >
2015-05-05 09:59:27 +03:00
Gleb Natapov
2ec7535969
rpc: allow handler to receive non default constructable types
...
Currently it is not possible because a type is instantiated before been
deserialized. Fix that by allocating space for an object by using
std::aligned_storage.
2015-05-03 19:02:33 +03:00
Avi Kivity
6d4868a357
Merge branch 'fix-bsearch-v2' of github.com:glommer/urchin into db
...
Fix sstable binary search key compare, from Glauber.
2015-05-01 11:01:43 +03:00
Glauber Costa
08d7a7c3d5
binary search: clarify return value
...
Signed-off-by: Glauber Costa <glommer@cloudius-systems.com >
2015-04-30 15:31:51 -04:00
Glauber Costa
9993344ab8
tests: test the binary search over a full index list
...
Signed-off-by: Glauber Costa <glommer@cloudius-systems.com >
2015-04-30 15:15:36 -04:00
Glauber Costa
1bd12ec2ff
binary search: fix token comparator
...
compare_unsigned cannot be used directly on a token. We need to use the
dht-provided token comparators.
Signed-off-by: Glauber Costa <glommer@cloudius-systems.com >
2015-04-30 14:09:45 -04:00
Avi Kivity
9e8f6c4e50
Merge branch 'tgrabiec/cleanups' of github.com:cloudius-systems/seastar-dev into db
...
Cleanups for 4d1ba11668 , from Tomasz.
2015-04-30 20:40:08 +03:00
Tomasz Grabiec
b28d26bc9f
murmur_hash: Drop static qualifier from template definition
...
To avoid multiple definitions in different compilation units. Pointed
out by Avi.
2015-04-30 16:49:50 +02:00
Tomasz Grabiec
d54388e1f6
compound_compat: Remove leftover code
...
It's a remnant after failed experiment. I forgot to drop it.
2015-04-30 15:40:02 +02:00
Tomasz Grabiec
6c008d825c
tests: Add partitioner test to test.py
2015-04-30 15:39:57 +02:00
Tomasz Grabiec
93aab46406
tests: Fix murmur_hash_test
2015-04-30 14:23:24 +02:00
Avi Kivity
a28f0efd9a
sstring: add iterator range constructor
2015-04-30 15:03:27 +03:00
Avi Kivity
4d1ba11668
Merge branch 'tgrabiec/fix-decorated-key-order' of github.com:cloudius-systems/seastar-dev into db
...
Fix decorated_key ordering to match Origin's, from Tomasz.
2015-04-30 14:54:35 +03:00
Tomasz Grabiec
72c327b02f
tests: Add partitioner test
2015-04-30 12:02:39 +02:00
Tomasz Grabiec
aec740f895
db: Make decorated_key have ordering compatible with Origin
2015-04-30 12:02:39 +02:00
Gleb Natapov
dfa0f1c003
rcp: put client into an error state when connection is broken
2015-04-30 12:27:57 +03:00
Gleb Natapov
0a47b5f7c9
rpc: return exception as a future instead of throwing in client send path
...
This simplifies error handling in a client code since it needs to only
check future for an exception and do not put 'try' block around a call
itself.
2015-04-30 12:27:56 +03:00
Tomasz Grabiec
359af7745c
dht: murmur3_partitioner: move get_token() implementation to .cc
2015-04-30 11:16:53 +02:00
Tomasz Grabiec
51d26620ca
db: Remove comment above partitions map
...
I think the types are explicit enough now.
2015-04-30 11:16:53 +02:00
Tomasz Grabiec
46e72cbc64
tests: Introduce perf_hash.cc, hashing benchmark
...
Output on my laptop:
$ build/release/tests/perf/perf_hash
Timing fixed hash...
28671657.15 tps
28720930.45 tps
28622017.20 tps
28677088.01 tps
29223543.70 tps
Timing iterator hash...
22023042.57 tps
21953352.04 tps
21393787.05 tps
21613837.10 tps
21563284.57 tps
2015-04-30 11:16:53 +02:00
Tomasz Grabiec
ce78aef19a
tests: Introduce murmur_hash_test.cc
2015-04-30 11:16:53 +02:00
Tomasz Grabiec
5fc149d454
utils: murmur_hash: Add input iterator based hash3_x64_128() version
2015-04-30 11:16:53 +02:00
Tomasz Grabiec
9197914697
utils: Fix indentation in murmur_hash.hh
...
We don't indent namespaces.
2015-04-30 11:16:53 +02:00
Tomasz Grabiec
ad05bb92d1
compound: Add compound::is_prefixable
2015-04-30 11:16:53 +02:00
Tomasz Grabiec
71e580c9c6
tests: keys: Add compatibility layer tests
2015-04-30 11:16:52 +02:00
Tomasz Grabiec
82882779b6
keys: Expose compatibility layer with Origin in partition_key
2015-04-30 11:16:52 +02:00
Tomasz Grabiec
e7c282fdf2
tests: Add tests for compound adaptors
2015-04-30 11:16:52 +02:00
Tomasz Grabiec
89dca2eee4
compound: Introduce legacy format adaptors
2015-04-30 11:16:52 +02:00
Tomasz Grabiec
c78b2b1e0d
compound: Introduce components() method
2015-04-30 11:16:52 +02:00
Tomasz Grabiec
7d45a472aa
compound: Implement iterator::operator->()
2015-04-30 11:16:52 +02:00
Tomasz Grabiec
6f536382b8
compound: Mark and document component iterator as InputIterator
2015-04-30 11:16:52 +02:00
Tomasz Grabiec
6a9c49ee47
compound: Implement postfix incrementation in the component iterator
2015-04-30 11:16:52 +02:00
Tomasz Grabiec
8d2233fb33
compound: Add method for checking if type is compound or not
...
Will be used by legacy comparator.
2015-04-30 11:16:52 +02:00
Tomasz Grabiec
08a17496a3
keys: Move get_component() to compound_wrapper
...
It's an operation which is valid for any compound, not only
partition_key.
2015-04-30 11:16:52 +02:00
Tomasz Grabiec
0559062893
types: Introduce lexicographical_tri_compare()
2015-04-30 11:16:52 +02:00
Tomasz Grabiec
b28ded72eb
Merge branch 'dev/penberg/query-local-fixes' from seastar-dev.git
...
Cleanups from Pekka.
2015-04-30 10:12:27 +02:00
Pekka Enberg
26dd7c7cac
service: Avoid schema ID lookup in storage_proxy::query_local()
...
It's unneeded because we already looked up the schema. Spotted by Tomek.
Signed-off-by: Pekka Enberg <penberg@cloudius-systems.com >
2015-04-30 10:15:45 +03:00
Pekka Enberg
73928c27a5
service: Fix storage_proxy::query_local() to return static columns
...
Spotted by Tomek.
Signed-off-by: Pekka Enberg <penberg@cloudius-systems.com >
2015-04-30 10:14:51 +03:00
Pekka Enberg
3e605f1c8c
service: Fix storage_proxy::query_local() to return clustering keys
...
Spotted by Tomek.
Signed-off-by: Pekka Enberg <penberg@cloudius-systems.com >
2015-04-30 10:14:47 +03:00
Calle Wilund
992a6ea21e
Collectd: Use initializer lists + declare < and == operators for clang
...
Makes scollectd compile on clang++ 3.5.0
2015-04-30 10:00:07 +03:00
Avi Kivity
2dda4673a3
Merge branch 'calle/cassandra-config' of github.com:cloudius-systems/seastar-dev into db
...
Configuration support, from Calle:
* Config object reading cassandra.yaml + command line opts.
* Tracks config source (none, cmd line, yaml)
* Added to main + database
* Used with commit log
2015-04-29 19:25:37 +03:00
Calle Wilund
2f4e7a00f6
Use db/config object in main, database etc
...
* Uses config object to augument/impl options parsing
* Database now holds config obj
* Commitlog can now be inited with global config obj.
2015-04-29 18:01:17 +02:00
Gleb Natapov
2e54725017
rpc: allow handler to return a type without default constructor
...
Currently it is not possible because a type is instantiated before been
deserialized. Fix that by allocating space for an object by using
std::aligned_storage.
2015-04-29 18:58:07 +03:00
Calle Wilund
5054892657
Cassandra compatible "config" object
...
* Based on the property set of cassandra 2.1
* Structure mapping all "known" cassandra.yaml config properties
* YAML and command line parsing of opts.
* Tracks is-set? and set-from-where?
* Uses giant macros to make Avi happy.
2015-04-29 17:00:15 +02:00
Calle Wilund
63ea446849
Collectd: Use initializer lists + declare < and == operators for clang
...
Makes scollectd compile on clang++ 3.5.0
2015-04-29 17:00:14 +02:00
Avi Kivity
509d8a188e
Merge branch 'cleanup-sst' of github.com:glommer/urchin into db
...
Sstable cleanup, from Glauber (privatize some functions).
2015-04-29 16:49:59 +03:00
Glauber Costa
34d099dfbf
sstables: make read_summary_entry private
...
Signed-off-by: Glauber Costa <glommer@cloudius-systems.com >
2015-04-29 09:47:19 -04:00