steveloughran commented on pull request #2706: URL: https://github.com/apache/hadoop/pull/2706#issuecomment-879811892
Bad news I'm afraid: I've got an extra bit of work for this patch. The encryption option and key must be included in delegation tokens, so that encryption setting I have on my client is picked up and propagated to all workers in a launched job. We already do this for all the service side encryption options, by creating and serializing a EncryptionSecrets instance in the token. This class already supports passing S3-CSE information, so what is needed is to hook this up with CSE as well as SSE call - [ ] setEncryptionSecrets in FileSystem.initialize needs to build the secrets from the client side options, if active - [ ] bindAWSClient needs to set client side encryption options from any DT. you may want to add code in EncryptionSecretOperations to help - EncryptionSecrets MUST NOT use any AWS SDK call to avoid classloading issues. There's makes me think that the CSE binding/setup code needs to be merged with the SSE stuff a bit more # The encryption secrets built up in S3AFS.initialize() MUST use the client side secrets if set, so they are picked up by DTs # FileSystem.setEncryptionSecrets() should set the isCSEEnabled flag. # CSE-only ITest to call S3AFS.getEncryptionSecrets() & verify that all is good # See if ITestSessionDelegationInFileystem can pick up and propagate CSE options. -- 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]
