cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Tyler Hobbs (JIRA)" <>
Subject [jira] [Commented] (CASSANDRA-11920) bloom_filter_fp_chance needs to be validated up front
Date Fri, 17 Jun 2016 21:14:05 GMT


Tyler Hobbs commented on CASSANDRA-11920:

Thanks for the patch!

I've created a new unit test to exercise this.  I also backported the patch to 2.2, since
that's affected as well.

Here are the patches and pending CI test runs:

If the tests look good, I'll commit this.

> bloom_filter_fp_chance needs to be validated up front
> -----------------------------------------------------
>                 Key: CASSANDRA-11920
>                 URL:
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Lifecycle, Local Write-Read Paths
>            Reporter: ADARSH KUMAR
>            Assignee: Arindam Gupta
>            Priority: Minor
>              Labels: lhf
>         Attachments: 11920-3.0.txt
> Hi,
> I was doing some bench-marking on bloom_filter_fp_chance values. Everything worked fine
for values .01(default for STCS), .001, .0001. But when I set bloom_filter_fp_chance = .00001
i observed following behaviour:
> 1). Reads and writes looked normal from cqlsh.
> 2). SSttables are never created.
> 3). It just creates two files (*-Data.db and *-index.db) of size 0kb.
> 4). nodetool flush does not work and produce following exception:
> java.lang.UnsupportedOperationException: Unable to satisfy 1.0E-5 with 20 buckets per
>         at org.apache.cassandra.utils.BloomCalculations.computeBloomSpec(
> I checked BloomCalculations class and following lines are responsible for this exception:
> if (maxFalsePosProb < probs[maxBucketsPerElement][maxK]) {
>       throw new UnsupportedOperationException(String.format("Unable to satisfy %s with
%s buckets per element",
>                                                  maxFalsePosProb, maxBucketsPerElement));
>   }
> From  the code it looks like a hard coaded validation (unless we can change the nuber
of buckets).
> So, if this validation is hard coaded then why it is even allowed to set such value of
bloom_fileter_fp_chance, that can prevent ssTable generation?
> Please correct this issue.

This message was sent by Atlassian JIRA

View raw message