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

Robert Coli commented on CASSANDRA-2958:
----------------------------------------

What I "want" is to be able to explain Cassandra to customers in simple 
sentences like "a memtable holds changes until it is full enough to hit a flush 
condition or you explicitly flush it" without having to pepper these sentences 
with caveats like "except if you restart your node or if you stop it with 
durable_writes off, triggering an unexpected flush." Patches such as this one, 
where vaguely defined ends appear to justify whatever ad-hoc inconsistent 
means, do not appear to further this goal.

Let me phrase my objection to this patch in another way...

"What does this patch gain us, and at what cost?"

Your stated goal is to not lose more than "necessary" when stopping a node. It 
seems your goal can be achieved without patching, by simply advising 
"durable_writes off" operators to run "nodetool drain" when stopping a node. 
They are, after all, the ones stopping their node and are perfectly capable of 
draining it if they do not want to lose the explicitly non-durable 
non-durable_writes contents of memtables.

>From what I can tell, the only thing this patch gains us is "people who are 
>running with durable_writes off don't have to run 'nodetool drain' before 
>stopping nodes."

What we trade for that is the until-now universal expectation that stopping a 
Cassandra node never triggers a flush.

Is "the very small group of operators who run with non-durable writes don't 
have to run 'nodetool drain'" such a compelling win that we should change a 
fundamental behavior of Cassandra, making it less predictable, in order to 
obtain it? My answer is no.
                
> Flush memtables on shutdown when durable writes are disabled
> ------------------------------------------------------------
>
>                 Key: CASSANDRA-2958
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-2958
>             Project: Cassandra
>          Issue Type: Bug
>    Affects Versions: 0.8.1
>            Reporter: David Phillips
>            Assignee: Jonathan Ellis
>             Fix For: 0.8.3
>
>         Attachments: 2958.txt
>
>
>  

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to