cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Stu Hood (JIRA)" <>
Subject [jira] Updated: (CASSANDRA-762) Load balancing does not account for the load of the moving node
Date Mon, 08 Feb 2010 00:59:28 GMT


Stu Hood updated CASSANDRA-762:

    Attachment: for-0.5-0001-Wait-BROADCAST_INTERVAL-for-load-information-and-cal.patch

Here is a rebased copy of the patch for 0.5. Because 0.5 is still stat'ing files, it doesn't
lower the BROADCAST_INTERVAL, although we may want to.

> Load balancing does not account for the load of the moving node
> ---------------------------------------------------------------
>                 Key: CASSANDRA-762
>                 URL:
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 0.5, 0.6
>            Reporter: Stu Hood
>            Assignee: Stu Hood
>            Priority: Minor
>             Fix For: 0.5, 0.6
>         Attachments: 0001-Wait-BROADCAST_INTERVAL-for-load-information-and-cal.patch,
> Given a node A (with load 10 gb) and a node B (with load 20 gb), running the loadbalance
command against node A will:
> 1. Remove node A from the ring
>   * Recalculates pending ranges so that node B is responsible for the entire ring
> 2. Pick the most loaded node
>   * node B is still reporting 20 gb load, because that is all it has locally
> 3. Choose a token that divides the range of the most loaded node in half
> Since the token calculation doesn't take into account the load that node B is 'inheriting'
from node A, the token will divide node B's load in half and swap the loads. Instead, the
token calculation needs to pretend that B has already inherited the 10 gb from node A, for
a total of 30 gb. The token that should be chosen falls at 15 gb of the total load, or 5 gb
into node B's load.

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message