hpcc-systems/HPCC-Platform — pull request #5459 by jakesmith (2014-03-07 11:57:52+00:00)
Title: HPCC-10698 - Avoid deadlock if retrying lock on superfiles

The transaction retry mechanism, clears all tracked files,
including the superfiles that the transaction was based on.
If there's a timeout during lock, the (nasty)
locking mechanism frees the lock on the super only, but retains
the lock on the subs.
When the retry mechanism, retries, because it's lost track of
the previously looked up super, it looks it up again and now
has two sets of locks to the subfiles, which it will never be
able to get exclusive locks to.

This fix, ensures that the supers that started the transaction
mechanism are not cleared, so that the retry mechanism will
reuse the same instances.

Signed-off-by: Jake Smith