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] [Created] (HDDS-4583) TableCache Refactor to fix issues in cleanup never policy

Bharat Viswanadham created HDDS-4583:
----------------------------------------

             Summary: 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: Bug
            Reporter: Bharat Viswanadham
            Assignee: Bharat Viswanadham


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