Kimahriman commented on PR #7754: URL: https://github.com/apache/hadoop/pull/7754#issuecomment-4355030070
> Thanks @Kimahriman for your contribution. > > Make sense to me. > > Maybe you can split this MR to two MRs: > > 1. The first MR correct EC checks for ObserverRead > 2. The second MR correct EC checks for safeMode, since I saw that some other methods missed safemode check, such as: getFileInfo. Maybe you can sort out all related cases and fix them together. The two cases are kind of linked, as the bug I am fixing is when an observer node is in safemode. It seems like there's maybe some inconsistencies but I'm not sure what the "correct" behavior is. Seems like there are four methods and two cases where this matters: - `getBatchedListing(..., needLocation=true)`/`getBlockLocations`: Only returns a valid response in safemode if there are enough replicas to satisfy the request. This could be from an active or observer node. - `getFileInfo(..., needLocation=true)`/`getListing(..., needLocation=true)`: Only returns a valid response from observer an observer if there are enough replicas to satisfy the request, whether in safemode or not. If an active is in safemode, will always return the response because I guess the downside of the second bullet is there may be an observer node that has more correct/up to date info than an active in safemode, so it would be better to return an error in that case instead of returning the best thing it can -- 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]
