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
..
2018-10-02 18:48:23 +01:00
2021-06-06 19:18:49 +03:00
2022-04-13 10:29:30 +03:00
2021-09-15 12:55:54 +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
2018-12-24 09:58:08 +02:00
2018-12-24 09:58:08 +02:00
2021-06-06 19:18:49 +03:00
2021-08-09 09:24:36 +02:00
2021-10-05 12:57:54 +02:00
2021-07-28 13:28:21 +03:00
2021-07-28 13:28:21 +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-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-06-06 19:18:49 +03:00
2021-10-27 17:02:00 +03:00
2021-06-06 19:18:49 +03:00
2022-02-26 11:28:53 +02:00
2022-04-13 10:29:03 +03:00
2021-10-13 12:39:36 +03:00
2021-06-06 19:18:49 +03:00
2021-08-02 17:41:21 +03:00
2021-06-08 11:40:55 +03:00
2021-08-26 17:22:22 +03:00
2021-06-06 19:18:49 +03:00
2021-08-22 21:11:39 +03:00
2021-08-22 21:11:39 +03:00
2021-07-22 13:28:43 +03:00
2021-06-06 19:18:49 +03:00
2021-09-15 17:35:12 +03:00
2021-06-06 19:18:49 +03:00
2021-10-11 11:03:51 +03:00
2021-10-11 11:03:51 +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-06-06 19:18:49 +03:00
2021-07-02 19:02:13 +02:00
2021-06-13 13:18:49 +03:00
2021-06-06 19:18:49 +03:00
2021-06-06 19:18:49 +03:00
2021-10-28 08:58:25 +03:00
2021-07-08 15:23:29 +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-06-06 19:18:49 +03:00
2021-06-06 19:18:49 +03:00
2021-07-28 13:27: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-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-06-06 19:18:49 +03:00
2021-11-02 10:50:31 +01:00
2021-06-06 19:18:49 +03:00
2021-06-06 19:18:49 +03:00
2021-07-28 13:29:50 +03:00
2021-08-31 12:36:54 +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-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-06-06 19:18:49 +03:00
2022-05-04 15:38:11 +03:00
2022-05-04 15:38:11 +03:00
2021-06-06 19:18:49 +03:00
2022-02-26 11:28:53 +02:00
2021-08-01 19:34:13 +03:00
2021-07-02 10:25:58 +02: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-07-02 19:02:14 +02: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-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-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-11-04 16:35:38 +01:00
2021-11-04 16:35:38 +01: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-09-15 12:55:54 +03:00
2021-07-01 19:16:11 +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-05-30 23:23:20 +03:00
2021-01-15 14:05:44 +01:00
2021-09-09 11:49:05 +03:00
2021-09-09 11:49:05 +03:00
2021-06-06 19:18:49 +03:00
2021-07-28 13:20:32 +03:00
2021-07-27 20:08:47 +03:00
2021-06-16 17:47:10 +03:00