Skip to content

fix dep service version - #379

Merged
NekoLyn merged 1 commit into
mainfrom
bugfix/9838-fix-dep-service-version-cache
Nov 13, 2026
Merged

NekoLyn merged 1 commit into
mainfrom
bugfix/9838-fix-dep-service-version-cache

Conversation

@NekoLyn

@NekoLyn NekoLyn commented Nov 13, 2026

Copy link
Copy Markdown
Contributor

No description provided.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

The actuator configuration can reject dependency tasks under ordinary concurrent load, causing the intended tolerant endpoint to return an error for the whole dependency section.

1 open issue
What changed in this PR

Updates dependency-service version reporting so /manage/info fetches current service metadata on every request rather than returning cached values. The aggregation now performs concurrent, timeout-bounded fetches with partial-result handling.

Changes:

  • Removes InfoCache usage and fetches metadata per call from dependency services.
  • Adds concurrent Actuator dependency-info aggregation with timeout handling.
  • Expands tests for refreshes, failures, missing values, retries, and slow services.
File Description
server/​src/​test/​java/​au/​org/​aodn/​ogcapi/​server/​core/​service/​ApplicationInfoTest.java Tests uncached application metadata retrieval, retries, and detection of updated service versions.
server/​src/​test/​java/​au/​org/​aodn/​ogcapi/​server/​core/​configuration/​ActuatorConfigInfoTest.java Tests dependency aggregation, refreshes, failures, missing values, and timeout behavior.
server/​src/​main/​java/​au/​org/​aodn/​ogcapi/​server/​core/​service/​indexer/​EsIndexer.java Updates indexer metadata retrieval to fetch current application information on each call.
server/​src/​main/​java/​au/​org/​aodn/​ogcapi/​server/​core/​service/​geonetwork/​Geonetwork.java Updates GeoNetwork metadata retrieval to fetch current application information on each call.
server/​src/​main/​java/​au/​org/​aodn/​ogcapi/​server/​core/​service/​dda/​DdaService.java Updates DDA metadata retrieval to fetch current application information on each call.
server/​src/​main/​java/​au/​org/​aodn/​ogcapi/​server/​core/​service/​das/​DasService.java Updates DAS metadata retrieval to fetch current application information on each call.
server/​src/​main/​java/​au/​org/​aodn/​ogcapi/​server/​core/​service/​ApplicationInfo.java Replaces cached metadata access with per-call application information retrieval.
server/​src/​main/​java/​au/​org/​aodn/​ogcapi/​server/​core/​configuration/​ActuatorConfig.java Adds concurrent, timeout-bounded dependency metadata aggregation for the management information endpoint.

Review effort: Lite

Comment on lines +53 to +55
protected static final ExecutorService INFO_EXECUTOR = new ThreadPoolExecutor(
0, 16, 60L, TimeUnit.SECONDS,
new SynchronousQueue<>(),

@weited weited left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@NekoLyn
NekoLyn merged commit 7b9b41d into main Nov 13, 2026
5 checks passed
@NekoLyn
NekoLyn deleted the bugfix/9838-fix-dep-service-version-cache branch November 13, 2026 02:45

This branch was successfully deployed

1 active deployment
test — 4c0a7f1e Deployed Nov 13, 2026 by NekoLyn via build_test #905
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.

3 participants