Galaxy platform seed matches 0 platforms: $WinPlatform and $AppEngine sent as one AND-ed TemplateChainContains filter #864

Closed
opened 2026-11-11 12:14:09 -05:00 by dohertj2 · 1 comment
Owner

Found by the #614 read-only live run against the DEV Galaxy on VD03 (2026-11-11). It has 3 deployed $WinPlatforms and 2 deployed $AppEngines.

Browse/GatewayGalaxyPlatformSource.cs puts both $WinPlatform and $AppEngine into one TemplateChainContains request. The shared GalaxyHierarchyProjector.MatchesFilters requires an object to match every filter, so no object qualifies. The live log shows probe watcher seeded with 0 platform(s) (initialize) on every run.

Effect: in production nothing else runs Discover on a live driver, so per-platform host status (the /hosts page and ScanState probes) is always empty. This has been the case since 3456756c (2026-10-22).

GatewayGalaxyPlatformSourceTests assert that both templates go into every request, using a fake that ignores filters, so the tests lock the bug in.

Fix: one request per template, or filter on category ids instead. The tests need a filter-honouring fake. Live re-check on VD03 is read-only.

Found by the #614 read-only live run against the DEV Galaxy on VD03 (2026-11-11). It has 3 deployed `$WinPlatform`s and 2 deployed `$AppEngine`s. `Browse/GatewayGalaxyPlatformSource.cs` puts both `$WinPlatform` and `$AppEngine` into **one** `TemplateChainContains` request. The shared `GalaxyHierarchyProjector.MatchesFilters` requires an object to match **every** filter, so no object qualifies. The live log shows `probe watcher seeded with 0 platform(s) (initialize)` on every run. **Effect:** in production nothing else runs Discover on a live driver, so per-platform host status (the `/hosts` page and ScanState probes) is always empty. This has been the case since `3456756c` (2026-10-22). `GatewayGalaxyPlatformSourceTests` assert that both templates go into every request, using a fake that ignores filters, so the tests lock the bug in. **Fix:** one request per template, or filter on category ids instead. The tests need a filter-honouring fake. Live re-check on VD03 is read-only.
dohertj2 added the priority:p2type:bug labels 2026-11-11 12:14:09 -05:00
Author
Owner

Done. The platform seed sends one request per template. Live, read-only on VD03: init seeded 5 platforms. Pushed to master in e857135e..7a27ef1f; full suite green (20 projects, 0 failures, 0 warnings).

Done. The platform seed sends one request per template. Live, read-only on VD03: init seeded 5 platforms. Pushed to master in `e857135e..7a27ef1f`; full suite green (20 projects, 0 failures, 0 warnings).
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: dohertj2/lmxopcua#864