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

Sylvain Lebresne commented on CASSANDRA-3576:
---------------------------------------------

I've created CASSANDRA-3619 for the 'separate write thread' approach.

Now looking at this more closely, making SSTSUW thread-safe is not so trivial, 
especially once we have CASSANDRA-3619. The problem is that SSTSUW allows to 
"re-open" a row for which you have already written stuff. When that happens, if 
the CF for that key is still in the current buffer, it is reused. But to make 
this thread-safe we know have to do part of what we do for memtables, i.e, make 
sure that "writers" don't alias any column family that is being written.

I'll admit that I'm a bit reluctant to go there. I still think that most user 
will use this class in a mono-threaded context. And if you do want to 
multi-thread things, it's not really much more complicated to use multiple 
SSTSUW objects.
                
> make AbstractSSTableSimpleWriters threadsafe
> --------------------------------------------
>
>                 Key: CASSANDRA-3576
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-3576
>             Project: Cassandra
>          Issue Type: New Feature
>          Components: Core
>    Affects Versions: 0.8.1
>            Reporter: Jonathan Ellis
>            Assignee: Sylvain Lebresne
>            Priority: Minor
>             Fix For: 1.1
>
>
> I took a quick look and the Unsorted writer has a non-threadsafe 
> getColumnFamily method.  I did not look deeper than that.

--
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