Understanding and Resolving the ER_LOCK_CONFLICT Error in Distributed Transactions