[
https://issues.apache.org/jira/browse/HDFS-13443?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16720910#comment-16720910
]
Yiqun Lin edited comment on HDFS-13443 at 12/14/18 4:51 AM:
------------------------------------------------------------
Thanks [~arshad.mohammad] for updating the patch! Almost looks good to me.
minor comments:
{quote}+ } else {
+ LOG.warn("Service {} not enabled: depenendent services not enabled.",
+ MountTableRefresherService.class.getSimpleName());
+ }
{quote}
I prefer to log which depenendent service here like {{router admin service or
state store service is not enabled.}}
{quote}
+ /*
+ * When cleanUp() method is called, expired RouterClient will be removed
and
+ * closed.
+ */
+ clientCacheCleanerScheduler.scheduleWithFixedDelay(
+ () -> routerClientsCache.cleanUp(), routerClientMaxLiveTime,
+ routerClientMaxLiveTime, TimeUnit.MILLISECONDS);
{quote}
I don't think we really need a scheduler thread to clean up the expired router
client. This will be done inside LoadingCache since we have set
{{expireAfterWrite}} for this.
was (Author: linyiqun):
Thanks [~arshad.mohammad] for updating the patch! Almost looks good to me.
minor comments:
{quote}
+ } else {
+ LOG.warn("Service {} not enabled: depenendent services not enabled.",
+ MountTableRefresherService.class.getSimpleName());
+ }
{quote}
I prefer to log the which depenendent service here like {{router admin service
or state store service is not enabled.}}
> 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]