Commit Graph

245 Commits

Author SHA1 Message Date
Avi Kivity
467ede53b7 Merge branch 'tgrabiec/query-v2' of github.com:cloudius-systems/seastar-dev into db
Query tests and cleanups, from Tomasz.
2015-03-25 15:45:14 +02:00
Tomasz Grabiec
121fa4ff46 test: Introduce test for in-memory CQL query performance
The schema and queries resemble that used by cassandra-stress.

Results on my laptop:

$ build/release/tests/perf/perf_simple_query -c1
Concurrency = 100 x 1
Creating 1000 partitions...
Timing single key selects...
452146.50 tps
449365.24 tps
457650.58 tps
460334.78 tps
458281.51 tps
Timing random key selects...
439181.03 tps
449899.67 tps
405146.90 tps
440228.84 tps
440889.50 tps

$ build/release/tests/perf/perf_simple_query -c3
Concurrency = 100 x 3
Creating 1000 partitions...
Timing single key selects...
302615.08 tps
301471.02 tps
303040.67 tps
302114.77 tps
302465.13 tps
Timing random key selects...
627516.46 tps
628978.04 tps
623664.15 tps
624098.48 tps
614549.85 tps
2015-03-25 12:59:25 +01:00
Tomasz Grabiec
8f73f7df47 tests: Add time_parallel() utility 2015-03-25 12:59:25 +01:00
Raphael S. Carvalho
d81cbbabf7 tests: add testcase for sstables compression info
Signed-off-by: Raphael S. Carvalho <raphaelsc@cloudius-systems.com>
2015-03-25 13:24:48 +02:00
Nadav Har'El
b4e805e811 sstable: test reading from data file
Test sstable::data_read(pos, len), for both compressed and uncompressed
data files. We already have compressed and uncompressed sstables in our
test tree with identical data, we read from them in a particular position
and expect to find the string "gustaf" there.

Signed-off-by: Nadav Har'El <nyh@cloudius-systems.com>
2015-03-25 12:35:33 +02:00
Tomasz Grabiec
b829062985 tests: Make time_it() template static 2015-03-25 10:36:19 +01:00
Tomasz Grabiec
e605a0368a tests: Use lowres_clock in time_it() 2015-03-25 10:36:19 +01:00
Tomasz Grabiec
967073c3c2 tests: Add helpers for setting up CQL environment for tests 2015-03-25 10:36:19 +01:00
Tomasz Grabiec
7bd076ed85 db: Extract range tombstone lookup to separate method
While at it, convert affected methods to take a schema by const& instead
of a shared pointer to save on unnecessary shared ptr copies.
2015-03-25 10:36:19 +01:00
Tomasz Grabiec
201aad7fb1 Merge remote-tracking branch 'seastar/master' 2015-03-25 10:29:52 +01:00
Tomasz Grabiec
4dc8a6a09c test: distrubuted_test: Test that constructor arguments are copied on each core 2015-03-25 09:39:34 +01:00
Tomasz Grabiec
5133a0b2ab tests: distributed_test: Add missing start() invocation 2015-03-25 09:39:34 +01:00
Tomasz Grabiec
dc4eb7af2d tests: Rename map_reduce_test.cc to distributed_test.cc 2015-03-25 09:39:34 +01:00
Tomasz Grabiec
040f8ffcfb tests: Convert tabs to spaces 2015-03-25 09:39:34 +01:00
Pekka Enberg
13372695e6 tests: create table statement test case
Signed-off-by: Pekka Enberg <penberg@cloudius-systems.com>
2015-03-24 15:06:06 +02:00
Avi Kivity
ea004d20d7 Merge branch 'tgrabiec/schema' of github.com:cloudius-systems/seastar-dev into db
Fix schema copy constructor, from Tomasz.
2015-03-24 14:07:36 +02:00
Tomasz Grabiec
e3422525c0 Use column_definition via const reference 2015-03-24 12:03:00 +01:00
Glauber Costa
a51aca67cb Test summary querying
Note: since the Summary files tend to contain very few indexes, all of the previous ones
had only a single entry. We are using small files so we don't have to carry files that are
too big in-tree.

To properly test the Summary files, though, I am importing from my Origin test
setup a quite large sstable, but zeroing its Data/Index file. We can use it to
test all metadata-related queries if we so want, but should not be expecting
actual data from it.

Signed-off-by: Glauber Costa <glommer@cloudius-systems.com>
2015-03-24 11:31:21 +02:00
Tomasz Grabiec
868955658a Merge tag 'refs/tags/avi/collections/lists/v3'
From Avi:

This patchset does some initial conversions for values and operations on
list types.  Also included is the collection tombstone patchset, which is
needed to make setters work.

setter_by_index is an RMW operation, which is not implemented yet, so it
is not tested.
2015-03-23 21:43:55 +01:00
Avi Kivity
21f1888f88 cql: fix lists::setter to use a tombstone
Properly squash existing value
2015-03-23 21:54:22 +02:00
Avi Kivity
c77648da6e db: add collection tombstones 2015-03-23 21:54:22 +02:00
Avi Kivity
62ee57b953 db: wrap collection_type_impl::mutation's vector in a struct
This will allow us to introduce a tombstone alongside.
2015-03-23 21:54:22 +02:00
Avi Kivity
00695c247a tests: add list tests to cql_query_test
List update currently not tested due to lack of collection tombstones.
2015-03-23 21:54:22 +02:00
Tomasz Grabiec
100437ddfe Merge remote-tracking branch 'seastar/master' 2015-03-23 10:58:24 +01:00
Gleb Natapov
406fbf76f7 rpc: add no_wait and client_info tests 2015-03-22 16:16:30 +02:00
Tomasz Grabiec
bc8df8c25c tests: cql: Add tests for range queries 2015-03-20 19:20:59 +01:00
Tomasz Grabiec
bdbd5547e3 db: Cleanup key names
clustering_key::one -> clustering_key
clustering_key::prefix::one -> clustering_key_prefix
partition_key::one -> partition_key
clustering_prefix -> exploded_clustering_prefix
2015-03-20 18:59:29 +01:00
Tomasz Grabiec
90298af614 db: Cleanup atomic_cell naming
atomic_cell -> atomic_cell_type
atomic_cell::one -> atomic_cell
atomic_cell::view -> atomic_cell_view
2015-03-20 18:59:29 +01:00
Tomasz Grabiec
49b7a166a8 keys: Make key components non-optional 2015-03-19 14:54:41 +01:00
Avi Kivity
d1310f4886 Merge branch 'master' of github.com:cloudius-systems/seastar into db 2015-03-18 13:14:19 +02:00
Raphael S. Carvalho
6e049a4a98 tests: add test_fstream_unaligned testcase to fstream test
Signed-off-by: Raphael S. Carvalho <raphaelsc@cloudius-systems.com>
2015-03-18 13:10:00 +02:00
Tomasz Grabiec
83e91d6de4 tests: Add more tests for range tombstones 2015-03-17 15:56:29 +01:00
Tomasz Grabiec
1b1af8cdfd db: Introduce types to hold keys
Holding keys and their prefixes as "bytes" is error prone. It's easy
to mix them up (or use wrong types). This change adds wrappers for
keys with accessors which are meant to make misuses as difficult as
possible.

Prefix and full keys are now distinguished. Places which assumed that
the representation is the same (it currently is) were changed not to
do so. This will allow us to introduce more compact storage for non-prefix
keys.
2015-03-17 15:56:29 +01:00
Avi Kivity
6fee695095 db: replace most uses of protocol_version with serialization_format
Better type safety.
2015-03-16 18:15:16 +02:00
Avi Kivity
c99185677b tests: add test for set literals and set addiitions 2015-03-16 16:45:36 +02:00
Avi Kivity
e28938b8d6 tests: fix cql_query_test indentation 2015-03-16 16:45:36 +02:00
Avi Kivity
e6828d7ad0 Merge branch 'master' of github.com:cloudius-systems/seastar into db
Conflicts:
	configure.py
2015-03-15 20:39:30 +02:00
Avi Kivity
d3acb5acc2 linecount: better error handling 2015-03-15 14:48:52 +02:00
Avi Kivity
0537a8ffe5 linecount: don't try to create the file.
It's read-only.
2015-03-15 14:48:31 +02:00
Avi Kivity
df7bb8cc58 Merge branch 'master' of github.com:cloudius-systems/seastar into db
Conflicts:
	configure.py
2015-03-12 16:31:17 +02:00
Avi Kivity
d5817ab965 Merge branch 'gleb/rpc' of github.com:cloudius-systems/seastar-dev
Conflicts:
	configure.py
2015-03-12 16:30:15 +02:00
Shlomi Livne
83998a8934 tests: Boostify the fstream_test
Signed-off-by: Shlomi Livne <shlomi@cloudius-systems.com>
2015-03-12 15:56:25 +02:00
Gleb Natapov
7adf4f935d rpc test program 2015-03-12 15:38:18 +02:00
Shlomi Livne
83c0196255 tests: make sure each SEASTAR_TEST_CASE has at least a single BOOST_XXX check
SEASTAR_TEST_CASE that did not execute a single BOOST_XXX check was
maakred as "[Message] - Test case .... did not check any assertions" and
is placed in /usr/include/boost/test/impl/results_collector instead of
the correct test file.

Signed-off-by: Shlomi Livne <shlomi@cloudius-systems.com>
2015-03-12 15:21:29 +02:00
Tomasz Grabiec
2ee58d66d6 Merge tag 'avi/collections/v3'
Conflicts:
	tests/urchin/cql_query_test.cc

[tgrabiec: fixed compilation error in cql3/maps.hh]
2015-03-12 11:30:17 +01:00
Pekka Enberg
3f019ee9c0 tests: create keyspace statement test case
Signed-off-by: Pekka Enberg <penberg@cloudius-systems.com>
2015-03-12 10:30:25 +02:00
Avi Kivity
d41b4e57ad tests: add test for map literal and setting a map value by key 2015-03-12 10:22:17 +02:00
Avi Kivity
90ef430d1f tests: add list_type mutation test 2015-03-12 09:56:53 +02:00
Avi Kivity
6f3e63fb3a tests: add set mutation test 2015-03-12 09:56:53 +02:00
Avi Kivity
77196afb95 Merge branch 'master' of github.com:cloudius-systems/seastar into db 2015-03-11 19:32:52 +02:00