cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Robert Stupp (JIRA)" <>
Subject [jira] [Updated] (CASSANDRA-7386) JBOD threshold to prevent unbalanced disk utilization
Date Sun, 16 Nov 2014 13:28:35 GMT


Robert Stupp updated CASSANDRA-7386:
    Attachment: 7386-2.1-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:
>             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

View raw message