The second phase of a 2-phase commit. Implementations should ideally do very little work in this method (following .prepareCommit, and after it returns, the caller can assume that the changes were successfully committed to the underlying storage.