Re: Choosing historical rebalance heuristics

2020-07-17 Thread Alexei Scherbakov
Hi. The proposed approach to improve rebalancing efficiency looks a little bit naive to me. A mature solution to a problem should include a computation of a "cost" for each rebalancing type. The cost formula should take into consideration various aspects, like number of pages in the memory cache

Re: Choosing historical rebalance heuristics

2020-07-16 Thread Ivan Rakov
> > I think we can modify the heuristic so > 1) Exclude partitions by threshold (IGNITE_PDS_WAL_REBALANCE_THRESHOLD - > reduce it to 500) > 2) Select only that partition for historical rebalance where difference > between counters less that partition size. Agreed, let's go this way. On Thu, Jul

Re: Choosing historical rebalance heuristics

2020-07-16 Thread Vladislav Pyatkov
I completely forget about another promise to favor of using historical rebalance where it is possible. When cluster decided to use a full balance, demander nodes should clear not empty partitions. This can to consume a long time, in some cases that may be compared with a time of rebalance. It also

Re: Choosing historical rebalance heuristics

2020-07-15 Thread Vladislav Pyatkov
Ivan, I agree with a combined approach: threshold for small partitions and count of update for partition that outgrew it. This helps to avoid partitions that update not frequently. Reading of a big WAL piece (more than 100Gb) it can happen, when a client configured it intentionally. There are no

Re: Choosing historical rebalance heuristics

2020-07-15 Thread Ivan Rakov
Hi Vladislav, Thanks for raising this topic. Currently present IGNITE_PDS_WAL_REBALANCE_THRESHOLD (default is 500_000) is controversial. Assuming that the default number of partitions is 1024, cache should contain a really huge amount of data in order to make WAL delta rebalancing possible. In fac

Choosing historical rebalance heuristics

2020-07-14 Thread Vladislav Pyatkov
Hi guys, I want to implement a more honest heuristic for historical rebalance. Before, a cluster makes a choice between the historical rebalance or not it only from a partition size. This threshold more known by a name of property IGNITE_PDS_WAL_REBALANCE_THRESHOLD. It might prevent a historical r