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

Ariel Weisberg commented on CASSANDRA-19597:
--------------------------------------------

I have a patch for this. I think I need to add a test as flushing and doing 
post flush things in order doesn't seem like it is very well covered. 
`CommitLogTest` has something, but it doesn't look like it actually checks that 
the post flush stuff runs in order or makes it run out of order.

CFS also doesn't look very testable so I need to spend some time figuring out 
how to test it without making a mess.

> SystemKeyspace CFS flushing blocked by unrelated keyspace flushing/compaction
> -----------------------------------------------------------------------------
>
>                 Key: CASSANDRA-19597
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-19597
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Local/Memtable
>            Reporter: Ariel Weisberg
>            Assignee: Ariel Weisberg
>            Priority: Normal
>         Attachments: ci_summary.html
>
>
> There is a single post flush thread and that thread processes tasks in order 
> and one of those tasks can be a memtable flush for an unrelated keyspace/cfs, 
> and that memtable flush can be blocked by slow IntervalTree building and 
> racing with compactors to try and build an interval tree.
> Unless there is a requirement for ordering we probably want to loosen this to 
> the actual ordering requirement so that problems in one keyspace can’t effect 
> another.
> SystemKeyspace and Gossip in particular cause lots of weird problems like 
> nodes marking each other down because Gossip can’t process nodes being 
> removed (blocking flush each time in SystemKeyspace.removeNode)
> A very simple fix here might be to queue the post flush task at the same time 
> as the flush in a per CFS queue, and then submit the task only once the flush 
> is completed.
> If flushes complete out of order the queue will still ensure their 
> completions are processed in order.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org

Reply via email to