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]

Reply via email to