Avoid aborting based on PT entry without consulting clog.
High level theory of the issue if checkpoint happens after recording COMMIT to clog, xactHashTable won't know the status of the xact during recovery, since no REDO records corresponding to the same would be looked into. But its incorrect without consulting CLOG to ABORT the xact based on having CREATE_PENDING entry in PT. Hence should check CLOG to verify if it was COMMITTED. If we don't perform this check, the recovery would try to mark COMMITED Xact Aborted, seeing Create-Pending entry associated with the Xact and double fault. Do not have repro as wasn't able to find scenario in which this can happen, but was seen in field and hence better to add protection to avoid double fault.
Showing
想要评论请 注册 或 登录