> >From a code perspective, I think it would behove us to implement a more >functional approach to command execution in order to ensure reference >counting, error handling, resource management are handled in a consistent >manner. I implemented such an approach in >com.cloud.utils.db.GlobalLock#executeWithLock where locking around a >particular operation is managed separately form the actual operation >being performed.
This one confused me: this is called from NfsSecondaryStorageResource which does not have access to the management server database. Since if you call the lock() function, it will try to access a db row.