Skip to content

HIVE-30004: Standalone REST catalog: report health status without details - #6937

Open
henrib wants to merge 1 commit into
apache:masterfrom
henrib:HIVE-30004
Open

henrib wants to merge 1 commit into
apache:masterfrom
henrib:HIVE-30004

Conversation

@henrib

@henrib henrib commented Nov 2, 2026

Copy link
Copy Markdown
Contributor

What changes were proposed in this pull request?

  • HMSReadinessHealthIndicator reports only UP/DOWN. The HMS Thrift URIs, the warehouse
    location and the raw exception message are no longer included in the health response;
    failure causes are logged instead (message at WARN, stack trace at DEBUG).
  • application.yml: management.endpoint.health.show-details changes from always to
    never, and a comment documents management.server.port for serving the actuator
    endpoints on a separate port.

Why are the changes needed?

The health endpoint is used by Kubernetes probes, which only need the status. Server
configuration and error details do not belong in that response.

Does this PR introduce any user-facing change?

Yes. /actuator/health (and the liveness/readiness groups) of the standalone REST catalog
server return only the status, without a details/components breakdown. Probe behaviour
is unchanged. Details can be re-enabled with
-Dmanagement.endpoint.health.show-details=always, but the HMS indicator no longer
reports URIs, warehouse or error text.

How was this patch tested?

New TestHMSReadinessHealthIndicator: DOWN when Thrift URIs are not configured, DOWN when
HMS is unreachable, UP against a running HMS; each case asserts no details are returned.

🤖 Generated with Claude Code

…ails

- HMSReadinessHealthIndicator reports only UP/DOWN; the HMS URIs,
  warehouse location and error message are no longer included in the
  health response. Failure causes are logged.
- Set management.endpoint.health.show-details to never and document
  management.server.port for serving actuator endpoints on a separate
  port.
- Add TestHMSReadinessHealthIndicator.

Co-Authored-By: Claude <noreply@anthropic.com>
Copilot AI balanced review requested due to automatic review settings November 2, 2026 17:51

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 Approval recommended

No active review issues are reported for the change to status-only health responses.

No open issues 🎉

What changed in this PR

This PR makes the standalone REST catalog’s health responses status-only by default, keeping configuration and error details out of Kubernetes probe responses while preserving readiness checks.

Changes:

  • Removes HMS connection details and error text from health results; logs failure causes instead.
  • Disables actuator health details by default and documents the optional separate management port.
  • Adds tests for missing configuration, unreachable HMS, and reachable HMS, asserting status and empty details.
File Description
standalone-metastore/​metastore-rest-catalog/​src/​test/​java/​org/​apache/​iceberg/​rest/​standalone/​health/​TestHMSReadinessHealthIndicator.java Tests status-only results for three HMS connectivity scenarios.
standalone-metastore/​metastore-rest-catalog/​src/​main/​resources/​application.yml Hides health details and documents management-port configuration.
standalone-metastore/​metastore-rest-catalog/​src/​main/​java/​org/​apache/​iceberg/​rest/​standalone/​health/​HMSReadinessHealthIndicator.java Returns only health status and logs failure diagnostics.

Review effort: Balanced

@difin difin left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

+1

@sonarqubecloud

sonarqubecloud Bot commented Nov 3, 2026

Copy link
Copy Markdown

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants