[ 
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]

Reply via email to