[ 
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]

Reply via email to