[ https://issues.apache.org/jira/browse/HDFS-13443?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16463660#comment-16463660 ]
Yiqun Lin commented on HDFS-13443: ---------------------------------- Some review comments from me (reviewed based on v007 patch): Majors: * Refresh API won't not make sense for all the State Store, right? For example, if we use local file as the State Store, Refresh operation should only do in local Router and no need to invoke remote Routers. * We need to cover more test cases : # The test case for the behavior of updating cache timeout. # The test case for the behavior of RouterRpcClient connection expiration. # {{TestRouterAdminCLI#testRefreshMountTableCache}} can be completed more, like {{TestRouterMountTableCacheRefresh}} did. Minors: * For more readability, can we rename {{LocalRouterMountTableRefresh}} to {{LocalRouterMountTableRefresher}}, {{RemoteRouterMountTableRefresh}} to {{RemoteRouterMountTableRefresher}}. *MountTableRefreshService.java* * Line62: {{local}} update to {{Local}}. * Line71: Can we add comment the mapping entry <String, RouterClient>? * Line91: Can we use {{NetUtils.getHostPortString}} to replace {{StateStoreUtils.getHostPortString}}? * Line162: We may need to trigger {{router.getRouterStateManager().loadCache(true)}} before getting RouterState records. * Line221: This error msg seems too simple. * Line247: {{succesCount={},failureCount=}} update to {{succesCount={},failureCount={}}}. One more suggestion: why not add metrics instead of counter in this class? *MountTableRefreshThread.java* * Line51: It's will be better to print the exception thrown here. *RouterHeartbeatService.java* Line98: Can we use {{NetUtils.getHostPortString}} here? > 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-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 > > > 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: hdfs-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org