[ 
https://issues.apache.org/jira/browse/CASSANDRA-1155?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jonathan Ellis updated CASSANDRA-1155:
--------------------------------------

    Attachment: 1155-v4.txt

v4 moves the write to stats CF into postFlushExecutor to avoid deadlock.

the deadlock was, you have two CFs flushing, A and B.

flush of A goes to update stats CF
meanwhile flush of B has acquired flusherlock in preparation to flush, so A 
can't aquire the lock to do the stats write
but B can't release the lock, because we only allow N flushes at a time, so it 
blocks on the executor submission (to flush-writer-pool)
so neither A nor B can proceed

> keep persistent row statistics
> ------------------------------
>
>                 Key: CASSANDRA-1155
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1155
>             Project: Cassandra
>          Issue Type: Sub-task
>          Components: Core
>            Reporter: Jonathan Ellis
>            Assignee: Brandon Williams
>             Fix For: 0.7 beta 1
>
>         Attachments: 1155-v2.txt, 1155-v3.txt, 1155-v4.txt, 1155.txt
>
>
> during flush and compaction we should keep row size statistics using 
> EstimatedHistogram (column count, and row size), replacing min/max/total 
> sizes in CFS.
> having this detail will let us estimate, given an index CF, how many nodes we 
> need to query to get the number of matching rows requested by the client.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to