[ https://issues.apache.org/jira/browse/CASSANDRA-5900?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
J.B. Langston updated CASSANDRA-5900: ------------------------------------- Description: In 1.2, we introduced the ability to turn bloom filters off completely by setting fp chance to 1.0. It looks like there is a bug with this though. When it's set to 1.0 the following errors occur because AlwaysPresentFilter is not present in the switch statement here at https://github.com/apache/cassandra/blob/cassandra-1.2/src/java/org/apache/cassandra/utils/FilterFactory.java#L91, and we default to Murmur3BloomFilter for an unknown type. Exception in thread "main" java.lang.ClassCastException: org.apache.cassandra.utils.AlwaysPresentFilter cannot be cast to org.apache.cassandra.utils.Murmur3BloomFilter at org.apache.cassandra.utils.FilterFactory.serializedSize(FilterFactory.java:91) at org.apache.cassandra.io.sstable.SSTableReader.getBloomFilterSerializedSize(SSTableReader.java:531) at org.apache.cassandra.metrics.ColumnFamilyMetrics$15.value(ColumnFamilyMetrics.java:273) at org.apache.cassandra.metrics.ColumnFamilyMetrics$15.value(ColumnFamilyMetrics.java:268) at org.apache.cassandra.db.ColumnFamilyStore.getBloomFilterDiskSpaceUsed(ColumnFamilyStore.java:1825) was: In 1.2, we introduced the ability to turn bloom filters off completely by setting fp chance to 1.0. It looks like there is a bug with this though. When it's set to one the following errors occur because AlwaysPresentFilter is not present in the switch statement here at https://github.com/apache/cassandra/blob/cassandra-1.2/src/java/org/apache/cassandra/utils/FilterFactory.java#L91, and we default to Murmur3BloomFilter for an unknown type. Exception in thread "main" java.lang.ClassCastException: org.apache.cassandra.utils.AlwaysPresentFilter cannot be cast to org.apache.cassandra.utils.Murmur3BloomFilter at org.apache.cassandra.utils.FilterFactory.serializedSize(FilterFactory.java:91) at org.apache.cassandra.io.sstable.SSTableReader.getBloomFilterSerializedSize(SSTableReader.java:531) at org.apache.cassandra.metrics.ColumnFamilyMetrics$15.value(ColumnFamilyMetrics.java:273) at org.apache.cassandra.metrics.ColumnFamilyMetrics$15.value(ColumnFamilyMetrics.java:268) at org.apache.cassandra.db.ColumnFamilyStore.getBloomFilterDiskSpaceUsed(ColumnFamilyStore.java:1825) > Setting bloom filter fp chance to 1.0 causes ClassCastExceptions > ---------------------------------------------------------------- > > Key: CASSANDRA-5900 > URL: https://issues.apache.org/jira/browse/CASSANDRA-5900 > Project: Cassandra > Issue Type: Bug > Components: Core > Reporter: J.B. Langston > > In 1.2, we introduced the ability to turn bloom filters off completely by > setting fp chance to 1.0. It looks like there is a bug with this though. > When it's set to 1.0 the following errors occur because AlwaysPresentFilter > is not present in the switch statement here at > https://github.com/apache/cassandra/blob/cassandra-1.2/src/java/org/apache/cassandra/utils/FilterFactory.java#L91, > and we default to Murmur3BloomFilter for an unknown type. > Exception in thread "main" java.lang.ClassCastException: > org.apache.cassandra.utils.AlwaysPresentFilter cannot be cast to > org.apache.cassandra.utils.Murmur3BloomFilter > at > org.apache.cassandra.utils.FilterFactory.serializedSize(FilterFactory.java:91) > at > org.apache.cassandra.io.sstable.SSTableReader.getBloomFilterSerializedSize(SSTableReader.java:531) > at > org.apache.cassandra.metrics.ColumnFamilyMetrics$15.value(ColumnFamilyMetrics.java:273) > at > org.apache.cassandra.metrics.ColumnFamilyMetrics$15.value(ColumnFamilyMetrics.java:268) > at > org.apache.cassandra.db.ColumnFamilyStore.getBloomFilterDiskSpaceUsed(ColumnFamilyStore.java:1825) -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira