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

Benedict commented on CASSANDRA-8619:
-------------------------------------

This introduced a risk of failing with an assertion error due to writing an 
empty partition, since we could create a new CF on the boundary. Thankfully 
this was caught by the existing tests. This also caused an existing bug with 
racing to report the error condition to present, that I've also ninja-fixed. 
I've skipped writing the first partition of any flush if it's empty, and use 
timed BlockingQueue.offer() to recheck the exceptions periodically. This seems 
good enough, but will revisit if you take exception to either approach.

> using CQLSSTableWriter gives ConcurrentModificationException
> ------------------------------------------------------------
>
>                 Key: CASSANDRA-8619
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-8619
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Tools
>         Environment: sun jdk 7
> linux - ubuntu
>            Reporter: Igor Berman
>            Assignee: Benedict
>             Fix For: 2.1.3, 2.0.13
>
>         Attachments: 8619, TimeSeriesCassandraLoaderTest.java
>
>
> Using CQLSSTableWriter gives ConcurrentModificationException 
> I'm trying to load many timeseries into cassandra 2.0.11-1
> using  'org.apache.cassandra:cassandra-all:2.0.11'
> {noformat}
> java.util.ConcurrentModificationException
>       at java.util.TreeMap$PrivateEntryIterator.nextEntry(TreeMap.java:1115)
>       at java.util.TreeMap$ValueIterator.next(TreeMap.java:1160)
>       at 
> org.apache.cassandra.db.ColumnIndex$Builder.build(ColumnIndex.java:126)
>       at 
> org.apache.cassandra.io.sstable.SSTableWriter.rawAppend(SSTableWriter.java:202)
>       at 
> org.apache.cassandra.io.sstable.SSTableWriter.append(SSTableWriter.java:187)
>       at 
> org.apache.cassandra.io.sstable.SSTableSimpleUnsortedWriter$DiskWriter.run(SSTableSimpleUnsortedWriter.java:215)
> schema
> CREATE TABLE test.sample (ts_id bigint, yr int, t timestamp, v double, tgs 
> set<varchar>, PRIMARY KEY((ts_id,yr), t)) WITH CLUSTERING ORDER BY (t DESC) 
> AND COMPRESSION = {'sstable_compression': 'LZ4Compressor'};
> statement:
> INSERT INTO  test.sample(ts_id, yr, t, v) VALUES (?,?,?,?)
> {noformat}
> with .withBufferSizeInMB(128); it happens more than with
> .withBufferSizeInMB(256);
> code based on 
> http://planetcassandra.org/blog/using-the-cassandra-bulk-loader-updated/
> writer.addRow(tsId, year, new Date(time), value);
> Any suggestions will be highly appreciated



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to