Repository navigation
refactor(registry): prepare the external Eureka cutover - #7960
yangjj-iso wants to merge 6 commits into
Conversation
# Conflicts: # RELEASE-NOTES.md # shenyu-dist/shenyu-admin-dist/src/main/release-docs/LICENSE # shenyu-dist/shenyu-bootstrap-dist/src/main/release-docs/LICENSE # shenyu-registry/shenyu-registry-eureka/pom.xml
5 registry classpath tests, 5 example resolver tests and 7 registry dependency checks passed; Checkstyle and RAT passed. Signed-off-by: redyyang <3202137046@qq.com>
Aias00
left a comment
There was a problem hiding this comment.
Stream Agent analysis
FINAL synthesis of apache/shenyu PR #7960 (head aa42590): 17 partition reviews all PASS with complete_diff true and no blocking findings, covering removal/externalization of Eureka registry. However aggregated CI status shows passed=false (legacy pending) with 10 checks complete. Cross-file build/test verification incomplete.
Evidence
- Frozen review attachment: 17 child partition reviews (part-0..part-16) all verdict PASS, complete_diff true, blocking_findings empty
- CI object: check_count=10, complete=true, passed=false, legacy_state='pending'
- global_complete_diff=true, head_sha=aa425906b97b7ada8ec96f8e44b149c09e0630fa, base_sha=d7e8282b44abe279f9a34602498342af0038976d
Recommended next steps
- Wait for CI checks to pass (or investigate failing checks)
- Verify external Eureka repository migration and version alignment
- Confirm no lingering shenyu-registry-eureka references in remaining build files
Scope: captured diff and GitHub check metadata only; no local tests were executed.
Task: 379491cb-7b45-43e0-af42-83364a37ea48 · Commit: aa425906b97b7ada8ec96f8e44b149c09e0630fa
Review verdict: INCONCLUSIVE
Scope is FINAL synthesis. All child partitions passed with complete diff and no HIGH/CRITICAL findings. Policy requires all_parts_passed true, complete_diff true, and CI passed for a FINAL PASS. The provided CI status indicates passed=false (legacy pending) though complete. Thus cross-file correctness via build/test is unverified; evidence incomplete for PASS. No anchored defects exist to force NEEDS_CHANGES. Therefore verdict is INCONCLUSIVE.
Publication: COMMENT (INCONCLUSIVE_REVIEW)
Review details
All partition diffs reviewed cleanly and the full diff is accounted for, but CI checks have not passed (status pending/failed). Without green CI we cannot certify cross-module compatibility. Recommend waiting for CI and confirming the external Eureka repo migration before merge.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #7960 +/- ##
=============================================
+ Coverage 61.49% 71.86% +10.36%
- Complexity 8818 18210 +9392
=============================================
Files 1261 1772 +511
Lines 39273 68618 +29345
Branches 3725 8034 +4309
=============================================
+ Hits 24151 49309 +25158
- Misses 12952 15165 +2213
- Partials 2170 4144 +1974
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
|
Pushed 31d90ba to fix the master-selection error-counter test race from CI run 42014162549. The mock latch is released before the scheduler records the exception; the assertion now waits for the observable count. Local Java 21 Admin-reactor verify passed all 9 selected tests and 36 Checkstyle/RAT executions. Fresh CI has started. This test-only fix does not establish that the previous Spring Cloud no-healthy-upstream failure (https://github.com/apache/shenyu/actions/runs/42014163635/job/127231304995) or E2E dependency-resolution failure (https://github.com/apache/shenyu/actions/runs/42014162627/job/127230389006) is resolved. The description records those remaining checks and retains external publication/rollback gates. Please re-review when the current-head checks complete. |
|
The current-head Spring Cloud IT failure is now diagnosed: https://github.com/apache/shenyu/actions/runs/42217134157/job/127891812451 . Admin logs show The companion receiver apache/shenyu-plugin-store#32 is still awaiting approval for both Build (https://github.com/apache/shenyu-plugin-store/actions/runs/39596356283) and Eureka provider lifecycle (https://github.com/apache/shenyu-plugin-store/actions/runs/39596356314). Please approve those workflows so the receiving implementation can be validated. To complete this cutover, the Spring Cloud IT/E2E Admin deployment needs the compatible external provider and its runtime dependencies, while the default core distribution remains without the in-tree provider. Existing publication, coordinate-ownership and rollback gates still apply; adding retries would not fix this deployment. |
Refs #7596. Receiving extension: apache/shenyu-plugin-store#32.
Move the Eureka registry implementation and its starter to the receiving repository, remove core's default implementation/SDK dependency, and preserve the eureka type, factory, enum/SQL and generic Spring Cloud server-fixture contracts. Examples explicitly select the external artifact. The migration guide covers installation, coordinate ownership and rollback.
Synchronized with master 92d16c2, preserving current release notes and unrelated licensing updates. The default Admin and Bootstrap runtime inventories contain no com.netflix.eureka implementation after the cutover.
Fresh Java 17 validation: the affected Admin/Bootstrap reactor packages with main/test compilation and Checkstyle; 14 registry/SPI/classpath tests and 7 dependency-boundary script tests pass. Verify includes RAT, and a separate root RAT check passes. Previously recorded receiving-extension process evidence remains in the linked PR; it is not a new deployment result for this synchronization.
Ready for formal code review. Merge/release still requires receiving-extension approval, passing deployment CI, compatible published artifacts with one owner per Maven coordinate, and announced release/rollback versions. Local snapshots are not publication. The local Docker Linux engine could not start, so fresh Docker deployment validation is not claimed. #7596 remains open until the coordinated cutover is complete.
CI follow-up (2026-11-06): commit 31d90ba fixes the testSelectMasterErrorCountTracking race from CI run 42014162549. The mock latch is released before the scheduler records the exception, so the test now waits for the observable error count. Fresh Java 21 Admin-reactor verify passed all 9 selected tests and 36 Checkstyle/RAT executions. Hosted main CI run 42217134181 now passes (31 successful jobs and 1 skipped). The remaining Spring Cloud deployment blocker is diagnosed below.
Current-head Spring Cloud IT and E2E fail because the Admin test image lacks the external Eureka SPI provider. In IT run 42217134157/job 127891812451, the backend registers successfully with Eureka, then Admin logs
No registry implementation found for registerType 'eureka'and the gateway has no healthy upstream. E2E run 42217134212 reproduces the same missing-provider exception for websocket, http and zookeeper sync (jobs 127894618720, 127894618889 and 127894618906). The test deployment must explicitly install a compatible external provider and its runtime dependency closure. A readiness retry does not solve this missing dependency.The receiver PR apache/shenyu-plugin-store#32 still has Build (42223170441) and Eureka provider lifecycle (42223170442) workflows awaiting maintainer approval. Passing deployed IT/E2E, receiver approval, compatible publication and announced rollback remain required before merge. The current E2E run reaches the tests; the three Spring Cloud failures above are the actionable deployment blocker.
Current-core receiver validation (2026-11-06): apache/shenyu-plugin-store#32 commit be07c121085f219f46578515156e7a0bb20befdf now pins its workflow to this exact core head (31d90ba, 2.7.3-SNAPSHOT). Fresh local OpenJDK 21/Linux validation passed all 7 receiver unit/SPI/starter tests, 1 real Eureka lifecycle test and 13 complete Admin/gateway process checkpoints. The selected 163-module core reactor builds with Checkstyle/RAT (tests compiled, execution skipped), and default Admin/bootstrap classpaths have no Eureka provider or Netflix Eureka dependencies before installing the external closure. The committed receiver result records the source pair and JAR digest. This establishes local process compatibility with this head; it does not change the failed Docker IT/E2E result or waive external-provider installation, workflow approval, publication and rollback gates.