You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Jonathan Ellis (JIRA)" <ji...@apache.org> on 2012/08/14 22:17:38 UTC

[jira] [Updated] (CASSANDRA-4533) Multithreaded cache saving can skip caches

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

Jonathan Ellis updated CASSANDRA-4533:
--------------------------------------

             Reviewer: jbellis
          Description: 
Cassandra flushes the key and row cache to disk periodically. It also uses a atomic flag in flushInProgress to enforce single cache writer at any time.

However, the cache saving task could be submitted to CompactionManager concurrently, as long as the number of worker thread in CompactionManager is larger than 1. 

Due to the effect of above atomic flag, only one cache will be written out to disk. Other writer are cancelled when the flag is true.

I observe the situation in Cassandra 1.0. If nothing is changed, the problem should remain in Cassandra 1.1, either.

  was:
Cassandra flushes the key and row cache to disk periodically. It also uses a atomic flag in flushInProgress to enforce single cache writer at any time.

However, the cache saving task could be submitted to CompactionManager concurrently, as long as the number of worker thread in CompactionManager is larger than 1. 

Due to the effect of above atomic flag, only a cache can be written out to disk. Other writer are cancelled when the flag is true.

I observe the situation in Cassandra 1.0. If nothing is changed, the problem should remain in Cassandra 1.1, either.

             Priority: Trivial  (was: Major)
    Affects Version/s:     (was: 1.1.3)
                           (was: 1.0.11)
                       0.8.0
        Fix Version/s: 1.1.5
             Assignee: Yuki Morishita
              Summary: Multithreaded cache saving can skip caches  (was: Cache saving does not work)

Looks like we should switch to a ConcurrentSet like we did in Memtable.meteringInProgress.
                
> Multithreaded cache saving can skip caches
> ------------------------------------------
>
>                 Key: CASSANDRA-4533
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-4533
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 0.8.0
>            Reporter: Zhu Han
>            Assignee: Yuki Morishita
>            Priority: Trivial
>             Fix For: 1.1.5
>
>
> Cassandra flushes the key and row cache to disk periodically. It also uses a atomic flag in flushInProgress to enforce single cache writer at any time.
> However, the cache saving task could be submitted to CompactionManager concurrently, as long as the number of worker thread in CompactionManager is larger than 1. 
> Due to the effect of above atomic flag, only one cache will be written out to disk. Other writer are cancelled when the flag is true.
> I observe the situation in Cassandra 1.0. If nothing is changed, the problem should remain in Cassandra 1.1, either.

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