MessageCommunication.ProvideCurrentStateResponse only returns device states from a single recording server

Hi,
I have a customer reporting that device states are not available for all devices in our Management Client plugin.

What I can see is that the customer has 6 recording servers with a number of devices on each. We call MessageCommunication.ProvideCurrentStateResponse to get the states for ALL devices on the system and then matches the ids to all the ids we found on the recording servers.

From the logs I can see that we can only match a partial number of the total device count, specifically the device count on the last recording server. E.g. the total device count on the recording servers is 843 and the last recording server has 35 of them. We only manages to match states for 35 devices. I cannot be sure it is a problem with the matching algorithm or the actual number states reported back.

Is this a known issue? Can the response from ProvideCurrentStateResponse be fragmented into several messages?

Version is 25 R2 Corporate. Thanks!

Can you reproduce the issue with the unmodified Status Viewer sample?

If the sample works as expected, compare it with your implementation and look for any differences

Absolutely, that sounds like an good idea. Just one thing, our implementation only monitors Hardware items so I will change this line in the sample code:

private Collection<Guid> _includeInDisplay = new Collection<Guid>(){ Kind.Server, Kind.Hardware };

Is this OK for the test?

As a first step, could you verify whether cameras from all recording servers are visible:

  1. In the UI
  2. In the result in ProvideCurrentStateResponseHandler

If the camera list contains devices from all recording servers in both places, then the sample is likely working as expected.

As a second test, what you suggest, it would be interesting to compare the behavior when displaying different item kinds: Hardware items.

Please let us know the outcome of those two tests.