You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Dave Brosius (JIRA)" <ji...@apache.org> on 2012/04/30 19:49:49 UTC

[jira] [Commented] (CASSANDRA-4196) 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"

    [ 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