fix(outbox): align shedlock to 7.6.0 (latent outboxLockProvider NoSuchMethodError) #26
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "fix/shedlock-7.6.0-align"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Align shedlock to 7.6.0 — fix latent outbox
outboxLockProviderNoSuchMethodErrorTL;DR:
READY-FOR-REVIEW.outbox-publisher pinned shedlock 6.0.2 but every consumer runs 7.6.0; the@ConditionalOnMissingBeanoutboxLockProviderfallback callsusingDbTime(), whose bytecode descriptor differs across that gap →NoSuchMethodErrorfor any outbox consumer without its ownLockProvider. Bumped to 7.6.0;mvn -pl outbox-publisher -am clean test→ 127 tests green.Summary
OutboxAutoConfiguration.outboxLockProvider(outbox-publisher/.../OutboxAutoConfiguration.java:241) — the fallbackLockProvider, activated only when the consuming service doesn't supply its own — builds aJdbcTemplateLockProviderwith.usingDbTime(), compiled against the pinnedshedlock.version=6.0.2. Consumers (verified via user-servicemvn dependency:tree) resolve shedlock 7.6.0.usingDbTime()'s descriptor changed between 6.0.2 and 7.6.0, so the 6.0.2-compiled fallbackNoSuchMethodErrors against the 7.6.0 runtime when activated.Latent because all current consumers provide their own
LockProvider(suppressing this@ConditionalOnMissingBean). Surfaced empirically during the user-service #372 investigation — gating user-service'sShedLockConfigoff unmasked the fallback → 191 context-load failures withNoSuchMethodError: usingDbTime.Fix
outbox-publisher/pom.xml:<shedlock.version>6.0.2 → 7.6.0 — recompiles the fallback (and all platform-libs shedlock usage) against the version consumers actually run. No consumer change needed; they already run 7.6.0 and pick up the fixed1.1.0-SNAPSHOT.Verification
mvn -o -pl outbox-publisher -am clean test→ BUILD SUCCESS, 127 tests, 0 failures, 0 warnings. test-compile clean vs 7.6.0;usingDbTime()resolves in 7.6.0 (user-service runs it in prod, unmodified).Follow-up (not in this PR)
platform-libs + consumers must keep shedlock in lockstep — a Maven enforcer
dependencyConvergencerule would guard against re-drift.Footer
im2be-platform-libs • shedlock 6.0.2→7.6.0 outbox-fallback fix •
fix/shedlock-7.6.0-align→main• surfaced by user-service #372hib-pr-reviewer review — PR #26 (affinity-intelligence-rework/im2be-platform-libs)
Round 1 — head
2d5acd4a0085, basemain, triggeropenedTL;DR: APPROVE — single shedlock version bump is correct and safe; one minor stale-comment follow-on deferred.
Summary
[quorum-converged] A=0 = B=0. # hib-pr-reviewer — round 1
Reviewing PR #26 in
affinity-intelligence-rework/im2be-platform-libs(head
2d5acd4, basemain).CI status (head
2d5acd4a0085)Overall: ⏳ pending
2 checks: 2 pending
Findings
No new findings this round.
Quorum converged on empty findings (A + B both returned 0).
Verdict
APPROVE
hib-pr-reviewer • round 1 • 0 findings • 2026-06-03T18:10:15.565Z → 2026-06-03T18:13:14.234Z • posted-as: pr-reviewer-bot • model: auto