On 14.04.2024 21:16, Maksim Milyutin wrote:

On 07.04.2024 02:07, Thomas Munro wrote:

So this is the version I plan to commit.

+bool
+EvictUnpinnedBuffer(Buffer buf)
+{
...
+    /* This will return false if it becomes dirty or someone else pins it. */
+    result = InvalidateVictimBuffer(desc);
+
+    UnpinBuffer(desc);
+
+    return result;
+}


Hi, Thomas!

Should not we call at the end the StrategyFreeBuffer() function to add target buffer to freelist and not miss it after invalidation?


Hello everyone!

Please take a look at this issue, current implementation of EvictUnpinnedBuffer() IMO is erroneous - evicted buffers are lost permanently and will not be reused again

--
Best regards,
Maksim Milyutin

Reply via email to