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

Jonathan Ellis edited comment on CASSANDRA-2327 at 3/15/11 3:48 AM:
--------------------------------------------------------------------

>From the comments to Table.maybeSwitchMemtable:

{noformat}
        /*
         * If we can get the writelock, that means no new updates can come in 
and
         * all ongoing updates to memtables have completed. We can get the tail
         * of the log and use it as the starting position for log replay on 
recovery.
         *
         * This is why we Table.flusherLock needs to be global instead of 
per-Table:
         * we need to schedule discardCompletedSegments calls in the same order 
as their
         * contexts (commitlog position) were read, even though the flush 
executor
         * is multithreaded.
         */
{noformat}

      was (Author: jbellis):
    From the comments to Table.maybeSwitchMemtable:

{noformat}
        /*
         * If we can get the writelock, that means no new updates can come in 
and
         * all ongoing updates to memtables have completed. We can get the tail
         * of the log and use it as the starting position for log replay on 
recovery.
         *
         * This is why we Table.flusherLock needs to be global instead of 
per-Table:
         * we need to schedule discardCompletedSegments calls in the same order 
as their
         * contexts (commitlog position) were read, even though the flush 
executor
         * is multithreaded.
         */
{noforma
  
> Table.flusherLock is static final.. remove static.
> --------------------------------------------------
>
>                 Key: CASSANDRA-2327
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-2327
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 0.7.4, 0.7.5
>         Environment: JVM
>            Reporter: Vijay
>            Assignee: Vijay
>            Priority: Minor
>             Fix For: 0.7.5
>
>
> I see read and write latency spike when the system tables are 
> flushing(according to opscentral).... 
> Only reason which i can come-up with is probably because of the 
> Table.flusherLock is static final... i think it should not be static because 
> the flush is per keyspace and this lock will lock all the read operations 
> because one table is going through a flush.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to