Behavioral Changes

You can review the changes in certain features or functionalities of Cloudera Manager that have resulted in a change in behavior from the previously released version to this version of Cloudera Manager 7.13.3.

Cloudera Manager 7.13.3 introduces functional adjustments, behavioral updates, and includes all cumulative hotfixes from 7.13.2.100 through 7.13.2.20000. For a comprehensive record of all functional adjustments in Cloudera Manager 7.13.2.x, see Behavioral Changes 7.13.2.x.

Cloudera Manager 7.13.3.0

Summary: Cloudera Manager updates the health threshold and visibility for skipping the INVALIDATE METADATA step during Hive external table replication

Starting in Cloudera Manager 7.13.3.0, Cloudera Manager updates how it evaluates Impala Daemon health when deciding whether to execute the INVALIDATE METADATA step during Hive external table replication with Replication Manager. Previously, Cloudera Manager skipped this step whenever an Impala Daemon reported any warning, even when the daemon remained operational. This behavior caused out-of-synchronization Impala metadata and occurred without explanatory status updates or log messages.

To prevent unnecessary skips while maintaining cluster stability, Cloudera Manager introduces the Impala Health Threshold For Skipping Invalidate Metadata parameter. The default threshold is now less strict (Red), which allows metadata invalidation to run when daemons report minor warnings. Additionally, Cloudera Manager now logs the specific reason whenever it skips this step and displays the cause on the command details page.

Previous behavior:

In Cloudera Manager versions earlier than 7.13.3.0, during Hive external table replication with Replication Manager, Cloudera Manager skipped the INVALIDATE METADATA step if any health check on the destination Impala Daemons generated a warning status or worse. Cloudera Manager skipped the step silently without recording the reason in the command execution history or the Cloudera Manager server logs.

New behavior:

Starting in Cloudera Manager 7.13.3.0, the new Impala Health Threshold For Skipping Invalidate Metadata configuration parameter controls when the INVALIDATE METADATA step runs.

The parameter supports the following values:
  • Red: (Default) Cloudera Manager skips the step only if an Impala Daemon reports a bad or critical health state. Health check warnings do not prevent the step from running.

  • Yellow: Cloudera Manager skips the step if an Impala Daemon reports any warning or critical health state. This option preserves the previous behavior.

  • None: Cloudera Manager always runs the step regardless of the Impala Daemon health state.

When Cloudera Manager skips the INVALIDATE METADATA step, it adds an explanatory message to the command execution details and records the reason in the Cloudera Manager server log.

Summary: Cloudera Manager upgrades the internal logging framework to Apache Log4j 2

In Cloudera Manager 7.13.3.0, the logging framework transitions from Reload4J (a Log4j 1 fork) to Apache Log4j 2. Cloudera Manager continues to utilize Simple Logging Facade for Java (SLF4J) for log routing but replaces the active configuration file path and format. Existing custom logging configurations do not migrate automatically to the new Log4j 2 file format. If you customized logging settings in prior versions, you must manually apply those changes to the new configuration file.

Previous behavior:

In Cloudera Manager 7.13.2 and earlier releases, Cloudera Manager used Reload4J (a fork of Log4J version 1) for system logging and internal communications. This framework triggered false-positive vulnerability reports in automated security scanning tools. Cloudera Manager read logging properties from the /etc/cloudera-scm-server/log4j.properties file.

New behavior:
Cloudera Manager no longer packages or uses Reload4J. Cloudera Manager now uses Apache Log4j 2 for internal communications and system logging:
  • Cloudera Manager now reads logging configurations from the /etc/cloudera-scm-server/log4j2.properties file.

  • Cloudera Manager ignores the previous /etc/cloudera-scm-server/log4j.properties file.

Summary: Cloudera Manager validates the location argument in addCustomCerts requests against the configured CMCA storage mode

Cloudera Manager now validates the location parameter in addCustomCerts API requests against the inferred Cloudera Manager Certificate Authority (CMCA) storage mode (derived from the HOST_CERT_GENERATOR setting) before issuing the command. Invalid requests fail immediately with an HTTP 400 error (IllegalArgumentException), and Cloudera Manager does not create or persist a database command. You can bypass this validation by setting the new optional parameter disableLocationValidation to true.

Previous behavior:

Previously, Cloudera Manager did not validate the location parameter against HOST_CERT_GENERATOR or inferred CMCA storage mode before issuing addCustomCerts. The API accepted the request, persisted the command, and showed it under Recent Commands.

At command execution, Cloudera Manager resolved location as follows:
  • Non-empty location: Used the supplied path directly. Cloudera Manager did not compare it to the configured CMCA directory or to database-backed storage.
  • Omitted or blank location:
    • If there was no ROOT CA certificate in the Auto-TLS certificate database, Cloudera Manager used the legacy default filesystem path /var/lib/cloudera-scm-server/certmanager.
    • If a ROOT CA certificate existed in that database, Cloudera Manager extracted the CMCA archive from the database into a temporary directory, ran certmanager there, and (on success) persisted updated host certificates back to the database. This path did not use HOST_CERT_GENERATOR to locate an on-disk CMCA tree.

If callers supplied an incorrect location, the command failed asynchronously during execution with generic errors or stack traces instead of rejecting the request at submission time.

New behavior:

By default (disableLocationValidation: false), Cloudera Manager validates the location argument against the inferred CMCA storage mode before assembling command steps:

  • Filesystem-backed CMCA: When HOST_CERT_GENERATOR ends with /generate_host_cert, you must pass a location argument that matches the parent CMCA directory (for example, if HOST_CERT_GENERATOR is /opt/cloudera/CMCA/generate_host_cert, pass "location": "/opt/cloudera/CMCA"). Cloudera Manager compares normalized paths. Requests fail with an HTTP 400 error if you omit location or if location does not match the configured CMCA directory.

  • Database-backed CMCA: When HOST_CERT_GENERATOR equals the temporary directory marker, you must omit the location parameter entirely. If you provide a location parameter, Cloudera Manager rejects the request with an HTTP 400 error.

  • Legacy or Non-standard Setups: When HOST_CERT_GENERATOR uses a pattern from which Cloudera Manager cannot infer the CMCA location, Cloudera Manager skips validation and retains the previous flexibility for passing or omitting location.

When validation fails, Cloudera Manager rejects the request before persisting the command, which prevents generating a command ID or displaying an entry under Recent Commands.

Summary: Cloudera Manager 7.13.3 removes legacy API endpoints for end-of-support CDH 3.x, 4.x, and 5.x releases. API requests to these endpoints now return HTTP 404 Not Found instead of HTTP 400 Bad Request or HTTP 410 Gone.
Previous behavior:
Cloudera Manager returned the following HTTP status codes when calling deprecated CDH 5 API endpoints:
  • POST /{serviceName}/commands/hbaseUpgrade → HTTP 400 Bad Request

  • POST /{serviceName}/commands/impalaEnableLlamaRm → HTTP 410 Gone

  • POST /{serviceName}/commands/impalaDisableLlamaRm → HTTP 410 Gone

  • POST /{serviceName}/commands/impalaEnableLlamaHa → HTTP 410 Gone

  • POST /{serviceName}/commands/impalaDisableLlamaHa → HTTP 410 Gone

New behavior:
Cloudera Manager returns an HTTP 404 Not Found status code for all requests to these unsupported API endpoints:
  • POST /{serviceName}/commands/hbaseUpgrade → HTTP 404 Not Found

  • POST /{serviceName}/commands/impalaEnableLlamaRm → HTTP 404 Not Found

  • POST /{serviceName}/commands/impalaDisableLlamaRm → HTTP 404 Not Found

  • POST /{serviceName}/commands/impalaEnableLlamaHa → HTTP 404 Not Found

  • POST /{serviceName}/commands/impalaDisableLlamaHa → HTTP 404 Not Found