• X
    Fix assertion failure · 6b7aa068
    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
procarray.c 78.2 KB