From d88017807b374d907af75a3f05e1b8381421b0a0 Mon Sep 17 00:00:00 2001 From: Dai Ha Date: Fri, 4 Sep 2026 13:55:28 +0700 Subject: [PATCH] #315: fix self-contradicting javadoc left by the previous commit MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit FixedPlacementPolicy's class javadoc still opened with "This ignores caps and reachability" after the previous commit added reachability as the fourth carve-out that is explicitly NOT ignored — caught by a shape-check survey run against this same file as part of #315's own request ("look in placement/ ... for the same shape: a caller/comment that documents an expectation ... where an implementation does not meet it"). Reworded the opening sentence: fixed still ignores caps (maxLoad) by design, but reachability is now a narrower, per-call retry exclusion, not an ignored concern. --- .../dev/ltms/fleet/placement/FixedPlacementPolicy.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/fleetd/src/main/java/dev/ltms/fleet/placement/FixedPlacementPolicy.java b/fleetd/src/main/java/dev/ltms/fleet/placement/FixedPlacementPolicy.java index cfa3bbb..1389eef 100644 --- a/fleetd/src/main/java/dev/ltms/fleet/placement/FixedPlacementPolicy.java +++ b/fleetd/src/main/java/dev/ltms/fleet/placement/FixedPlacementPolicy.java @@ -5,8 +5,12 @@ import java.util.List; /** * Backward-compatible placement: an unqualified spawn always resolves to the configured default - * profile, exactly as {@code CompositePeerLauncher} did before CB-518. This ignores caps and - * reachability so that a pre-existing config behaves identically after upgrade. + * profile, exactly as {@code CompositePeerLauncher} did before CB-518. This ignores caps + * ({@code maxLoad}) so that a pre-existing config behaves identically after upgrade — capacity + * gating for automatic placement is deliberately out of scope for {@code fixed}, exactly as it + * always has been. Reachability is a narrower exception (fleetd #315, below): a profile is never + * checked for reachability up front, only skipped once it has already failed in this same + * spawn call's retry loop — see the unreachable case below. * *

Four exceptions walk past the default instead of returning it unconditionally: *