mirror of
https://github.com/postgres/postgres.git
synced 2025-04-29 13:56:47 +03:00
Make vacuum a bit more verbose to debug BF failure.
This is temporary. While possibly some more error checking / debugging in this path would be a good thing, it'll not look exactly like this. Discussion: https://postgr.es/m/20200816181604.l54m6kss5ntd6xow@alap3.anarazel.de
This commit is contained in:
parent
676a9c3cc4
commit
49967da65a
@ -6048,7 +6048,16 @@ FreezeMultiXactId(MultiXactId multi, uint16 t_infomask,
|
||||
TransactionIdIsInProgress(members[i].xid))
|
||||
{
|
||||
/* running locker cannot possibly be older than the cutoff */
|
||||
Assert(!TransactionIdPrecedes(members[i].xid, cutoff_xid));
|
||||
if (TransactionIdPrecedes(members[i].xid, cutoff_xid))
|
||||
{
|
||||
/* temporary on-bf debugging */
|
||||
elog(PANIC, "too old alive locker: multi: %u, member xid: %u, memb-current: %d, memb-progress: %d, cutoff: %u, cutoff-multi: %u, relfrozenxid: %u, relminmxid: %u",
|
||||
multi, members[i].xid,
|
||||
TransactionIdIsCurrentTransactionId(members[i].xid),
|
||||
TransactionIdIsInProgress(members[i].xid),
|
||||
cutoff_xid, cutoff_multi,
|
||||
relfrozenxid, relminmxid);
|
||||
}
|
||||
newmembers[nnewmembers++] = members[i];
|
||||
has_lockers = true;
|
||||
}
|
||||
|
@ -1350,7 +1350,14 @@ lazy_scan_heap(Relation onerel, VacuumParams *params, LVRelStats *vacrelstats,
|
||||
if (HeapTupleIsHotUpdated(&tuple) ||
|
||||
HeapTupleIsHeapOnly(&tuple) ||
|
||||
params->index_cleanup == VACOPT_TERNARY_DISABLED)
|
||||
{
|
||||
/* temporary on-bf debugging */
|
||||
elog(LOG, "treating dead HOT tuple (updated %d, heap only: %d, index cleanup: %d) as alive",
|
||||
HeapTupleIsHotUpdated(&tuple), HeapTupleIsHeapOnly(&tuple),
|
||||
params->index_cleanup == VACOPT_TERNARY_DISABLED);
|
||||
|
||||
nkeep += 1;
|
||||
}
|
||||
else
|
||||
tupgone = true; /* we can delete the tuple */
|
||||
all_visible = false;
|
||||
|
Loading…
x
Reference in New Issue
Block a user