[
https://issues.apache.org/jira/browse/IGNITE-18879?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Denis Chudov updated IGNITE-18879:
----------------------------------
Description:
*Motivation*
Primary replicas (leaseholders) should be evenly distributed over cluster to
balance the transactional load between nodes. As the placement driver assigns
primary replicas, balancing the primary replicas is also it's responsibility.
Naive implementation of balancing should choose a node as leaseholder candidate
in a way to save even lease distribution over all nodes. In real cluster, it
may take into account slow nodes, hot table records, etc. If lease candidate
declines LeaseGrantMessage from placement driver, the balancer should make
decision to choose another candidate or enforce the previously chosen. So the
balancing algorith should be pluggable, so that we could have ability to
improve/replace/compare it with others.
*Definition of done*
Introduced interface for leaseholder balancer, and a simple implementation
sustaining even lease distribution, which is used by placement driver by
default. No public or internal configuration needed on this stage.
was:
*Motivation*
Primary replicas (leaseholders) should be evenly distributed by cluster to
balance the transactional load between nodes. As the placement driver assigns
primary replicas, balancing the primary replicas is also it's responsibility.
Naive implementation of balancing should choose a node as leaseholder candidate
in a way to save even lease distribution over all nodes. In real cluster, it
may take into account slow nodes, hot table records, etc. If lease candidate
declines LeaseGrantMessage from placement driver, the balancer should make
decision to choose another candidate or enforce the previously chosen. So the
balancing algorith should be pluggable, so that we could have ability to
improve/replace/compare it with others.
*Definition of done*
Introduced interface for leaseholder balancer, and a simple implementation
sustaining even lease distribution, which is used by placement driver by
default. No public or internal configuration needed on this stage.
> Leaseholder candidates balancing
> --------------------------------
>
> Key: IGNITE-18879
> URL: https://issues.apache.org/jira/browse/IGNITE-18879
> Project: Ignite
> Issue Type: Improvement
> Reporter: Denis Chudov
> Priority: Major
> Labels: ignite-3
>
> *Motivation*
> Primary replicas (leaseholders) should be evenly distributed over cluster to
> balance the transactional load between nodes. As the placement driver assigns
> primary replicas, balancing the primary replicas is also it's responsibility.
> Naive implementation of balancing should choose a node as leaseholder
> candidate in a way to save even lease distribution over all nodes. In real
> cluster, it may take into account slow nodes, hot table records, etc. If
> lease candidate declines LeaseGrantMessage from placement driver, the
> balancer should make decision to choose another candidate or enforce the
> previously chosen. So the balancing algorith should be pluggable, so that we
> could have ability to improve/replace/compare it with others.
> *Definition of done*
> Introduced interface for leaseholder balancer, and a simple implementation
> sustaining even lease distribution, which is used by placement driver by
> default. No public or internal configuration needed on this stage.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)