Evaluates eligibility again and publishes a new placement snapshot when the
eligible set differs from the newest epoch's shard set.
Under computed placement the eligible set is part of the topology: it is
computed when a snapshot is published, never inside the hash. A cold start
publishes one, and this publishes another on demand, for example from a health
job after the eligible predicate started answering differently. The predicate
runs with operation: 'publish'. A changed set adds an epoch and keeps every
older one, so keys placed under an earlier epoch keep resolving; shards that
dropped out stay readable.
With a journal the swap is a compare-and-swap, so of two callers that find the
same change, one publishes and the other reports published: false. Without
one, both may report true.
Under kv placement there is no snapshot: it returns the shards eligible now,
published: false and epoch: 0.
The eligible shards, whether this call added an epoch, and the newest epoch number
Throws
NO_ELIGIBLE_SHARD, ELIGIBILITY_FAILED, TOO_MANY_EPOCHS when the manifest is full (the manifest is left as it was), PLACEMENT_UNVERIFIED when KV or the journal fails, PLACEMENT_CONFLICT
Evaluates eligibility again and publishes a new placement snapshot when the eligible set differs from the newest epoch's shard set.
Under computed placement the eligible set is part of the topology: it is computed when a snapshot is published, never inside the hash. A cold start publishes one, and this publishes another on demand, for example from a health job after the
eligiblepredicate started answering differently. The predicate runs withoperation: 'publish'. A changed set adds an epoch and keeps every older one, so keys placed under an earlier epoch keep resolving; shards that dropped out stay readable.With a journal the swap is a compare-and-swap, so of two callers that find the same change, one publishes and the other reports
published: false. Without one, both may reporttrue.Under kv placement there is no snapshot: it returns the shards eligible now,
published: falseandepoch: 0.