simbadzina commented on PR #5142: URL: https://github.com/apache/hadoop/pull/5142#issuecomment-1319526622
> > @ZanderXu @tomscut could you please take a look whenever you get a chance. > > @simbadzina I did a quick review. The change looks good to me. I am curious about that what scenarios will use this feature without `msyc()`. Can you share me some cases? Thanks @ZanderXu . Third party readers issuing multiple reads will use msync if they want consistency, both before and after this path. The msync this flag eliminates is the one at the initialization of the ObserverReadProxyProvider here https://github.com/apache/hadoop/blob/trunk/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/server/namenode/ha/ObserverReadProxyProvider.java#L341-L348 Taking an example of a client just doing a list status. If the client is using ObserverReadProxyProvider. They'll be two calls. 1) msync (during initialization) 2) getListing (actual call the client wants to do) When the router gets the msync, it will fan this out to all namespace, which is expensive. With this patch, they'll only be one call. 1) getListing The router will send this call to the active. For future reads after this, there is no difference. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
