[ 
https://issues.apache.org/jira/browse/CASSANDRA-4196?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13265048#comment-13265048
 ] 

Dave Brosius edited comment on CASSANDRA-4196 at 4/30/12 5:48 PM:
------------------------------------------------------------------

SSTAbleWriter.IndexWriter constructor 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.


                
      was (Author: [email protected]):
    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

        

Reply via email to