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

Jeremiah Jordan commented on CASSANDRA-7386:
--------------------------------------------

bq. just because of reservation? oops

oh sorry, mis-understood you.  The problem with reservations was 
CASSANDRA-5605.  We would end up reserving the whole disk, so flushing couldn't 
happen, and then the heap would fill up, and you would OOM.  Because we 
reserved the max possible space, but for workloads with overwrites, the 
resulting file is way smaller than the reservation, so we didn't actually need 
all that space.  Basically we were declaring "disk full", before the disk was 
actually full.  The other problem is that when reserving space, if multiple 
compactions are in progress, you reserve the max needed by all of them.  But 
they finish at different times, and when they finish all the old files get 
removed.  So again you are declaring "disk full" when it will not actually be 
full.

> JBOD threshold to prevent unbalanced disk utilization
> -----------------------------------------------------
>
>                 Key: CASSANDRA-7386
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-7386
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>            Reporter: Chris Lohfink
>            Assignee: Robert Stupp
>            Priority: Minor
>             Fix For: 2.1.3
>
>         Attachments: 7386-2.0-v3.txt, 7386-2.0-v4.txt, 7386-2.0-v5.txt, 
> 7386-2.1-v3.txt, 7386-2.1-v4.txt, 7386-2.1-v5.txt, 7386-v1.patch, 
> 7386v2.diff, Mappe1.ods, mean-writevalue-7disks.png, 
> patch_2_1_branch_proto.diff, sstable-count-second-run.png, 
> test1_no_patch.jpg, test1_with_patch.jpg, test2_no_patch.jpg, 
> test2_with_patch.jpg, test3_no_patch.jpg, test3_with_patch.jpg, 
> test_regression_no_patch.jpg, test_regression_with_patch.jpg
>
>
> Currently the pick the disks are picked first by number of current tasks, 
> then by free space.  This helps with performance but can lead to large 
> differences in utilization in some (unlikely but possible) scenarios.  Ive 
> seen 55% to 10% and heard reports of 90% to 10% on IRC.  With both LCS and 
> STCS (although my suspicion is that STCS makes it worse since harder to be 
> balanced).
> I purpose the algorithm change a little to have some maximum range of 
> utilization where it will pick by free space over load (acknowledging it can 
> be slower).  So if a disk A is 30% full and disk B is 5% full it will never 
> pick A over B until it balances out.



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

Reply via email to