Paweł Dziepak
486e0d8740
tests/perf: add microbenchmarks for memtable reader
2018-01-30 18:33:25 +01:00
Vladimir Krivopalov
7e15e436de
Parse promoted index entries lazily upon request rather than immediately.
...
Now promoted index is converted into an input_stream and skipped over
instead of being consumed immediately and stored as a single buffer.
The only part that is read right away is the deletion time as it is
likely to be there in the already read buffer and reading it should both
be cheap and prevent from reading the whole promoted index if only
deletion time mark is needed.
When accessed, promoted index is parsed in chunks, buffer by buffer, to
limit memory consumption.
Fixes #2981
Signed-off-by: Vladimir Krivopalov <vladimir@scylladb.com >
2018-01-29 11:57:15 -08:00
Vladimir Krivopalov
ebdcffab1a
Add performance tests for large partition slicing using clustering keys.
...
Signed-off-by: Vladimir Krivopalov <vladimir@scylladb.com >
2018-01-29 11:56:35 -08:00
Piotr Jastrzebski
96c97ad1db
Rename streamed_mutation* files to mutation_fragment*
...
Signed-off-by: Piotr Jastrzebski <piotr@scylladb.com >
2018-01-24 20:56:49 +01:00
Piotr Jastrzebski
6f468802f4
Delete unused consume_all(streamed_mutation&)
...
Signed-off-by: Piotr Jastrzebski <piotr@scylladb.com >
2018-01-24 20:56:49 +01:00
Piotr Jastrzebski
7161781586
Delete unused check_order_of_fragments
...
Signed-off-by: Piotr Jastrzebski <piotr@scylladb.com >
2018-01-24 20:56:49 +01:00
Piotr Jastrzebski
795102a0f8
Move test_abandoned_flat_mutation_reader_from_mutation to
...
flat_mutation_reader_test.cc
Signed-off-by: Piotr Jastrzebski <piotr@scylladb.com >
2018-01-24 20:56:49 +01:00
Piotr Jastrzebski
6b78956563
Change test_abandoned_streamed_mutation_from_mutation
...
to test_abandoned_flat_mutation_reader_from_mutation
Signed-off-by: Piotr Jastrzebski <piotr@scylladb.com >
2018-01-24 20:56:49 +01:00
Piotr Jastrzebski
9e06711805
test_mutation_merger_conforms_to_mutation_source: use flat reader
...
Signed-off-by: Piotr Jastrzebski <piotr@scylladb.com >
2018-01-24 20:56:49 +01:00
Piotr Jastrzebski
a39ddc8cf6
Delete test_mutation_from_streamed_mutation_from_mutation
...
It tests mutation_from_streamed_mutation that is no longer
used and will be removed in the next patch.
Signed-off-by: Piotr Jastrzebski <piotr@scylladb.com >
2018-01-24 20:56:49 +01:00
Piotr Jastrzebski
0f78e9c24a
Delete test_freezing_streamed_mutations
...
It tests freeze(streamed_mutation) which is no longer used
and will be removed in the next patch.
Signed-off-by: Piotr Jastrzebski <piotr@scylladb.com >
2018-01-24 20:56:49 +01:00
Piotr Jastrzebski
1c12884fba
test_schema_upgrader_is_equivalent_with_mutation_upgrade: use flat reader
...
Signed-off-by: Piotr Jastrzebski <piotr@scylladb.com >
2018-01-24 20:56:48 +01:00
Piotr Jastrzebski
8abbabef30
Delete test_mutation_merger
...
merge_mutations is no longer used and will be removed
by the next patch.
Signed-off-by: Piotr Jastrzebski <piotr@scylladb.com >
2018-01-24 20:56:48 +01:00
Piotr Jastrzebski
5959337234
Delete unused streamed_mutation_assertions
...
Signed-off-by: Piotr Jastrzebski <piotr@scylladb.com >
2018-01-24 20:56:48 +01:00
Piotr Jastrzebski
8bdc74c9e2
Turn test_streamed_mutation_fragments_have_monotonic_positions
...
into test_mutation_reader_fragments_have_monotonic_positions
Signed-off-by: Piotr Jastrzebski <piotr@scylladb.com >
2018-01-24 20:56:48 +01:00
Piotr Jastrzebski
a546cfd0d5
Delete run_conversion_to_mutation_reader_tests
...
It's no longer needed because converters are no longer used.
Signed-off-by: Piotr Jastrzebski <piotr@scylladb.com >
2018-01-24 20:56:48 +01:00
Piotr Jastrzebski
05ed42c08d
Delete unused assert_that(streamed_mutation_opt)
...
Signed-off-by: Piotr Jastrzebski <piotr@scylladb.com >
2018-01-24 20:56:48 +01:00
Piotr Jastrzebski
912a38d60b
Delete unused assert_that(streamed_mutation)
...
Signed-off-by: Piotr Jastrzebski <piotr@scylladb.com >
2018-01-24 20:56:48 +01:00
Piotr Jastrzebski
a944a1f7f1
perf_fast_forward: delete unused consume_all
...
Signed-off-by: Piotr Jastrzebski <piotr@scylladb.com >
2018-01-24 20:56:48 +01:00
Piotr Jastrzebski
7729bc5e7b
Remove unused mutation_reader_assertions
...
Signed-off-by: Piotr Jastrzebski <piotr@scylladb.com >
2018-01-24 20:56:48 +01:00
Piotr Jastrzebski
f20c19b0e6
Delete tests for mutation readers converters
...
The converters are not used anywhere any longer and
will be deleted in the next patches.
Signed-off-by: Piotr Jastrzebski <piotr@scylladb.com >
2018-01-24 20:56:48 +01:00
Piotr Jastrzebski
88ca42fa69
dummy_incremental_selector: use flat reader
...
Signed-off-by: Piotr Jastrzebski <piotr@scylladb.com >
2018-01-24 20:56:48 +01:00
Piotr Jastrzebski
93355372a0
perf_fast_forward: use flat reader in test_forwarding_with_restriction
...
Signed-off-by: Piotr Jastrzebski <piotr@scylladb.com >
2018-01-24 20:56:48 +01:00
Piotr Jastrzebski
252909c8ab
perf_fast_forward: use flat reader in slice_partitions
...
Signed-off-by: Piotr Jastrzebski <piotr@scylladb.com >
2018-01-24 20:56:48 +01:00
Piotr Jastrzebski
7d082e6ea7
perf_fast_forward: use flat reader in slice_rows_single_key
...
Signed-off-by: Piotr Jastrzebski <piotr@scylladb.com >
2018-01-24 20:56:48 +01:00
Piotr Jastrzebski
177aa88dc1
perf_fast_forward: use flat reader in test_reading_all
...
Signed-off-by: Piotr Jastrzebski <piotr@scylladb.com >
2018-01-24 20:56:48 +01:00
Piotr Jastrzebski
899e471222
perf_fast_forward: use flat reader in slice_rows
...
Signed-off-by: Piotr Jastrzebski <piotr@scylladb.com >
2018-01-24 20:56:48 +01:00
Piotr Jastrzebski
e66c73839e
perf_fast_forward: add consume_all_with_next_partition
...
Signed-off-by: Piotr Jastrzebski <piotr@scylladb.com >
2018-01-24 20:56:48 +01:00
Piotr Jastrzebski
b9bfa49088
perf_fast_forward: use flat reader in scan_with_stride_partitions
...
Signed-off-by: Piotr Jastrzebski <piotr@scylladb.com >
2018-01-24 20:56:48 +01:00
Piotr Jastrzebski
f75c58915d
perf_fast_forward: use flat reader in scan_rows_with_stride
...
Signed-off-by: Piotr Jastrzebski <piotr@scylladb.com >
2018-01-24 20:56:48 +01:00
Piotr Jastrzebski
52021dc605
perf_fast_forward: add assert_partition_start
...
Signed-off-by: Piotr Jastrzebski <piotr@scylladb.com >
2018-01-24 20:56:48 +01:00
Piotr Jastrzebski
5c213b9cbc
perf_fast_forward: add consume_all(flat_mutation_reader&)
...
Signed-off-by: Piotr Jastrzebski <piotr@scylladb.com >
2018-01-24 20:56:48 +01:00
Piotr Jastrzebski
39ec13133f
row_cache: rename make_flat_reader to make_reader
...
Signed-off-by: Piotr Jastrzebski <piotr@scylladb.com >
2018-01-24 20:54:45 +01:00
Piotr Jastrzebski
0d76091a28
test_mvcc: use flat reader
...
Signed-off-by: Piotr Jastrzebski <piotr@scylladb.com >
2018-01-24 20:54:45 +01:00
Piotr Jastrzebski
425c1624cd
test_cache_population_and_clear_race: use flat reader
...
Signed-off-by: Piotr Jastrzebski <piotr@scylladb.com >
2018-01-24 20:54:45 +01:00
Piotr Jastrzebski
dc97acb778
test_cache_population_and_update_race: use flat reader
...
Signed-off-by: Piotr Jastrzebski <piotr@scylladb.com >
2018-01-24 20:54:45 +01:00
Piotr Jastrzebski
1bead9747a
test_continuity_flag_and_invalidate_race: use flat reader
...
Signed-off-by: Piotr Jastrzebski <piotr@scylladb.com >
2018-01-24 20:54:45 +01:00
Piotr Jastrzebski
4266b9759e
test_update_failure: use flat reader
...
Signed-off-by: Piotr Jastrzebski <piotr@scylladb.com >
2018-01-24 20:54:45 +01:00
Piotr Jastrzebski
d5366026b1
row_cache_test: use flat reader in verify_has
...
Signed-off-by: Piotr Jastrzebski <piotr@scylladb.com >
2018-01-24 20:54:45 +01:00
Piotr Jastrzebski
56b0157831
row_cache_test: use flat reader in has_key
...
Signed-off-by: Piotr Jastrzebski <piotr@scylladb.com >
2018-01-24 20:54:45 +01:00
Piotr Jastrzebski
06bca9f4d5
test_sliced_read_row_presence: use flat reader
...
Signed-off-by: Piotr Jastrzebski <piotr@scylladb.com >
2018-01-24 20:54:45 +01:00
Piotr Jastrzebski
6c3d9cdb9f
test_lru: use flat reader
...
Signed-off-by: Piotr Jastrzebski <piotr@scylladb.com >
2018-01-24 20:54:45 +01:00
Piotr Jastrzebski
a979869a15
test_update_invalidating: use flat reader
...
Signed-off-by: Piotr Jastrzebski <piotr@scylladb.com >
2018-01-24 20:54:45 +01:00
Piotr Jastrzebski
781d9a324d
test_scan_with_partial_partitions: use flat reader
...
Signed-off-by: Piotr Jastrzebski <piotr@scylladb.com >
2018-01-24 20:54:45 +01:00
Piotr Jastrzebski
f199aab1ad
test_cache_populates_partition_tombstone: use flat reader
...
Signed-off-by: Piotr Jastrzebski <piotr@scylladb.com >
2018-01-24 20:54:45 +01:00
Piotr Jastrzebski
9755f7677c
test_tombstone_merging_in_partial_partition: use flat reader
...
Signed-off-by: Piotr Jastrzebski <piotr@scylladb.com >
2018-01-24 20:54:45 +01:00
Piotr Jastrzebski
2e1b12b6ce
consume_all,populate_range: use flat reader
...
Signed-off-by: Piotr Jastrzebski <piotr@scylladb.com >
2018-01-24 20:54:45 +01:00
Piotr Jastrzebski
d08f4a40b2
test_readers_get_all_data_after_eviction: use flat reader
...
Signed-off-by: Piotr Jastrzebski <piotr@scylladb.com >
2018-01-24 20:54:45 +01:00
Piotr Jastrzebski
f99992261f
test_tombstones_are_not_missed_when_range_is_invalidated: use flat reader
...
Signed-off-by: Piotr Jastrzebski <piotr@scylladb.com >
2018-01-24 20:54:45 +01:00
Piotr Jastrzebski
50fb2a57b6
test_exception_safety_of_reads: use flat reader
...
Signed-off-by: Piotr Jastrzebski <piotr@scylladb.com >
2018-01-24 20:54:45 +01:00