Oxidaner opened a new pull request, #1042:
URL: https://github.com/apache/dubbo-go-pixiu/pull/1042
Fixes #1041
## Summary
This PR reworks the Admin → xDS publication pipeline and brings standard
CDS/EDS support to the Pixiu xDS client, with a read-only diagnostics API.
### Admin side
- Snapshot version now monotonically increases; candidates are validated
before publication and a failed candidate preserves the last-good snapshot
(no more os.Exit on bad config)
- xDS server port / node ID moved into admin config (defaults unchanged)
- New `GET /config/api/xds/status` diagnostics endpoint: node id, snapshot
version, resource counts, last-good/error timestamps, listener state
(listening / ready / degraded), and per-resource-type support status
### Pixiu client side
- Standard CDS + EDS resource conversion and management on a single ADS
stream
- Delta xDS semantics honored: resources are ACKed only after a successful
apply; NACK carries the failing filter name in ErrorDetail
- Dynamically managed resources are isolated from statically configured ones
- Generic reference-counted listener filter-chain snapshot: long-lived
requests keep a retired chain alive until they finish
### Tests
- Full E2E (embedded etcd + real Dubbo providers) proves that Cluster and
Listener updates drive real RPC routing, including a cluster-only update
that must NOT change routing
- Unit tests for snapshot builder (empty resources, deletion, error paths),
delta client, status store, and listener chain lifecycle
- go build / vet / full test suite / -race on core packages all pass
## Notes
- Gateway Controller IR reuse evaluation (proposal chapter 7) is left as a
follow-up; it was scoped as a conditional assessment
--
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]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]