Wei-Chiu Chuang created HDDS-14443:
--------------------------------------
Summary: Documentation and Scripting Inconsistencies for Ozone
Environment Variables
Key: HDDS-14443
URL: https://issues.apache.org/jira/browse/HDDS-14443
Project: Apache Ozone
Issue Type: Bug
Components: Ozone CLI
Reporter: Wei-Chiu Chuang
Summary:
The environment variables used to configure and run Ozone are inconsistent
between the shell scripts (ozone, ozone-functions.sh) and the primary
documentation file for them, ozone-env.sh. This leads to user confusion,
makes configuration of certain components difficult, and leaves several useful
variables undocumented.
Description:
An analysis of the Ozone shell environment scripts has revealed several
discrepancies between what is documented and what is implemented.
1. Missing Component-Specific `_OPTS` Variables
The ozone-env.sh file only documents _OPTS variables for OM, SCM, and
DATANODE. However, the ozone script uses several others that are not mentioned,
leaving users no clear way to pass specific JVM options to these components.
The missing variables are:
* OZONE_S3G_OPTS
* OZONE_RECON_OPTS
* OZONE_ADMIN_OPTS
* OZONE_FREON_OPTS
* OZONE_FS_OPTS
* OZONE_SH_OPTS
* OZONE_DEBUG_OPTS
2. Inconsistent Handling for HTTPFS Gateway
The HTTPFS gateway (httpfs subcommand) is a notable exception to the
configuration pattern. It does not have a dedicated OZONE_HTTPFS_OPTS variable.
Its
specific Java properties are hard-coded directly into the OZONE_OPTS variable
within the ozone script, making it impossible to customize via a dedicated
environment variable.
3. Undocumented User-Configurable Variables
Several other useful variables are used in the scripts but are not mentioned
as configurable options in ozone-env.sh:
* OZONE_WORKER_NAMES: An alternative to OZONE_WORKERS for specifying worker
hosts as a string.
* OZONE_SERVER_OPTS: Provides a way to apply common JVM options to all
server components (daemons).
* OZONE_DAEMON_JSVC_EXTRA_OPTS: Allows passing extra arguments to jsvc when
running secure daemons.
* OZONE_LOGLEVEL: Allows for a simple override of the default log level.
4. Naming Inconsistency for Secure Logs
There is a direct conflict in variable naming for secure daemon logs:
* ozone-env.sh documents and comments out export OZONE_SECURE_LOG=....
* The scripts (ozone-functions.sh) actually read from OZONE_SECURE_LOG_DIR.
A user setting OZONE_SECURE_LOG as per the documentation would find that it
has no effect.
5. Unused Variables in `ozone-env.sh`
The ozone-env.sh file contains commented-out examples for variables that are
no longer used anywhere in the execution scripts, causing potential
confusion:
* OZONE_GC_SETTINGS
* OZONE_SECURE_IDENT_PRESERVE
Proposed Solution:
1. Add `OZONE_HTTPFS_OPTS` Support: Modify the ozone script to support an
OZONE_HTTPFS_OPTS variable for the httpfs subcommand, making its configuration
consistent with other daemons.
2. Update `ozone-env.sh` Documentation:
* Add commented-out entries and descriptions for all missing component
_OPTS variables (including the new OZONE_HTTPFS_OPTS).
* Add entries for the other useful undocumented variables
(OZONE_WORKER_NAMES, OZONE_SERVER_OPTS, etc.).
* Correct the secure log variable from OZONE_SECURE_LOG to
OZONE_SECURE_LOG_DIR.
* Remove the unused variables (OZONE_GC_SETTINGS,
OZONE_SECURE_IDENT_PRESERVE).
Impact:
Resolving these inconsistencies will significantly improve the user
experience for operators and developers. It will make the system easier to
understand,
configure, and troubleshoot by aligning the documentation with the actual
behavior of the software.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]