-
Notifications
You must be signed in to change notification settings - Fork 986
Drill-4581: Extensive revisions to the Drill launch scripts. #547
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
Conversation
See DRILL-4581 and DRILL-4591 for an overview. See DRILL-4581 for a detailed list of bugs fixed. See DRILL-4591 for the motivation for the new "site" directory support. Changes support DRILL-1170 (Drill-on-YARN). Broad overview of changes: * Extended the existing "config" directory concept to create a "site" directory that holds all site-specific files, leaving the Drill directory ($DRILL_HOME) to contain only Drill-provided files. The site directory is handy for all Drill users because it eases upgrades, but is necessary to simplify Drill-on-YARN deployments. Use the --config (for backward compatibility) or --site (more descriptive) option to point to the site directory. * Moved distribution-specific settings, and Drill defaults, out of drill-env.sh. Now, drill-env.sh contains only user settings, avoiding the need to do multi-way merges on upgrades. Distribution-specific files now reside in a new $DRILL_HOME/conf/distrib-env.sh file. * Refactored the launch scripts to allow the bulk of setup to be shared between the "classic" Drill deamon script (drillbit.sh) and the new Drill-on-YARN scripts. * Added a new "run" option to drillbit.sh to allow Drill to run as a child process as needed by tools such as Mesos. * Changes ensure backward compatibility. Users of earlier releases can upgrade to the release with this fix without doing anything special. Drill will "just work." However, users can optionally clean up the drill-env.sh script, optionally use the site directory, and so on. Hoever these upgrades are not required.
| fatal_error "Drill config file not readable: $testFile - Wrong user?" | ||
| fi | ||
|
|
||
| # Set Drill-provided defaults here. Do not put Drill defaults |
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.
Please add this "Do not ..." comment at the top as well; I know it is stated, but not as is here.
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.
Glad to do so, but is it necessary? The comment at the top says:
# Variables may be set in one of four places:
#
# Environment (per run)
# drill-env.sh (per site)
# distrib-env.sh (per distribution)
# drill-config.sh (this file, Drill defaults)
Seems that the description of what goes into each file tells the tale. However, if the terse comments were unclear, I can certainly revise them to add a bit more background.
|
+1, pending addressing minor comments Looks like the changes in the external interface of the scripts are only enhancements, but I am not completely sure that if a user has made extensive changes to drill-env.sh file (I'd assume most users do not), that this patch will ensure backward compatibility. I suggest we add a note to the release notes for 1.8. |
|
Forgot to add, thank you for the extensive comments and rework :) |
|
Thanks for the review. Glad the comments were helpful. |
|
On the backward compabitility question... This is an important point. I checked with our Support folks about this topic. FWIW, they said that they don't know of anyone who has done more than the basic customization. Still, the release not suggestion is a good one. |
See DRILL-4581 and DRILL-4591 for an overview. See DRILL-4581 for a detailed list of bugs fixed. See DRILL-4591 for the motivation for the new "site" directory support. Changes support DRILL-1170 (Drill-on-YARN). Broad overview of changes: * Extended the existing "config" directory concept to create a "site" directory that holds all site-specific files, leaving the Drill directory ($DRILL_HOME) to contain only Drill-provided files. The site directory is handy for all Drill users because it eases upgrades, but is necessary to simplify Drill-on-YARN deployments. Use the --config (for backward compatibility) or --site (more descriptive) option to point to the site directory. * Moved distribution-specific settings, and Drill defaults, out of drill-env.sh. Now, drill-env.sh contains only user settings, avoiding the need to do multi-way merges on upgrades. Distribution-specific files now reside in a new $DRILL_HOME/conf/distrib-env.sh file. * Refactored the launch scripts to allow the bulk of setup to be shared between the "classic" Drill daemon script (drillbit.sh) and the new Drill-on-YARN scripts. * Added a new "run" option to drillbit.sh to allow Drill to run as a child process as needed by tools such as Apache Mesos. * Changes ensure backward compatibility. Users of earlier releases can upgrade to the release with this fix without doing anything special. Drill will "just work." However, users can optionally clean up the drill-env.sh script, optionally use the site directory, and so on. However these upgrades are not required. closes apache#547
* MD-6102 Updated sqlline to 1.9.0 * MD-6102 Сhanged connectInteractionMode to useNPTogetherOrEmpty and added algorithm to define which connectInteractionMode to choose depends on drill security status from config files;
See DRILL-4581 and DRILL-4591 for an overview.
See DRILL-4581 for a detailed list of bugs fixed.
See DRILL-4591 for the motivation for the new "site" directory support.
Changes support DRILL-1170 (Drill-on-YARN).
Broad overview of changes:
"site" directory that holds all site-specific files, leaving the
Drill directory ($DRILL_HOME) to contain only Drill-provided files.
The site directory is handy for all Drill users because it eases
upgrades, but is necessary to simplify Drill-on-YARN deployments.
Use the --config (for backward compatibility) or --site (more
descriptive) option to point to the site directory.
drill-env.sh. Now, drill-env.sh contains only user settings, avoiding
the need to do multi-way merges on upgrades. Distribution-specific
files now reside in a new $DRILL_HOME/conf/distrib-env.sh file.
between the "classic" Drill deamon script (drillbit.sh) and the new
Drill-on-YARN scripts.
child process as needed by tools such as Mesos.
upgrade to the release with this fix without doing anything special.
Drill will "just work." However, users can optionally clean up the
drill-env.sh script, optionally use the site directory, and so on.
Hoever these upgrades are not required.