What is the ECE Capacity Validation Algorithm?


(Rockybean) #1

Hi,
I'm testing how ece make sure that available resource is enough for a plan and meet an interesting problem.

Let us assume that we have following available resource.

Then I want to scale one cluster to following size with 2 16GB nodes in 2 zones.

If I chose "create new" strategy, the plan quit immediately with following error.

But if I chose "rolling create new" strategy, the plan didn't quit until constructor found there were no valid allocator for all nodes.

But it ended with two new nodes like following image.

So for "rolling create new" strategy, constructor don't check the available resource for the plan like "create new" strategy. But this will bring an incomplete plan execution.

What I expect is that constructor can use the same resource capacity validation algorithm both for "create new " or "rolling create new" strategy. Because we have limited resource, so we choose "rolling create new" as the default strategy.

We hope that we can break the plan execution immediately if there is not enough capacity.

Thanks!


(Alex Piggott) #2

Rolling grow+shrink was something of a workaround because when we released ECE, "pure" rolling plans weren't quite robust enough to present as an option (and many ECE users didn't have enough capacity to do "full" grow+shrink). As a result, it still has some known rough edges - including the one you point out here.

From 1.1.5 onwards, rolling plans have been "production ready", and as of the (just-released!) 2.1.0 the standard UI always allows the option of rollling. (We don't mark it as default yet, that will come soon though)

As a result, rolling grow+shrink should not really be used any more (the only real use cases are: maintaining availability during changes to "large" (*) single zone cluster, and switching "large" clusters from being master+data to master-only + data-only)

(*) "large" meaning that there is less than that cluster size's allocatable space remaining in 1+ zones


(Rockybean) #3

Big thanks for your explanation.

We will try to use rolling strategy as the default one.


(system) closed #5

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.