Sunday, 8 February 2009

Bug: Race condition in ClusterSync mkdir and rmdir transactions

Due to race conditions (for example, processing cluster synchronisation transactions while a global server synchronisation is underway), it is possible for an {\tt mkdir} or {\tt rmdir} transaction to fail because the directory in question already exists or has already been removed. To avoid a possible loop retrying such transactions, I added tests for these cases which deem the transaction successful if its intended effect has already taken place.

No comments: