Skip to content

Failure analysis for InvalidConfigurationPropertyValueException doesn't correctly handle fuzzy matching of environment variables #43380

@wilkinsona

Description

@wilkinsona

For example, the property management.endpoints.enabled-by-default could be resolved from the environment variable MANAGEMENT_ENDPOINTS_ENABLED_BY_DEFAULT or the environment variable MANAGEMENT_ENDPOINTS_ENABLEDBYDEFAULT. In the former case, the failure analysis reports that the system environment is the origin. In the latter case, it doesn't report the origin as it fails to find the property.

This behavior is due to the failure analyzer filtering out the ConfigurationPropertySource that's attached to the environment. The fuzzy matching of environment variables happens with ConfigurationPropertySource so this is lost when it's filtered out. If the filtering is removed, things work for MANAGEMENT_ENDPOINTS_ENABLEDBYDEFAULT. Unfortunately, it creates a different problem with MANAGEMENT_ENDPOINTS_ENABLED_BY_DEFAULT as the property is then found twice – once in ConfigurationPropertySource's view of the system environment and once directly from the system environment property source.

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions