Skip to content

v7 improvment#2764

Merged
simonredfern merged 3 commits intoOpenBankProject:developfrom
constantine2nd:develop
Apr 21, 2026
Merged

v7 improvment#2764
simonredfern merged 3 commits intoOpenBankProject:developfrom
constantine2nd:develop

Conversation

@constantine2nd
Copy link
Copy Markdown
Contributor

  1. v7→v6 fallback with X-OBP-Version-Served header
    Unmigrated /obp/v7.0.0/... paths that no http4s handler claims are transparently rewritten to /obp/v6.0.0/... by the Lift bridge. The response carries
    X-OBP-Version-Served: v6.0.0 so load testers can observe when fallback fired. Fallback version is configurable via http4s.v700.fallback.version prop.

  1. Lazy JDBC connection acquisition
    withBusinessDBTransaction no longer borrows a Hikari connection upfront. Instead it installs a Deferred-backed once-only acquisition IO into
    RequestScopeConnection.requestLazyAcquire. The connection is borrowed only on the first actual DB call (fromFuture → ensureProxy → acquireOnce).
    REST/SOAP-only endpoints never touch the pool.

  1. 504 timeout using long_endpoint_timeout prop
    ResourceDocMiddleware wraps every endpoint in IO.timeoutTo(endpointTimeoutMs.millis, ...). The timeout value comes from
    Constant.longEndpointTimeoutInMillis, which is the same long_endpoint_timeout prop that drives FutureUtil.defaultTimeout in v6 — one setting controls
    both stacks. Default is 55 s. A timed-out request returns 504 with a JSON error body.

…— REST/SOAP-only endpoints never touch the pool
   long_endpoint_timeout prop (default 55 s, same as v6)
@sonarqubecloud
Copy link
Copy Markdown

@simonredfern simonredfern merged commit e39e13e into OpenBankProject:develop Apr 21, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants