Take into account that configuration properties can contain a dot in RunTimeConfigurationGenerator #26960
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Otherwise we sometimes get a bug where Quarkus would get to the wrong index
when parsing a configuration property, and would end up mistakenly
reporting missing configuration properties (in a really puzzling error
message...).
You can witness this bug in the test introduced in #26961 in particular. Essentially, any runtime property that contains a dot and has a
Map
parent will trigger the bug; in my case the property wasquarkus.hibernate-search-orm."namedpu".elasticsearch.version-check.enabled
(version-check.enabled
is a single property, not two, seeio.quarkus.hibernate.search.orm.elasticsearch.runtime.HibernateSearchElasticsearchRuntimeConfigPersistenceUnit.ElasticsearchBackendRuntimeConfig#versionCheck
).I initially thought "well, maybe I shouldn't be using dots in my property names", but then I checked, and we already do that all over the place (e.g.
metrics.enabled
,serializer-autodetection.enabled
,handler.console
,config.locations
, ...).I suspect this bug may have caused some configuration being ignored, but I'm not entirely sure.