fix(config): apply aliases after ConfigData - #245
Merged
github-actions[bot] merged 5 commits intoAug 10, 2026
Conversation
Contributor
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (6)
📝 WalkthroughWalkthroughCDC와 ETL 모듈의 환경 별칭 후처리기 실행 순서를 Changes환경 별칭 처리
Estimated code review effort: 2 (Simple) | ~10 minutes 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches 💡 1🛠️ Fix failing CI checks 💡
📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
seonghobae
marked this pull request as ready for review
August 10, 2026 15:48
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Purpose
Preserve the documented dual-read configuration contract at the real Spring Boot ConfigData startup boundary:
mightyetl.*is preferred and mirrored to legacyxtrmetl.*, while legacy-only values remain visible under the modern namespace.Spring Boot 3.5.16 loads
EnvironmentPostProcessorimplementations fromMETA-INF/spring.factories, andConfigDataEnvironmentPostProcessor.ORDERdefines the point at which file-backed ConfigData becomes available. The former mightyETL processor order was exactly equal to that ConfigData order, so it had no explicit happens-after relationship to application configuration.Primary framework evidence:
ConfigDataEnvironmentPostProcessor: https://docs.spring.io/spring-boot/3.5/api/java/org/springframework/boot/context/config/ConfigDataEnvironmentPostProcessor.htmlExact identities and TDD evidence
fix/config-alias-after-config-data-622e5e6develop@622e5e6c3d534f230c390f10e3832efadfc01825develop@c2511f6b9d716ef9ab8de60a91fffd826714a4c56d40912102edbae26a5907b0ea2fd4bbe51a7b8c9f53a34dfc4e8e36306da596fa77fba5899b46d5RED
Real
SpringApplicationtests load temporary file-backedapplication.propertiescontaining conflicting modern/legacy values and require the synthetic alias property source to exist and the modern value to win. On the test-first head, hosted CI failed at that production startup boundary because the alias property source was absent.Remedy 1 — registration
6ca6ae881ba95c42952f5cd2bffc621c54735845registered the ETL and CDC processors through each module'sMETA-INF/spring.factories. The same real startup test remained RED. That falsified registration as the sole cause and isolated the remaining ordering boundary.Remedy 2 — deterministic ordering
6d40912102edbae26a5907b0ea2fd4bbe51a7b8corders both processors atConfigDataEnvironmentPostProcessor.ORDER + 1, establishing an explicit happens-after relationship without copying a framework magic number.Hosted CI on the current live-base synthetic integration revision is GREEN for the behavioral change:
Remaining gates — no merge yet
This PR is not represented as protected-integration ready yet:
Security Scanis RED because Trivy reports the inheritedjackson-databindfindings already owned by the dedicated Jackson baseline work in PR fix(security): move Jackson to fixed 2.21.5 baseline #160; this branch does not alter Jackson or either affected POM and must not race that writer.0 classeswhile passing, so non-vacuous owned-production coverage is not established here; issue [Quality gate] Make JaCoCo fail closed when production class selection is empty #162 / PR fix(coverage): make JaCoCo production gate non-vacuous #164 own that shared coverage-control repair.APPROVEDreview on this exact head.No security, coverage, review or branch-protection gate is weakened by this PR. The remaining blockers are kept explicit so passing behavioral tests are not misrepresented as merge authority.
Summary by CodeRabbit
개선 사항
테스트