fix(backend): exclude SentryAutoConfiguration — Spring Boot 4/SF7 bean name incompatibility
Some checks failed
CI / Unit & Component Tests (pull_request) Successful in 6m26s
CI / OCR Service Tests (pull_request) Successful in 43s
CI / fail2ban Regex (pull_request) Has been cancelled
CI / Compose Bucket Idempotency (pull_request) Has been cancelled
CI / Backend Unit Tests (pull_request) Has been cancelled
Some checks failed
CI / Unit & Component Tests (pull_request) Successful in 6m26s
CI / OCR Service Tests (pull_request) Successful in 43s
CI / fail2ban Regex (pull_request) Has been cancelled
CI / Compose Bucket Idempotency (pull_request) Has been cancelled
CI / Backend Unit Tests (pull_request) Has been cancelled
SentryAutoConfiguration$HubConfiguration$SentrySpanRestClientConfiguration is a triply- nested @Configuration class conditionally loaded when RestClient is on the classpath (always true on Spring Framework 7). Spring Framework 7's bean name generator fails on such deeply-nested @Import-ed classes, crashing every @SpringBootTest context. Replace the broken auto-configuration with a minimal SentryConfig bean that calls Sentry.init() with the same properties (DSN, environment, sample rate, PII guard, DomainException filter). Unexpected 5xx exceptions are forwarded to Sentry via Sentry.captureException() in GlobalExceptionHandler.handleGeneric(). Also add management.server.port=0 to application-test.yaml to eliminate TIME_WAIT conflicts from @DirtiesContext restarts on the fixed management port 8081 (see #593). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -13,6 +13,12 @@ spring:
|
||||
password: test
|
||||
mail:
|
||||
host: localhost
|
||||
autoconfigure:
|
||||
exclude:
|
||||
# SentryAutoConfiguration fails on Spring Boot 4/Spring Framework 7: Spring cannot generate a
|
||||
# bean name for the triply-nested SentryAutoConfiguration$HubConfiguration$SentrySpanRestClientConfiguration.
|
||||
# Sentry is wired manually via SentryConfig instead. See #580.
|
||||
- io.sentry.spring.boot.jakarta.SentryAutoConfiguration
|
||||
|
||||
# Disable OTel SDK entirely in tests — prevents auto-configuration from loading resource providers
|
||||
# (e.g. AzureAppServiceResourceProvider) that fail against the semconv version used here.
|
||||
|
||||
Reference in New Issue
Block a user