I'm using Axis to access the Virtual Center 2.0.x web service, and I'm running into problems with large update sets being broken into multiple pieces. I've called WaitForUpdates with a spec that returns me information on all managed objects in the operational view. It works great, except for this issue.
An example likely illustrates best. When I move a host with no resource pools from a data center into a cluster, I receive a "remove" update for the root resource pool of the host, and a "modify" update for every VM on the host, containing the new resource pool for the VM. These changes come in two PropertyFilterUpdate sets - the first has the resource pool remove and about half the VM updates, and the second has the rest of the VM updates. This means that I can't keep a consistent model of what's happening on Virtual Center - after the first update, I've got a bunch of VMs that point to an invalid resource pool. This doesn't happen every time I do so - it happens far more frequently when the Virtual Center machine is under heavy load, or if there is a very large number of VMs.
Is this behaviour expected / is there any way to change it? If it's unchangeable, is there any way that I can tell that there's another piece of this update coming?
NB: When I first register my property filter, the initial update I receive always has all requested properties of all objects on the server, no matter the size of the inventory on the server.
Thanks,
Brian