-
Notifications
You must be signed in to change notification settings - Fork 990
DRILL-8548: Integrate Apache Ranger authorization for Drill #3056
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -365,6 +365,11 @@ export DRILLBIT_LOG_PATH="${DRILL_LOG_PREFIX}.log" | |
| # Add Drill conf folder at the beginning of the classpath | ||
| CP="$DRILL_CONF_DIR" | ||
|
|
||
| # Add Ranger config directory if it exists (for ranger-drill-security.xml etc.) | ||
| if [ -d "$DRILL_CONF_DIR/ranger" ]; then | ||
| CP="$CP:$DRILL_CONF_DIR/ranger" | ||
| fi | ||
|
Comment on lines
+368
to
+371
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Guarding on directory existence is the right instinct, so this is harmless in practice — but it does prepend to Two small things:
|
||
|
|
||
| # If both user and YARN-provided Java lib paths exist, | ||
| # combine them. | ||
|
|
||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These distribution changes are unconditional, for a feature that defaults to
enabled: false.Between this dependency block and the
copy-ranger-plugin-isolated-depsexecution below, every Drill tarball now carries Ranger 2.8.0 plus a complete second JAX-RS stack:jersey-client,jersey-common,jersey-server,jersey-hk2,jersey-media-json-jackson,jersey-entity-filtering(2.35),hk2-api/hk2-locator/hk2-utils,aopalliance-repackaged,osgi-resource-locator, and thejavax.*JAX-RS/annotation/inject APIs — alongside the Jersey 3.1.9 that Drill's own REST server uses.Two costs, both borne by every user regardless of whether they run Ranger:
Please put the whole thing behind a Maven profile (
-Pranger, off by default), covering the dependency, thedependency-pluginexecution, and the correspondingcomponent.xmldependency sets. Operators who want Ranger opt in at build time; everyone else gets the current distribution unchanged.The dual-Jersey coexistence via
RangerPluginClassLoaderis genuinely nice work and I don't think it's wrong — I'd just rather not ship both stacks to people who aren't using either one.