cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sylvain Lebresne (JIRA)" <>
Subject [jira] [Commented] (CASSANDRA-10358) Allow CQLSSTableWriter.Builder to use custom AbstractSSTableSimpleWriter
Date Tue, 03 Nov 2015 14:23:28 GMT


Sylvain Lebresne commented on CASSANDRA-10358:

The only way I could see that working is if you feed {{CQLSSTableWriter}} already sorted partitions
(which, from Hadoop, sounds plausible), but you use an unsorted {{CQLSSTableWriter}} (which
is the default). If that's the case, then you should give a try to using a sorted writer (by
calling {{.sorted()}} on the builder). This should work around the splitting of partition
(due to CASSANDRA-7360) and should theoretically be faster since there will be no buffering
in memory.

> Allow CQLSSTableWriter.Builder to use custom AbstractSSTableSimpleWriter 
> -------------------------------------------------------------------------
>                 Key: CASSANDRA-10358
>                 URL:
>             Project: Cassandra
>          Issue Type: Improvement
>            Reporter: Andre Turgeon
>            Priority: Minor
>         Attachments: SSTableWriterCreationStrategy.patch, patch.txt
> I've created a patch for your consideration. 
> This change to CQLSSTableWriter allows for a custom AbstractSSTableSimpleWriter to be
> I needed this for a bulkload process I wrote. I believe the change would be beneficial
for other people as well. 
> Below are the reasons I needed a custom implementation of AbstractSSTableSimpleWriter:
> 1) The available implementations of AbstractSSTableSimpleWriter do not provide a way
to specify the filename (or rather revision) of the sstable. I needed to control the name
because my bulkload process write sstables in parallel (on multiple machines) and I wish to
avoid name collisions.
> 2) I discovered a problem with SSTableSimpleUnsortedWriter where it creates invalid level-compaction-style
sstables; It allows a partition to span 2 sstables which violates the "no overlap of token
ranges" constraint of level compaction.   

This message was sent by Atlassian JIRA

View raw message