Heikki Linnakangas <[EMAIL PROTECTED]> writes: > My proposed fix is to make a copy of pendingOpsTable before entering the > loop. AbsorbFsyncRequest will put new requests to a fresh new > pendingOpsTable, while the mdsync loop will drain the copy. I'll write a > patch along those lines if there's no better ideas.
That sounds pretty ugly. Perhaps better is a "cycle ID" field added to the table entries, assigned from a counter that's bumped before entering the fsync loop. Then you could distinguish entries made before starting the loop from those made after. One fine point is to not let AbsorbFsyncRequest change the cycle ID on a pre-existing entry ... regards, tom lane ---------------------------(end of broadcast)--------------------------- TIP 6: explain analyze is your friend