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]

Reply via email to