-
由 xiong-gang 提交于
Entry DB process share snapshot with QD process, but it didn't update the TransactionXmin. The assert in SubTransGetData() will fail in some cases: Assert(TransactionIdFollowsOrEquals(xid, TransactionXmin)); 1.QD takes a snapshot which contains a in-progress transaction A. 2.Transaction A commits. 3.QD creates a gang of entry DB. The entry DB process takes a snapshot in InitPostgres and updates TransactionXmin. 4.The entry DB process scans the tuple inserted by the transaction A, and find it's in the snapshot but its xid is larger than TransactionXmin.
6b7aa068