You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ozone.apache.org by "Bharat Viswanadham (Jira)" <ji...@apache.org> on 2020/12/12 01:39:00 UTC

[jira] [Updated] (HDDS-4583) TableCache Refactor to fix issues in cleanup never policy

     [ https://issues.apache.org/jira/browse/HDDS-4583?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Bharat Viswanadham updated HDDS-4583:
-------------------------------------
    Issue Type: Improvement  (was: Bug)

> TableCache Refactor to fix issues in cleanup never policy
> ---------------------------------------------------------
>
>                 Key: HDDS-4583
>                 URL: https://issues.apache.org/jira/browse/HDDS-4583
>             Project: Hadoop Distributed Data Store
>          Issue Type: Improvement
>            Reporter: Bharat Viswanadham
>            Assignee: Bharat Viswanadham
>            Priority: Major
>
> Right now we have 2 clean up policies.
> 1. Never
> 2. Manual
> Never = Full Table Cache
> Manual = Partial Table Cache
> In OM, the main purpose of Table cache is for correctness. (Because OM return response after adding to cache, does not wait for double buffer flush to complete)
> The current implementation has few problems.
> 1. Cleanup Policy Never uses ConcurrentSkipListMap, and its computeIfPresent is not atomic, so there can be a race condition between cleanup and requests adding to cache. (This might cause cleaning up entries which are not flushed to DB, and this can cause correctness issue)
> 2. Cleanup for override entries for full cache, never removes epoch entries.
> *Proposal:*
> 1. Make TableCache based on cache type and have separate implementation for full cache and partial cache.
> 2. Fix FullCache issue, using the lock.
> 3. Fix evict cache logic for full cache to cleanup epoch entries for override entries.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@ozone.apache.org
For additional commands, e-mail: issues-help@ozone.apache.org