[
https://issues.apache.org/jira/browse/HDFS-13443?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16710428#comment-16710428
]
Íñigo Goiri commented on HDFS-13443:
------------------------------------
[^HDFS-13443-014.patch] looks prety much it.
* {{RouterAdminServer}} we could extract
{{this.router.getSubclusterResolver()}} into a variable.
* {{RouterAdminServer#refreshMountTableEntries}} the big comment shouldn't be a
javadoc but a regular comment.
* The javadoc in {{MountTableRefresherService#routerClientsCache}} will
probably give issues with javadoc using {{>}}.
* {{MountTableRefresherService#getClientCacheCleaner}} shouldn't have a javadoc
but a regular comment inside. This would actually be a place to use a lambda
for runnable instead of a function.
* {{MountTableRefresherService#refresh}} could use {{else if}} instead of the
continue all the time. You could also put the variable and the add inside the
try and not having to do a continue in the catch.
* Not sure if {{MountTableRefresherService#invokeRefresh}} needs
{{allReqCompleted}} as inside of logResult you go through all the results. That
would also cleanup the code a little by keeping the try isolated.
* {{MountTableRefresherThread#adminAddress}} comment should be a javadoc {{/**
Admin server on which refreshed to be invoked. */}}.
* In {{Router}}, the log line for starting the service should start in capitals.
* Avoid the import change for VisibleForTesting in {{RouterHeartbeatService}};
avoid churn basically.
* {{testRouterClientConnectionExpiration}} after the waitFor, there is no need
to assert as the waitFor would already fail. We should use a lambda too.
* You could make {{clientCacheTime}} an integer an save the int cast.
> 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-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]