dibyendumajumdar/simpledbm

BufferManager page replacement logic is faulty

Closed this issue · 3 comments

Currently, there is a chance that the LRU page selected for eviction is not the 
right one, as a 
preference is given to pages that aren't dirty.
Correct behavior would be to evict the LRU page, and if it is dirty, write it 
to disk prior to eviction. 
This used to be the behavior before the change was made to ensure that all page 
writes are 
performed by the BufferWriter thread.
Some other enhancements are possible:
Use condition to wait for IO to complete rather than the pause/retry logic 
currently employed.

Original issue reported on code.google.com by d.majum...@gmail.com on 21 Sep 2008 at 3:21

Fixed in svn.

Original comment by d.majum...@gmail.com on 9 Nov 2008 at 12:41

Original comment by d.majum...@gmail.com on 27 Dec 2008 at 9:48

  • Changed state: Started
Fixed in 1.0.12-BETA

Original comment by d.majum...@gmail.com on 7 Apr 2009 at 9:42

  • Changed state: Fixed