Critical Race Condition Fix - Conversion Webhooks
Important Stability Improvement: This release resolves a critical race condition in conversion path registration that was causing intermittent failures in provider packages.
Technical Details:
- Problem: A data race existed in the conversion.Convert method where multiple goroutines could simultaneously modify registered conversion paths during in-place sorting
- Impact: This race condition was observed in provider packages and could cause unexpected conversion webhook failures
- Solution: Fixed by creating a copy of registered conversion paths before performing in-place sorting, preventing concurrent modifications
This fix addresses reliability issues that users may have experienced with conversion webhooks, particularly in high-load environments or during rapid resource operations.
Additional Bug Fixes
- Panic Prevention: Fixed potential panic when ts.FrameworkProvider is nil (#500)
- Wildcard Conversion: Corrected wildcard expand behavior during resource conversion (#504)
- Connection Strings: Fixed incorrectly generated connection string maps (#506)
- External Names: Removed unnecessary ID validation for resources without ID fields (#507)
- State Management: Added custom state check configuration for Terraform Plugin Framework resources (#515)
What's Changed
- Validate that
ts.FrameworkProvideris not nil to avoid panic by @nikimanoledaki in #500 - Fix wildcard expand behavior when if the field path is not found during conversion by @sergenyalcin in #504
- Fix incorrectly generated connection string map by @sergenyalcin in #506
- remove id validation from setExternalName for resources without id field by @erhancagirici in #507
- Custom state check configuration for TF plugin framework resources by @sergenyalcin in #515
- [Backport release-1.10] Fix the race on the registered conversion paths in conversion.Convert by @ulucinar in #552
New Contributors
- @nikimanoledaki made their first contribution in #500
Full Changelog: v1.9.0...v1.10.0