eye-gu commented on PR #6347: URL: https://github.com/apache/shenyu/pull/6347#issuecomment-5368660976
@Aias00 All your review items have been addressed. Summary: **Blocker 1 – Idempotency**: Selector/rule IDs are now deterministically derived from the route coordinates via `UUID.nameUUIDFromBytes`. Reconcile no longer blindly deletes + recreates — it only removes selectors that are no longer needed, and `saveOrUpdate` is idempotent. Regression tests: `testSelectorAndRuleIdsAreStableAcrossParses`, `testReconcileIsIdempotentOnResync`. **Blocker 2 – E2E**: `it-k8s-gateway-api` is green on the latest commit (run 32453384013). 1. **GatewayClass hardcoded check**: ownership is now resolved by looking up the GatewayClass's `spec.controllerName` via informer lister. 2. **ReferenceGrant / ResolvedRefs / 5xx**: both `parentRefs` and `backendRefs` are gated by `ReferenceGrants.isGranted`; `ResolvedRefs` now reflects real resolution results (`BackendNotFound` / `RefNotPermitted` / `InvalidKind`); a route whose backends cannot be resolved no longer produces a selector with zero upstreams. 3. **Cross-controller binding/deletion**: bindings are only created for eligible ShenYu parents, and the deletion path only cleans up routes that were actually bound through this controller's Gateways. 4. **Full-cluster rescan on resync**: `requeueAffectedHTTPRoutes` is now only triggered when an HTTPRoute's `Accepted` condition actually transitions — never when rejected, and never on plain resync. 5. **Leader election**: documented the rationale — reconcile is fully idempotent so multiple replicas are safe (identical writes converge); the e2e deployment now runs 2 gateway replicas to prove it. 6. **Wildcard hostname EQ**: wildcards now map to a REGEX selector (e.g. `*.example.com` → `^[^.]+\.example\.com$`). Covered by unit test and e2e step 18. 7. **GatewayClass conditions clobbered**: the status merge now preserves non-Accepted conditions. Copilot's comments were also addressed (executor shutdown + `SmartLifecycle` management, status merge preserving parents owned by other controllers, selectorName dedup with hostname/match ordinal, misleading `loadbalancer: p2c` annotation removed, etc.). The unrelated `MapUtils` fix has been split out of this branch. PTAL, thanks! -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
