Currently deactivation process, started after transaction start or cache lock on key hangs waiting transaction end\ cache unlock. Closing transaction\unlocking the lock leads to excpetion when deactivation is in progress. It looks like 'deadlock'.
So, expected behaviour: starting deactivation should lead to excpetion if transaction is in progress or cache key is locked.
Exception should be thrown like in case when we start cache and transaction is in progress (see checkEmptyTransactions method). In new tests we should run transactions\lock in the same thread as deactivation started