Skip to content

Conversation

@paul-rogers
Copy link
Contributor

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.

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
Copy link
Contributor

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.

Copy link
Contributor Author

@paul-rogers paul-rogers Jul 21, 2016

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.

@sudheeshkatkam
Copy link
Contributor

+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.

@sudheeshkatkam
Copy link
Contributor

Forgot to add, thank you for the extensive comments and rework :)

@paul-rogers
Copy link
Contributor Author

Thanks for the review. Glad the comments were helpful.

@paul-rogers
Copy link
Contributor Author

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.

@asfgit asfgit closed this in 1f3c74d Jul 23, 2016
paul-rogers pushed a commit to paul-rogers/drill that referenced this pull request Jul 28, 2016
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
ashevchuk123 pushed a commit to mapr/incubator-drill that referenced this pull request Oct 28, 2025
* 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;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants