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]

Reply via email to