Repository navigation
Make declarative config parsing and mapping pluggable - #8983
Conversation
Add parser and mapper SPIs, and move the Jackson 2 mapper into an optional adapter module. Signed-off-by: Ashish Thakur <ashishth@redhat.com>
Signed-off-by: Ashish Thakur <ashishth@redhat.com>
Pull request dashboard statusMerged · refreshed 2026-11-13 01:38 UTC Status above doesn't look right?
|
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #8983 +/- ##
============================================
- Coverage 90.46% 90.43% -0.04%
- Complexity 11152 11170 +18
============================================
Files 1028 1032 +4
Lines 30382 30451 +69
Branches 3966 3974 +8
============================================
+ Hits 27486 27537 +51
- Misses 1922 1936 +14
- Partials 974 978 +4 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
Signed-off-by: Ashish Thakur <ashishth@redhat.com>
jack-berg
left a comment
There was a problem hiding this comment.
This is pretty close to the shape I imagined. Couple of things to think through tho.
Thanks @jack-berg , will take care of the things suggested. |
Signed-off-by: Ashish Thakur <ashishth@redhat.com>
Signed-off-by: Ashish Thakur <ashishth@redhat.com>
Signed-off-by: Ashish Thakur <ashishth@redhat.com>
Signed-off-by: Ashish Thakur <ashishth@redhat.com>
Signed-off-by: Ashish Thakur <ashishth@redhat.com>
This comment has been minimized.
This comment has been minimized.
|
/dashboard route:reviewers |
|
@ash-thakur-rh, this pull request was routed to reviewers. The handoff remains active across pushes until newer actionable human feedback arrives. Top-level feedback through this request will not return; unresolved review threads remain open. |
| Logger.getLogger(DeclarativeConfigProviderLoader.class.getName()); | ||
|
|
||
| private static final ComponentLoader COMPONENT_LOADER = | ||
| ComponentLoader.forClassLoader(DeclarativeConfigProperties.class.getClassLoader()); |
There was a problem hiding this comment.
We need to find a way for ComponentLoader to be a part of the contract and passed through from the caller. Every time we've loaded SPIs previously using a convenient class loader available to us, we eventually get an issue opened where someone needs that class loader to be configurable. That's why you see setComponentLoader style methods everywhere.
This is going to be disruptive for ExtensionPropertyUtil, which calls DeclarativeConfigurationMapper, and maybe the contracts in DeclarativeConfiguration itself since the parse operation currently doesn't have any overload which includes a ComponentLoader. If it proves too disruptive, let's skip and open an issue to followup.
There was a problem hiding this comment.
agree, I will open a followup issue after this PR is merged
Signed-off-by: Ashish Thakur <ashishth@redhat.com>
Signed-off-by: Ashish Thakur <ashishth@redhat.com>
Signed-off-by: Ashish Thakur <ashishth@redhat.com>
|
Hi @jack-berg , took care of all the review comments. Pls have a look. Thanks! |
|
/dashboard route:reviewers |
|
@ash-thakur-rh, this pull request was routed to reviewers. The handoff remains active across pushes until newer actionable human feedback arrives. Top-level feedback through this request will not return; unresolved review threads remain open. |
…y-java into features/fe-config-spi
…y-java into features/fe-config-spi
|
Thank you for your contribution @ash-thakur-rh! 🎉 We would like to hear from you about your experience contributing to OpenTelemetry by taking a few minutes to fill out this survey. |
Description:
Closes #8820