Promote operation hangs due to mutex holding prior to trigger.



Promote operation hangs due to mutex holding prior to trigger, which prevent any further operations to complete. Once it hit the thread limit, the server becomes unresponsive.


If you setup a preop trigger that calls accurev ismember (which requires site mutex), and you execute two promotes at approx the same time a deadlock can occur.

Even without the trigger there is a potential for two promotes to deadlock because the site mutex is freed (allowing another command to acquire the lock) and then the initial promote will attempt to get site but cannot.

Promote requires site and db mutexes, and frees site before executing triggers (holds db). If another command fires at approx the same time that also requires site and db it will wait for the first promote to complete, the first promote cannot complete because it is waiting on its trigger to obtain site.

This is schedule to be fixed in 3.8.1 version.

For more information contact AccuRev Support.

Comment List