For read-only complete commits, releasing and then re-acquiring locks is a performance issue.  Instead, hold lock through complete commit, until it is no longer needed.