Re: Locking in Pegasus
2010-04-07 23:23:43 GMT
To: "Dodgson, David S" <David.Dodgson <at> unisys.com>; "pegasus-l <at> openpegasus.org" <pegasus-l <at> openpegasus.org>
Sent: Wed, April 7, 2010 3:01:35 PM
Subject: RE: Locking in Pegasus
I think the lock you are referring to is in the CIM_DiskDrive provider, not the Pegasus CIM Server itself. You may want to consult with the provider vendor.
From: Dodgson, David S [mailto:David.Dodgson <at> unisys.com]
Sent: Wednesday, April 07, 2010 2:54 PM
To: pegasus-l <at> openpegasus.org
Subject: Locking in Pegasus
I have a service that runs on my provider system and monitors the state of my devices. It calls Pegasus locally through CIM Client to make updates when needed. At the same time, an SMI client running on a separate system might connect to perform a management function on one of my devices.
It appears that Pegasus is setting a lock when the function request arrives from the client. This blocks the service when it tries to make its updates. Furthermore, it appears that this lock is on the entire class, not just an individual instance. For example, if the function is called for one disk (RequestStateChange in CIM_DiskDrive), the service is blocked from making changes on any disk drive. Is this correct?
I sometimes run into deadlock situations. This seems to occur because the service reserves the device to make its updates and then calls Pegasus and gets blocked on the lock; while the SMI client calls the management function through Pegasus, sets the lock, but then can't perform the function because the device is reserved. Eventually the function call times out.
Is there some way to monitor the state of the lock to see if it is already set? Or, is there some way to have a call return an error immediately rather than blocking? If so, I would have my service release the device and retry later. If not, could someone point me to where the lock is set so I could at least see what's happening?
Thanks in advance for any information.
David Dodgson Unisys Corp.
david.dodgson <at> unisys.com
THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY MATERIAL and is thus for use only by the intended recipient. If you received this in error, please contact the sender and delete the e-mail and its attachments from all computers.