Skip to content

Incorrect default value for management.httpexchanges.recording.include in configuration metadata #49952

@dlwldnjs1009

Description

@dlwldnjs1009

The configuration metadata for management.httpexchanges.recording.include
declares a default value of ["request-headers", "response-headers", "errors"],
but the Include enum does not have an ERRORS constant and the actual default
set in code is TIME_TAKEN, REQUEST_HEADERS, and RESPONSE_HEADERS.

The metadata default value has two problems:

  • "errors" does not correspond to any Include enum constant
  • "time-taken" is missing despite being part of the actual default

This appears to be an old incorrect value from the earlier HTTP trace metadata
that was preserved through later property renames.

As a result, IDEs show errors as a valid default value, and users who
configure management.httpexchanges.recording.include=errors based on what the
metadata suggests may encounter an enum binding failure at startup.

Relevant locations:

  • module/spring-boot-actuator-autoconfigure/src/main/resources/META-INF/additional-spring-configuration-metadata.json
  • module/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/web/exchanges/Include.java

Spring Boot versions: current main branch and 3.5.x
I checked that the same metadata value and code default are present in both.

Metadata

Metadata

Labels

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions