[
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: [email protected]
For additional commands, e-mail: [email protected]