[jira] [Updated] (CASSANDRA-8496) Remove MemtablePostFlusher

2018-11-18 Thread C. Scott Andreas (JIRA)


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

C. Scott Andreas updated CASSANDRA-8496:

Component/s: Core

> Remove MemtablePostFlusher
> --
>
> Key: CASSANDRA-8496
> URL: https://issues.apache.org/jira/browse/CASSANDRA-8496
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Core
>Reporter: Benedict
>Priority: Major
> Fix For: 4.x
>
>
> To improve clearing of the CL, prevent infinite growth, and ensure the prompt 
> completion of tasks waiting on flush in the case of transient errors, large 
> flushes or slow disks, in 2.1 we could eliminate the post flusher altogether. 
> Since we now enforce that Memtables track contiguous ranges, a relatively 
> small change would permit Memtables to know the exact minimum as well as the 
> currently known exact maximum. The CL could easily track the total dirty 
> range, knowing that it must be contiguous, by using an AtomicLong instead of 
> an AtomicInteger, and tracking both the min/max seen, not just the max. The 
> only slight complexity will come in for tracking the _clean_ range as this 
> can now be non-contiguous, if there are 3 memtable flushes covering the same 
> CL segment, and one of them completes later. To solve this we can use an 
> interval tree since these operations are infrequent, so the extra overhead is 
> nominal. Once the interval tree completely overlaps the dirty range, we mark 
> the entire dirty range clean.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

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



[jira] [Updated] (CASSANDRA-8496) Remove MemtablePostFlusher

2018-10-01 Thread Benedict (JIRA)


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

Benedict updated CASSANDRA-8496:

Fix Version/s: 4.x

> Remove MemtablePostFlusher
> --
>
> Key: CASSANDRA-8496
> URL: https://issues.apache.org/jira/browse/CASSANDRA-8496
> Project: Cassandra
>  Issue Type: Improvement
>Reporter: Benedict
>Priority: Major
> Fix For: 4.x
>
>
> To improve clearing of the CL, prevent infinite growth, and ensure the prompt 
> completion of tasks waiting on flush in the case of transient errors, large 
> flushes or slow disks, in 2.1 we could eliminate the post flusher altogether. 
> Since we now enforce that Memtables track contiguous ranges, a relatively 
> small change would permit Memtables to know the exact minimum as well as the 
> currently known exact maximum. The CL could easily track the total dirty 
> range, knowing that it must be contiguous, by using an AtomicLong instead of 
> an AtomicInteger, and tracking both the min/max seen, not just the max. The 
> only slight complexity will come in for tracking the _clean_ range as this 
> can now be non-contiguous, if there are 3 memtable flushes covering the same 
> CL segment, and one of them completes later. To solve this we can use an 
> interval tree since these operations are infrequent, so the extra overhead is 
> nominal. Once the interval tree completely overlaps the dirty range, we mark 
> the entire dirty range clean.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

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



[jira] [Updated] (CASSANDRA-8496) Remove MemtablePostFlusher

2016-12-15 Thread Branimir Lambov (JIRA)

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

Branimir Lambov updated CASSANDRA-8496:
---
Priority: Major  (was: Minor)

> Remove MemtablePostFlusher
> --
>
> Key: CASSANDRA-8496
> URL: https://issues.apache.org/jira/browse/CASSANDRA-8496
> Project: Cassandra
>  Issue Type: Improvement
>Reporter: Benedict
>Assignee: Branimir Lambov
>
> To improve clearing of the CL, prevent infinite growth, and ensure the prompt 
> completion of tasks waiting on flush in the case of transient errors, large 
> flushes or slow disks, in 2.1 we could eliminate the post flusher altogether. 
> Since we now enforce that Memtables track contiguous ranges, a relatively 
> small change would permit Memtables to know the exact minimum as well as the 
> currently known exact maximum. The CL could easily track the total dirty 
> range, knowing that it must be contiguous, by using an AtomicLong instead of 
> an AtomicInteger, and tracking both the min/max seen, not just the max. The 
> only slight complexity will come in for tracking the _clean_ range as this 
> can now be non-contiguous, if there are 3 memtable flushes covering the same 
> CL segment, and one of them completes later. To solve this we can use an 
> interval tree since these operations are infrequent, so the extra overhead is 
> nominal. Once the interval tree completely overlaps the dirty range, we mark 
> the entire dirty range clean.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (CASSANDRA-8496) Remove MemtablePostFlusher

2016-05-03 Thread Joshua McKenzie (JIRA)

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

Joshua McKenzie updated CASSANDRA-8496:
---
Assignee: Branimir Lambov

> Remove MemtablePostFlusher
> --
>
> Key: CASSANDRA-8496
> URL: https://issues.apache.org/jira/browse/CASSANDRA-8496
> Project: Cassandra
>  Issue Type: Improvement
>Reporter: Benedict
>Assignee: Branimir Lambov
>Priority: Minor
>
> To improve clearing of the CL, prevent infinite growth, and ensure the prompt 
> completion of tasks waiting on flush in the case of transient errors, large 
> flushes or slow disks, in 2.1 we could eliminate the post flusher altogether. 
> Since we now enforce that Memtables track contiguous ranges, a relatively 
> small change would permit Memtables to know the exact minimum as well as the 
> currently known exact maximum. The CL could easily track the total dirty 
> range, knowing that it must be contiguous, by using an AtomicLong instead of 
> an AtomicInteger, and tracking both the min/max seen, not just the max. The 
> only slight complexity will come in for tracking the _clean_ range as this 
> can now be non-contiguous, if there are 3 memtable flushes covering the same 
> CL segment, and one of them completes later. To solve this we can use an 
> interval tree since these operations are infrequent, so the extra overhead is 
> nominal. Once the interval tree completely overlaps the dirty range, we mark 
> the entire dirty range clean.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (CASSANDRA-8496) Remove MemtablePostFlusher

2014-12-17 Thread Benedict (JIRA)

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

Benedict updated CASSANDRA-8496:

Description: 
To improve clearing of the CL, prevent infinite growth, and ensure the prompt 
completion of tasks waiting on flush in the case of transient errors, large 
flushes or slow disks, in 2.1 we could eliminate the post flusher altogether. 

Since we now enforce that Memtables track contiguous ranges, a relatively small 
change would permit Memtables to know the exact minimum as well as the 
currently known exact maximum. The CL could easily track the total dirty range, 
knowing that it must be contiguous, by using an AtomicLong instead of an 
AtomicInteger, and tracking both the min/max seen, not just the max. The only 
slight complexity will come in for tracking the _clean_ range as this can now 
be non-contiguous, if there are 3 memtable flushes covering the same CL 
segment, and one of them completes later. To solve this we can use an interval 
tree since these operations are infrequent, so the extra overhead is nominal. 
Once the interval tree completely overlaps the dirty range, we mark the entire 
dirty range clean.


  was:
To improve clearing of the CL and the prompt completion of tasks waiting on 
flush in the case of transient errors, large flushes or slow disks, in 2.1 we 
could eliminate the post flusher altogether. 

Since we now enforce that Memtables track contiguous ranges, a relatively small 
change would permit Memtables to know the exact minimum as well as the 
currently known exact maximum. The CL could easily track the total dirty range, 
knowing that it must be contiguous, by using an AtomicLong instead of an 
AtomicInteger, and tracking both the min/max seen, not just the max. The only 
slight complexity will come in for tracking the _clean_ range as this can now 
be non-contiguous, if there are 3 memtable flushes covering the same CL 
segment, and one of them completes later. To solve this we can use an interval 
tree since these operations are infrequent, so the extra overhead is nominal. 
Once the interval tree completely overlaps the dirty range, we mark the entire 
dirty range clean.



 Remove MemtablePostFlusher
 --

 Key: CASSANDRA-8496
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8496
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Reporter: Benedict
Priority: Minor

 To improve clearing of the CL, prevent infinite growth, and ensure the prompt 
 completion of tasks waiting on flush in the case of transient errors, large 
 flushes or slow disks, in 2.1 we could eliminate the post flusher altogether. 
 Since we now enforce that Memtables track contiguous ranges, a relatively 
 small change would permit Memtables to know the exact minimum as well as the 
 currently known exact maximum. The CL could easily track the total dirty 
 range, knowing that it must be contiguous, by using an AtomicLong instead of 
 an AtomicInteger, and tracking both the min/max seen, not just the max. The 
 only slight complexity will come in for tracking the _clean_ range as this 
 can now be non-contiguous, if there are 3 memtable flushes covering the same 
 CL segment, and one of them completes later. To solve this we can use an 
 interval tree since these operations are infrequent, so the extra overhead is 
 nominal. Once the interval tree completely overlaps the dirty range, we mark 
 the entire dirty range clean.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)