While we can currently remove all shards of an operator (and its children) to re-create it with a different sharding, this is pretty inefficient. Instead, we should support dynamically adding or removing a shard through a migration, which should cause the appropriate state transfer to take shard from/to the existing shards. We do have to be careful about concurrent writes and backfills though!
While we can currently remove all shards of an operator (and its children) to re-create it with a different sharding, this is pretty inefficient. Instead, we should support dynamically adding or removing a shard through a migration, which should cause the appropriate state transfer to take shard from/to the existing shards. We do have to be careful about concurrent writes and backfills though!