errose28 commented on code in PR #3508:
URL: https://github.com/apache/ozone/pull/3508#discussion_r904239925
##########
hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/protocolPB/OzoneManagerProtocolServerSideTranslatorPB.java:
##########
@@ -135,7 +141,9 @@ public OMResponse submitRequest(RpcController controller,
OMRequest request) throws ServiceException {
OMRequest validatedRequest;
try {
- validatedRequest = requestValidations.validateRequest(request);
+ OMRequest requestWithBucketId = associateBucketIdWithRequest(request);
Review Comment:
> but the issue is that we don't have validators for all kinds of requests.
Ah ok this jogged my memory. This type of race actually causes two different
issues:
1. An old client could mistakenly reach an FSO bucket because the validator
read stale bucket layout info when admitting the request.
2. The type Ratis request (FSO or OBS specific) could mismatch the actual
type of the bucket when the request is applied.
For issue 1, the requests will have request validators blocking client
requests. In these validators we can add the bucket ID to the request.
For issue 2, the requests must go through the
`BucketLayoutAwareOMKeyRequestFactory`. In this class's `createRequest` method,
we could add the bucket ID to the request before we call `getBucketLayout`.
Does this seem like a workable solution?
--
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]