Skip to content

FIX: Restore service list in host hover menus (CMK-35933)#449

Open
loocars wants to merge 1 commit into
masterfrom
cmk-35933-host-hover-services
Open

FIX: Restore service list in host hover menus (CMK-35933)#449
loocars wants to merge 1 commit into
masterfrom
cmk-35933-host-hover-services

Conversation

@loocars

@loocars loocars commented Jun 22, 2026

Copy link
Copy Markdown
Collaborator

Problem

After the fix for #437 (lazy group member loading), hovering over a host object on a NagVis map no longer lists its services — only the general host
information is shown. This regressed between 2.4.0p26 and 2.4.0p30.

Root cause

The #437 fix changed NagVisMap and NagVisMapObj::queueState to always queue member states with DONT_GET_SINGLE_MEMBER_STATES. That is correct for
host-/servicegroups, whose members are now loaded lazily on demand via the getObjectMembers endpoint — they expose num_members (derived from aStateCounts)
so the frontend can trigger the lazy fetch.

Host objects (and also dyngroups, aggregates and submaps) have no num_members fallback, so with DONT_GET_SINGLE_MEMBER_STATES their members were never
loaded, num_members stayed 0, and the frontend (ElementHover.js / NagVisStatefulObject.fetchMembers) never triggered the lazy fetch — leaving the hover
menu without any services.

Fix

NagVisMapObj::queueState now restores eager member-detail loading on viewed maps for all object types except host-/servicegroups, which keep their lazy
loading. Gadgets stay eager as before. This keeps the memory optimization from #437 intact while bringing back the host service hover (and the member lists for
dyngroups, aggregates and submaps).

The fix for #437 changed NagVisMap and NagVisMapObj::queueState to always
queue member states with DONT_GET_SINGLE_MEMBER_STATES. That is correct for
host-/servicegroups, whose members are now loaded lazily on demand via the
getObjectMembers endpoint (they expose num_members derived from aStateCounts
so the frontend can trigger the lazy fetch).

Host objects (and also dyngroups, aggregates and submaps) have no num_members
fallback, so with DONT_GET_SINGLE_MEMBER_STATES their members were never
loaded, num_members stayed 0, and the frontend never triggered the lazy fetch,
leaving the hover menu without any services.

Restore eager member-detail loading for viewed maps for all object types
except host-/servicegroups, which keep their lazy loading. Gadgets stay
eager as before. This keeps the memory optimization from #437 intact while
bringing back the host service hover.

CMK-35933
@loocars loocars requested a review from LarsMichelsen June 22, 2026 10:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants