diff --git a/src/backend/storage/buffer/bufmgr.c b/src/backend/storage/buffer/bufmgr.c new file mode 100644 index acec3bd..1c26555 *** a/src/backend/storage/buffer/bufmgr.c --- b/src/backend/storage/buffer/bufmgr.c *************** DropRelFileNodeBuffers(RelFileNodeBacken *** 2059,2064 **** --- 2059,2068 ---- { volatile BufferDesc *bufHdr = &BufferDescriptors[i]; + /* due to AccessExclusive lock, no tags should be mutating towards + * The rnode. They might be mutating away, so recheck after locking*/ + if (!RelFileNodeEquals(bufHdr->tag.rnode, rnode.node)) continue; + LockBufHdr(bufHdr); if (RelFileNodeEquals(bufHdr->tag.rnode, rnode.node) && (bufHdr->tag.forkNum == forkNum ||