This document contains official content from the BMC Software Knowledge Base. It is automatically updated when the knowledge article is modified.
BMC Client Management
Any version of BCM
There are a lot of "queue full" warnings in the logs of a parent (master or relay). How to check if it has too many children?
It might be because this parent has too many children.
This query allows you to list how many devices there are directly connected under the master (relays and children of these relays not included):
select count(DeviceName) from bcmdbuser.devices where ParentiD in (select DeviceID from bcmdbuser.Devices where Topologytype='_DB_DEVTYPE_MASTER_') and Topologytype='_DB_DEVTYPE_CLIENT_';
This query provides a larger overview and will list every relay which has children under, and the number of children:
select p.DeviceName, p.topologytype, p.OperatingSystemName, count(d.DeviceID)
from bcmdbuser.devices as d,
bcmdbuser.devices as p
where d.parentid=p.deviceid and
(select DeviceID from bcmdbuser.Devices where Topologytype='_DB_DEVTYPE_MASTER_')
OR d.Parentid IN (select DeviceID from bcmdbuser.Devices where Topologytype='_DB_DEVTYPE_RELAY_'))
Group By p.DeviceName, p.topologytype, p.OperatingSystemName;
It might be interesting to edit it and create a query that will only list relays that have more than 2000 children when running windows/ more than 5000 when running windows.
Note that if this query will show what is currently connected, it doesn't show devices which could be trying to become children of one of the relays in the list, but logs will...
Another step will be to check how big is its asynchronousactions.sqlite3 and what type of entries it contains the most. This would require another KB article.
If the current relays have an acceptable number of children, the issue might be that it doesn't manage timeouts properly. The settings suggested in this KA should help manage this better: Client Management: How to limit "Queue Full" messages on DMZ Relays with dedicated parameters