Alistair Coles 18f20daf38 Add absolute values for shard shrinking config options
Add two new sharder config options for configuring shrinking
behaviour:

  - shrink_threshold: the size below which a shard may shrink
  - expansion_limit: the maximum size to which an acceptor shard
    may grow

The new options match the 'swift-manage-shard-ranges' command line
options and take absolute values.

The new options provide alternatives to the current equivalent options
'shard_shrink_point' and 'shard_shrink_merge_point', which are
expressed as percentages of 'shard_container_threshold'.
'shard_shrink_point' and 'shard_shrink_merge_point' are deprecated and
will be overridden by the new options if the new options are
explicitly set in a config file.

The default values of the new options are the same as the values that
would result from the default 'shard_container_threshold',
'shard_shrink_point' and 'shard_shrink_merge_point' i.e.:

  - shrink_threshold: 100000
  - expansion_limit: 750000

Change-Id: I087eac961c1eab53540fe56be4881e01ded1f60e
2021-05-20 21:00:02 +01:00
..