shfshihuafeng commented on PR #3056:
URL: https://github.com/apache/drill/pull/3056#issuecomment-5264339435
> Thanks for this. I started the review and have a few questions:
>
> 1. Can we move the ranger code to the `contrib/` folder?
> 2. What is the user experience when they are denied access to something?
> 3. Drill supports table aliasing. Is that handled here?
1. Can we move the ranger code to the `contrib/` folder?
I'd recommend keeping the current structure
The Ranger integration differs from typical contrib/ modules (storage/format
plugins) in three ways: (1) it requires hooks in core classes
(DrillCalciteCatalogReader, ColumnAccessChecker, SqlConverter); (2) it needs an
isolated classloader with special distribution packaging
(ranger-drill-plugin-impl/ directory, component.xml excludes, drill-config.sh
classpath additions) to resolve the Jersey 2.35 vs 3.1.9 conflict; (3) it has a
sub-module (drill-ranger-service) that runs on the Ranger Admin JVM, not the
Drillbit. The AccessAuthorizer interface, RangerAccessAuthorizer shim, and
DrillRangerPluginClassLoader must remain in exec/java-exec because core code
references them directly. Moving drill-ranger-plugin and drill-ranger-service
to contrib/ranger/ is mechanically possible but would split the integration
across two top-level directories without simplifying the distribution packaging.
3. Drill supports table aliasing. Is that handled here?
Yes, table aliasing is handled transparently — no special code is needed
--
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]