[
https://issues.apache.org/jira/browse/HDDS-14443?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Chi-Hsuan Huang reassigned HDDS-14443:
--------------------------------------
Assignee: Chi-Hsuan Huang
> 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
> Assignee: Chi-Hsuan Huang
> Priority: Major
>
> 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]