[
https://issues.apache.org/jira/browse/CASSANDRA-4196?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13265048#comment-13265048
]
Dave Brosius commented on CASSANDRA-4196:
-----------------------------------------
SSTAbleWriter.IndexWriter uses
FilterFactory.getFilter(long numElements, int targetBucketsPerElem)
which imposes MURMUR3 always, regardless of what descriptor.filterType is set to
it seems that IndexWriter should use this signature
static Filter getFilter(long numElements, int targetBucketsPerElem, Type type)
and pass descriptor.filterType
alternatively
FilterFactory.serialize should ignore the type, and just infer the type from
the BloomFilter runtime type.
> While loading data using BulkOutPutFormat gettting an exception
> "java.lang.ClassCastException: org.apache.cassandra.utils.Murmur3BloomFilter
> cannot be cast to org.apache.cassandra.utils.Murmur2BloomFilter"
> -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: CASSANDRA-4196
> URL: https://issues.apache.org/jira/browse/CASSANDRA-4196
> Project: Cassandra
> Issue Type: Bug
> Components: Hadoop, Tools
> Affects Versions: 1.1.0
> Reporter: Samarth Gahire
> Assignee: Vijay
> Priority: Minor
> Labels: bulkloader, cassandra, hadoop, hash
> Fix For: 1.1.1
>
> Original Estimate: 48h
> Remaining Estimate: 48h
>
> We are using cassandra-1.1 rc1 for production setup and getting following
> error while bulkloading data using BulkOutPutFormat.
> {code}
> WARN 09:04:52,384 Failed closing
> IndexWriter(/cassandra/production/Data_daily/production-Data_daily-tmp-hc-2692)
> java.lang.ClassCastException: org.apache.cassandra.utils.Murmur3BloomFilter
> cannot be cast to org.apache.cassandra.utils.Murmur2BloomFilter
> at
> org.apache.cassandra.utils.FilterFactory.serialize(FilterFactory.java:50)
> at
> org.apache.cassandra.io.sstable.SSTableWriter$IndexWriter.close(SSTableWriter.java:410)
> at
> org.apache.cassandra.io.util.FileUtils.closeQuietly(FileUtils.java:94)
> at
> org.apache.cassandra.io.sstable.SSTableWriter.abort(SSTableWriter.java:255)
> at
> org.apache.cassandra.streaming.IncomingStreamReader.streamIn(IncomingStreamReader.java:154)
> at
> org.apache.cassandra.streaming.IncomingStreamReader.read(IncomingStreamReader.java:92)
> at
> org.apache.cassandra.net.IncomingTcpConnection.stream(IncomingTcpConnection.java:178)
> at
> org.apache.cassandra.net.IncomingTcpConnection.run(IncomingTcpConnection.java:74)
> WARN 09:04:52,393 Failed closing
> IndexWriter(/cassandra/production/Data_daily/production-Data_daily-tmp-hc-2693)
> java.lang.ClassCastException: org.apache.cassandra.utils.Murmur3BloomFilter
> cannot be cast to org.apache.cassandra.utils.Murmur2BloomFilter
> at
> org.apache.cassandra.utils.FilterFactory.serialize(FilterFactory.java:50)
> at
> org.apache.cassandra.io.sstable.SSTableWriter$IndexWriter.close(SSTableWriter.java:410)
> at
> org.apache.cassandra.io.util.FileUtils.closeQuietly(FileUtils.java:94)
> at
> org.apache.cassandra.io.sstable.SSTableWriter.abort(SSTableWriter.java:255)
> at
> org.apache.cassandra.streaming.IncomingStreamReader.streamIn(IncomingStreamReader.java:154)
> at
> org.apache.cassandra.streaming.IncomingStreamReader.read(IncomingStreamReader.java:92)
> at
> org.apache.cassandra.net.IncomingTcpConnection.stream(IncomingTcpConnection.java:178)
> at
> org.apache.cassandra.net.IncomingTcpConnection.run(IncomingTcpConnection.java:74)
> WARN 09:04:52,544 Failed closing
> IndexWriter(/cassandra/production/Data_daily/production-Data_daily-tmp-hc-2698)
> java.lang.ClassCastException: org.apache.cassandra.utils.Murmur3BloomFilter
> cannot be cast to org.apache.cassandra.utils.Murmur2BloomFilter
> at
> org.apache.cassandra.utils.FilterFactory.serialize(FilterFactory.java:50)
> at
> org.apache.cassandra.io.sstable.SSTableWriter$IndexWriter.close(SSTableWriter.java:410)
> at
> org.apache.cassandra.io.util.FileUtils.closeQuietly(FileUtils.java:94)
> at
> org.apache.cassandra.io.sstable.SSTableWriter.abort(SSTableWriter.java:255)
> at
> org.apache.cassandra.streaming.IncomingStreamReader.streamIn(IncomingStreamReader.java:154)
> at
> org.apache.cassandra.streaming.IncomingStreamReader.read(IncomingStreamReader.java:92)
> at
> org.apache.cassandra.net.IncomingTcpConnection.stream(IncomingTcpConnection.java:178)
> at
> org.apache.cassandra.net.IncomingTcpConnection.run(IncomingTcpConnection.java:74)
> ERROR 09:04:52,544 Exception in thread Thread[Thread-39,5,main]
> [3:02:34 PM] Mariusz Dymarek: java.lang.IndexOutOfBoundsException
> at java.nio.Buffer.checkIndex(Buffer.java:520)
> at java.nio.HeapByteBuffer.getShort(HeapByteBuffer.java:289)
> at org.apache.cassandra.db.CounterColumn.create(CounterColumn.java:79)
> at
> org.apache.cassandra.db.ColumnSerializer.deserialize(ColumnSerializer.java:102)
> at
> org.apache.cassandra.io.util.ColumnIterator.deserializeNext(ColumnSortedMap.java:251)
> at
> org.apache.cassandra.io.util.ColumnIterator.next(ColumnSortedMap.java:271)
> at
> org.apache.cassandra.io.util.ColumnIterator.next(ColumnSortedMap.java:228)
> at
> edu.stanford.ppl.concurrent.SnapTreeMap.<init>(SnapTreeMap.java:453)
> at
> org.apache.cassandra.db.AtomicSortedColumns$Holder.<init>(AtomicSortedColumns.java:301)
> at
> org.apache.cassandra.db.AtomicSortedColumns.<init>(AtomicSortedColumns.java:77)
> at
> org.apache.cassandra.db.AtomicSortedColumns.<init>(AtomicSortedColumns.java:48)
> at
> org.apache.cassandra.db.AtomicSortedColumns$1.fromSorted(AtomicSortedColumns.java:61)
> at
> org.apache.cassandra.db.SuperColumnSerializer.deserialize(SuperColumn.java:398)
> at
> org.apache.cassandra.io.sstable.SSTableWriter.appendFromStream(SSTableWriter.java:211)
> at
> org.apache.cassandra.streaming.IncomingStreamReader.streamIn(IncomingStreamReader.java:142)
> at
> org.apache.cassandra.streaming.IncomingStreamReader.read(IncomingStreamReader.java:92)
> at
> org.apache.cassandra.net.IncomingTcpConnection.stream(IncomingTcpConnection.java:178)
> at
> org.apache.cassandra.net.IncomingTcpConnection.run(IncomingTcpConnection.java:74)
> INFO 09:04:52,548 Streaming of file
> /opera/log1/hadoop/mapred/local/taskTracker/jobcache/job_201111101207_320989/attempt_201111101207_320989_m_000014_0/work/tmp/production/Data_daily/production-Data_daily-hc-1-Data.db
> sections=1 progress=0/21544606 - 0% for
> org.apache.cassandra.streaming.StreamInSession@49bbb2d4 failed: requesting a
> retry.
> {code}
> I tried to check into the code and it seems like *"Murmur3BloomFilter"* and
> *"Murmur2BloomFilter"* are recently added classes and might be causing this
> issue.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira