The GitHub Actions job "CI" on rocketmq-dashboard.git/fix/settings-datasource-cache-scope-v2 has failed. Run started by GitHub user zjncs (triggered by zjncs).
Head commit for run: d556b9ecd762b6f2d4376f9e5b328276f352d641 / Zhao Jianing <[email protected]> fix(settings): stop caching the parameterized data-source query The @Cacheable(DATA_SOURCE_CACHE) on the parameterised, paginated listDataSources overload contradicts the cache's documented scope. SettingsService.java:211-222 documents the cache as a cache of the FULL list; CacheConfig.java:50-51 backs it with a bare ConcurrentMapCacheManager (no TTL, no size bound, no eviction); and GET /api/settings/datasources/page is not in AuthInterceptor.isAdminOnlyGetPath, so any authenticated reader can pin one permanent PageResult per distinct search term — each metric tab's search box is a slow memory leak with no upper bound. The overload keeps its validation and repository call; it simply stops participating in the cache. The full-list cache (the documented scope, served once per eviction generation) is untouched, and every write path still evicts it via allEntries. The regression test runs inside a real application context that registers the production CacheConfig: the control proves the full-list cache works (repository hit exactly once), the failing case sends 50 distinct searches and asserts zero permanent entries. Mutated back (@Cacheable restored on the overload), the bound test reddens with 50 entries. Resubmission of #5606 against the rocketmq-studio branch per review, with the review feedback applied: test method names end with Test, trailing newlines verified, severity framing corrected (the cached DataSourceVO carries no credential fields — the argument is the unbounded heap alone), and @Configuration/@Bean imported rather than fully qualified. Signed-off-by: zjncs <[email protected]> Report URL: https://github.com/apache/rocketmq-dashboard/actions/runs/37909868337 With regards, GitHub Actions via GitBox
