Correct "current size" option in Wizard => datastore size #742
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
If you happen to run the installation wizard after you've already configured your node, when reaching the "Datastore size" step, the wizard will load your current datastore size parameter.
However, when you choose a value as datastore size, the wizard will then apply the following operations:
clientCacheSize
, of 10% or 200 MiB (whichever is smaller)slashdotCacheSize
of up to 10%storeSize
=[your chosen size] - clientCacheSize - slashdotCacheSize
, and use this as the datastore size.So, the actual value for datastore size will be different from the chosen value. In particular, if you choose "current size", in the end the datastore will get reduced, leading to a datastore resize (which may take a long time and will lead to its partial purge).
Example
For instance, if I choose 10 GiB, then in the logs I'll see:
And if I go back to the datastore size wizard step, "current size" will then show 8.8 GiB (the equivalent of 9016 MiB), instead of 10 GiB (what I chose).
Proposed fix
In this PR, I compute
storeSize + clientCacheSize + slashdotCacheSize
, and I then use this to fill in the "current size" option, instead of juststoreSize
.Although this is a bit inaccurate as far as what the current size of the datastore really is, it seems to me that it leads to a more coherent behavior.