xBis7 opened a new pull request, #5540:
URL: https://github.com/apache/hadoop/pull/5540
<!--
Thanks for sending a pull request!
1. If this is your first time, please read our contributor guidelines:
https://cwiki.apache.org/confluence/display/HADOOP/How+To+Contribute
2. Make sure your PR title starts with JIRA issue id, e.g.,
'HADOOP-17799. Your PR title ...'.
-->
### Description of PR
This patch will help up solve a FairCallQueue impersonation issue we have on
the Apache Ozone project.
<strong> The issue: </strong> On Ozone the FairCallQueue doesn't work when
used with the Ozone S3G. The OzoneManager and the S3G are using a single
permanent connection for communication, which is hiding all S3G client users
under a special S3G user. For every request that comes through the S3G,
`getUserGroupInformation()` from the Schedulable returns the special `s3g`
user. Therefore, there is no impersonation and the FairCallQueue is ineffective.
We would like to expose the `CallerContext` field from the `Call` class and
use that to carry the information needed by the `IdentityProvider`. On Ozone,
we will set the correct information on the `CallerContext` before issuing the
request and then provide an `IdentityProvider` implementation which will access
the new `CallerContext` getter and use it to return the username to
`makeIdentity()`.
Here is a draft patch on Ozone side that utilizes these changes:
https://github.com/apache/ozone/pull/4116
### How was this patch tested?
No new tests were added for this patch as it doesn't make any functional
changes but only exposing existing data. It was tested on Ozone side.
Here is a gist with steps and information on how the FairCallQueue was
tested using this patch and an `OzoneIdentityProvider` impl:
https://gist.github.com/xBis7/b8247986e718417a4b48320eab6efeda
### For code changes:
- [x] Does the title or this PR starts with the corresponding JIRA issue id
(e.g. 'HADOOP-17799. Your PR title ...')?
- [ ] Object storage: have the integration tests been executed and the
endpoint declared according to the connector-specific documentation?
- [ ] If adding new dependencies to the code, are these dependencies
licensed in a way that is compatible for inclusion under [ASF
2.0](http://www.apache.org/legal/resolved.html#category-a)?
- [ ] If applicable, have you updated the `LICENSE`, `LICENSE-binary`,
`NOTICE-binary` files?
--
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]