Nadav Har'El
cbcfa31e51
cql: validate bloom_filter_fp_chance up-front
...
Scylla's Bloom filter implementation has a minimal false-positive rate
that it can support (6.71e-5). When setting bloom_filter_fp_chance any
lower than that, the compute_bloom_spec() function, which writes the bloom
filter, throws an exception. However, this is too late - it only happens
while flushing the memtable to disk, and a failure at that point causes
Scylla to crash.
Instead, we should refuse the table creation with the unsupported
bloom_filter_fp_chance. This is also what Cassandra did six years ago -
see CASSANDRA-11920.
This patch also includes a regression test, which crashes Scylla before
this patch but passes after the patch (and also passes on Cassandra).
Fixes #11524 .
Signed-off-by: Nadav Har'El <nyh@scylladb.com >
Closes #11576
(cherry picked from commit 4c93a694b7 )
2022-10-04 16:23:25 +03:00
..
2021-08-31 18:05:26 +03:00
2021-08-27 14:07:18 +03:00
2021-06-13 14:45:40 +03:00
2021-06-06 19:18:49 +03:00
2021-06-07 15:58:35 +03:00
2021-06-06 19:18:49 +03:00
2021-10-27 17:02:00 +03:00
2021-06-24 20:59:27 +03:00
2021-10-05 12:58:55 +02:00
2021-06-07 15:58:35 +03:00
2021-06-06 19:18:49 +03:00
2021-06-07 15:58:35 +03:00
2021-06-07 15:58:35 +03:00
2021-06-06 19:18:49 +03:00
2022-05-08 12:32:41 +03:00
2022-05-08 12:32:41 +03:00
2022-05-08 12:32:41 +03:00
2022-05-08 12:32:41 +03:00
2022-05-08 12:33:00 +03:00
2022-05-08 12:32:41 +03:00
2021-06-06 19:18:49 +03:00
2021-06-06 19:18:49 +03:00
2021-06-06 19:18:49 +03:00
2022-10-04 16:23:25 +03:00
2021-09-12 11:21:33 +03:00
2021-06-06 19:18:49 +03:00
2021-06-07 15:58:35 +03:00
2021-09-21 16:20:30 +02:00
2021-08-26 15:53:27 +03:00
2021-09-13 19:03:58 +02:00
2021-06-07 15:58:35 +03:00
2021-08-11 13:41:58 +02:00
2021-06-07 15:58:35 +03:00
2021-10-18 12:13:25 +03:00
2021-09-07 10:37:25 +03:00
2021-06-06 19:18:49 +03:00
2021-10-10 18:16:50 +03:00
2021-06-06 19:18:49 +03:00
2021-08-27 14:07:18 +03:00
2021-06-24 20:59:27 +03:00
2021-10-05 12:58:55 +02:00
2021-09-07 10:37:25 +03:00
2021-10-27 17:02:00 +03:00
2021-06-07 15:58:35 +03:00
2021-07-24 14:33:33 +03:00
2021-06-07 15:58:35 +03:00
2021-06-07 15:58:35 +03:00
2021-06-06 19:18:49 +03:00
2021-08-13 11:16:52 +02:00
2021-08-13 11:16:52 +02:00
2021-08-13 11:16:47 +02:00
2021-06-06 19:18:49 +03:00
2021-06-07 15:58:35 +03:00
2021-06-07 15:58:35 +03:00
2021-08-27 14:07:18 +03:00
2021-06-06 19:18:49 +03:00
2021-06-06 19:18:49 +03:00
2021-06-07 15:58:35 +03:00
2021-06-06 19:18:49 +03:00
2021-06-06 19:18:49 +03:00
2021-06-07 15:58:35 +03:00
2021-08-27 14:07:18 +03:00
2021-06-07 15:58:35 +03:00
2021-06-06 19:18:49 +03:00
2021-06-07 15:58:35 +03:00
2021-06-07 15:58:35 +03:00
2021-06-07 15:58:35 +03:00
2021-06-06 19:18:49 +03:00
2021-06-07 15:58:35 +03:00
2021-06-06 19:18:49 +03:00
2021-06-06 19:18:49 +03:00
2021-06-06 19:18:49 +03:00
2021-06-06 19:18:49 +03:00
2021-06-06 19:18:49 +03:00
2021-10-18 12:18:07 +03:00
2021-10-18 12:13:25 +03:00
2021-10-05 12:58:55 +02:00
2021-06-06 19:18:49 +03:00
2021-06-06 19:18:49 +03:00
2021-10-05 12:58:55 +02:00
2021-06-06 19:18:49 +03:00
2021-10-05 12:58:55 +02:00
2021-06-06 19:18:49 +03:00
2021-10-05 12:58:55 +02:00
2021-06-06 19:18:49 +03:00
2022-05-08 12:32:41 +03:00
2022-05-08 12:32:41 +03:00
2021-06-06 19:18:49 +03:00
2021-06-06 19:18:49 +03:00
2021-08-31 10:45:41 -04:00
2021-06-06 19:18:49 +03:00
2021-06-06 19:18:49 +03:00
2021-10-27 17:02:00 +03:00
2021-06-06 19:18:49 +03:00
2021-06-07 15:58:35 +03:00
2021-06-06 19:18:49 +03:00
2021-10-05 12:58:55 +02:00
2022-05-08 12:32:41 +03:00
2022-05-08 12:32:41 +03:00
2022-05-08 12:32:41 +03:00
2022-05-08 12:32:41 +03:00
2022-05-08 12:32:41 +03:00
2022-05-08 12:32:41 +03:00
2022-09-01 20:34:22 +03:00
2021-06-06 19:18:49 +03:00
2021-06-06 19:18:49 +03:00
2022-05-08 12:32:41 +03:00
2022-05-08 12:32:41 +03:00
2022-03-02 22:00:15 +02:00
2021-06-07 15:58:35 +03:00
2022-05-08 12:32:41 +03:00
2022-05-08 12:32:41 +03:00