sodonnel commented on pull request #2927: URL: https://github.com/apache/ozone/pull/2927#issuecomment-998071466
I've got a general question on this, and we may have covered this before, but I cannot remember the details. The client gets a bucket object, via `Volume.getBucket()`. This call loads the bucket details from the server and this will include any replication defaults set against the bucket. Then when we create a key, this bucket setting is passed from the client to the `openKey()` call or the client can pass a key level override, in which case the replication config from the bucket is not passed back to the server. I was looking on the server side code, and **I think** it will just use whatever ReplicationConfig is passed from the client. What if one user creates a bucket object and keeps it for a long time, creating key after key. Another user or admin, changes the bucket level replication config. Will the first client just keep creating keys with the old replication config until it gets a new bucket object? If that is the case, I am wondering we need need to pass several replicationConfig fields to the server - a key specific one, the client default setting and the bucket level one? That way, if we have only the bucket level one coming from the client, we can adjust it if the server side bucket setting is different from the client side bucket setting. If my understanding is correct, at the server side, I am not sure if we can tell if the passed replication config came from a key level config, bucket level, or the default replication from the configuration? -- 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]
