Clone
Abdullah Alamoudi <bamousaa@gmail.com>
committed
on 03 Nov 17
[NO ISSUE][STO] Fix memory leaks in storage
- user model changes: no
- storage format changes: no
- interface changes: yes
- Added javadoc… Show more
[NO ISSUE][STO] Fix memory leaks in storage

- user model changes: no

- storage format changes: no

- interface changes: yes

 - Added javadocs to:

 -- IBufferCache

 -- IExtraPageBlockHelper

 - Moved IBufferCache.setPageDiskId -> ICachedPage.setDiskPageId

 - Renamed:

 -- IBufferCache.flushDirtyPage -> IBufferCache.flush

 -- IBufferCache.getNumPages -> IBufferCache.getPageBudget

 - Removed:

 -- IBufferCache.adviseWontNeed [not used]

 -- IBufferCache.tryPin [not used]

details:

- Previously, when adding a kv pair to the metadata of a memory

 component, we add a new Pair item to the ArrayList. After

 this change, we only update it if it exists.

- VirtualBufferCache used to leak pages when reclaiming pages

 of a file after deletion. This has also been fixed.

- New tests for VirtualBufferCache added:

 - Checks for memory budget after end of testDisjointPins

 - Concurrent Users pinning pages concurrently

 - Test for large pages and ensuring allocated large

   pages are accounted for through removal of cached

   free pages.

Change-Id: I4ae9736c9b5fdba5795245bdf835c023e3f73b15

Reviewed-on: https://asterix-gerrit.ics.uci.edu/2115

Tested-by: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Contrib: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Integration-Tests: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Reviewed-by: Murtadha Hubail <mhubail@apache.org>

Show less

master + 4 more