commit e1fd67d7fc5889dad4ae1ecaed7c8a53b0df8c5a
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Wed Oct 20 10:52:56 2021 -0500

    fix(tx): Fix cascading livelock caused by cancelling a transaction.

    Cancelling a transaction was causing a cascading livelock by waiting
    forever for a channel close that would never happen.  This would cause
    the transaction in-flight semaphore to permanently lose a token, which
    would in turn cause a mass cascade of semaphore wait timeouts the next
    time something requested an exclusive lock on the datastore.  Resolve
    the issue by not waiting on the transaction channel if the transaction
    is being cancelled.

M   datastack/stack.go
M   transact/tx.go

End of Note