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