[ 
https://issues.apache.org/jira/browse/HDFS-13443?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16720971#comment-16720971
 ] 

Yiqun Lin edited comment on HDFS-13443 at 12/14/18 6:10 AM:
------------------------------------------------------------

{quote}After expireAfterWrite time cache entries are marked removed but 
actually not removed. Scheduler is added to forcefully remove entries after 
expiry time so that connection can be closed.
{quote}
Expired entries can not only be removed by manually calling cleanup function 
but also can be evicted on each cache modification, on occasional cache 
accesses . Please see the javadoc of {{CacheBuilder}}.
{quote}If expireAfterWrite or expireAfterAccess is requested entries may be 
evicted on each cache modification, on occasional cache accesses, or on calls 
to Cache.cleanUp. Expired entries may be counted in Cache.size, but will never 
be visible to read or write operations.
{quote}
So this will be a delayed-removal.


was (Author: linyiqun):
{quote}After expireAfterWrite time cache entries are marked removed but 
actually not removed. Scheduler is added to forcefully remove entries after 
expiry time so that connection can be closed.
{quote}
Expired entries can not only be removed by manually calling cleanup function 
but also can be evicted on each cache modification, on occasional cache 
accesses . Please see the javadoc of {{CacheBuilder}}.
{quote}If expireAfterWrite or expireAfterAccess is requested entries may be 
evicted on each cache modification, on occasional cache accesses, or on calls 
to Cache.cleanUp. Expired entries may be counted in Cache.size, but will never 
be visible to read or write operations.
{quote}

> RBF: Update mount table cache immediately after changing (add/update/remove) 
> mount table entries.
> -------------------------------------------------------------------------------------------------
>
>                 Key: HDFS-13443
>                 URL: https://issues.apache.org/jira/browse/HDFS-13443
>             Project: Hadoop HDFS
>          Issue Type: Sub-task
>          Components: fs
>            Reporter: Mohammad Arshad
>            Assignee: Mohammad Arshad
>            Priority: Major
>              Labels: RBF
>         Attachments: HDFS-13443-012.patch, HDFS-13443-013.patch, 
> HDFS-13443-014.patch, HDFS-13443-015.patch, HDFS-13443-016.patch, 
> HDFS-13443-017.patch, HDFS-13443-HDFS-13891-001.patch, 
> HDFS-13443-branch-2.001.patch, HDFS-13443-branch-2.002.patch, 
> HDFS-13443.001.patch, HDFS-13443.002.patch, HDFS-13443.003.patch, 
> HDFS-13443.004.patch, HDFS-13443.005.patch, HDFS-13443.006.patch, 
> HDFS-13443.007.patch, HDFS-13443.008.patch, HDFS-13443.009.patch, 
> HDFS-13443.010.patch, HDFS-13443.011.patch
>
>
> Currently mount table cache is updated periodically, by default cache is 
> updated every minute. After change in mount table, user operations may still 
> use old mount table. This is bit wrong.
> To update mount table cache, maybe we can do following
>  * *Add refresh API in MountTableManager which will update mount table cache.*
>  * *When there is a change in mount table entries, router admin server can 
> update its cache and ask other routers to update their cache*. For example if 
> there are three routers R1,R2,R3 in a cluster then add mount table entry API, 
> at admin server side, will perform following sequence of action
>  ## user submit add mount table entry request on R1
>  ## R1 adds the mount table entry in state store
>  ## R1 call refresh API on R2
>  ## R1 calls refresh API on R3
>  ## R1 directly freshest its cache
>  ## Add mount table entry response send back to user.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to