[
https://issues.apache.org/jira/browse/CASSANDRA-7386?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Robert Stupp updated CASSANDRA-7386:
------------------------------------
Attachment: 7386-2.1-v3.txt
7386-2.0-v3.txt
Attached patches for 2.0 and 2.1.
Uses weighted random to choose writable directories.
Also added a parameter {{writeSize}} to {{getWriteableLocation}} to exclude
directories that have insufficient free total disk space.
Although {{DataDirectory}} currently only has one field {{location}}, I did not
remove that class since we can easily improve blacklisted directories handling
by adding {{AtomicBoolean}} instances for read+write blacklist marks
(CASSANDRA-8324).
> 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.1-v3.txt, 7386-v1.patch,
> 7386v2.diff, Mappe1.ods, mean-writevalue-7disks.png,
> patch_2_1_branch_proto.diff, sstable-count-second-run.png
>
>
> 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)