> We have analyzed the cause of the problem: The value of
> IndexScanDesc->xactStartedInRecovery is a key condition for determining
> whether an index item can be marked as DEAD. And it depends on
> CurrentTransactionState->startedInRecovery. However, PushTransaction does
> not assign a value to startedInRecovery when modifying
> CurrentTransactionState.
The attached patch has been verified to resolve the mentioned issue.