Skip to content

feat(sync) status refresh scheduler#767

Merged
Sotatek-HenryDo merged 2 commits into
developfrom
feat/sync-status-refresh-scheduler
Jul 13, 2026
Merged

feat(sync) status refresh scheduler#767
Sotatek-HenryDo merged 2 commits into
developfrom
feat/sync-status-refresh-scheduler

Conversation

@Sotatek-HenryDo

Copy link
Copy Markdown
Collaborator

No description provided.

@github-actions

Copy link
Copy Markdown
Contributor

✅ Preprod Tests: PASSED

📊 View Detailed Test Report

🔗 Action Run #414

Tests run against preprod network with live blockchain data

@matiwinnetou matiwinnetou changed the title Feat/sync status refresh scheduler feat(sync) status refresh scheduler Jul 10, 2026
@Sotatek-HenryDo
Sotatek-HenryDo merged commit 990564b into develop Jul 13, 2026
3 of 4 checks passed
@Sotatek-HenryDo
Sotatek-HenryDo deleted the feat/sync-status-refresh-scheduler branch July 13, 2026 08:44
Sotatek-HenryDo added a commit that referenced this pull request Jul 16, 2026
Reverts:
- 2cb7b1f fix: block data endpoints when indexer is syncing (#758)
- e95fb74 feat: add 5s cache for sync status verification (#761)
- 990564b feat(sync) status refresh scheduler (#767)

These introduced verifySyncStatus() gating on /account/balance,
/account/coins, and /search, later backed by a periodic @scheduled
background refresh sharing the Hikari connection pool with request
traffic. Under load, a transient DB timeout in the scheduled refresh
gets swallowed by PostgreSQLIndexCreationMonitor's defensive
exception handling and poisons the single shared cached status for
up to 10s, causing a step-function error spike across all gated
endpoints (e.g. 37.51% error rate on /account/balance at concurrency
24, 87.78% on /account/coins at concurrency 44).

This revert isolates the legacy stability test from that regression
to confirm the root cause before deciding on a permanent fix.
matiwinnetou added a commit that referenced this pull request Jul 22, 2026
## Summary

**2.3.0 is a maintenance release** for the 2.x line. It merges `develop`
into `main`, rolling up bug fixes, dependency upgrades, and
tooling/infra improvements. No hard-fork or breaking API changes are
expected in this release.

## Included in this release (merged to `develop`)

- #721 — chore: migrate to JDK 25 LTS and update dependencies
- #729 — fix: group MultiAsset entries by policyId before merging in
token bundle parsing
- #735 — fix: payloads endpoint validate min-ADA value during
transaction construction
- #738 — UTXO size (`max_val_size`) validation for payload endpoints
- #746 — feat: replace 'apply indexes' with a native solution (removes
the `index-applier` sidecar; yaci-indexer now manages DB indexes
natively)
- #751 — fix(token-registry): convert CIP-26 logo from hex to base64
before returning
- #752 — fix(search-service): reject lovelace as currency symbol in
`/search/transactions`
- #756 — fix: update `TOKEN_REGISTRY_BASE_URL`
- #760 — fix: wait for indexer to be ready and fallback status on devkit
(integration tests)
- #762 — fix: drop empty account identifier from operations
- #765 — chore: bump yaci-store to 2.0.2.1
- chore: bump version to 2.3.0 (`pom.xml` revision, `RELEASE_VERSION`
env files, Helm `releaseVersion`, docs, golden examples)
- chore: polish native index management config and docs (`989354037` —
5-min retry delay default, `INDEX_*` propagation in docker-compose,
docs)

## Merged and subsequently reverted (no net effect in 2.3.0)

The following sync-status changes were merged to `develop` but reverted
by #773 and are **not** part of this release's behavior:

- #758 — fix: block data endpoints when indexer is syncing
- #761 — feat: add 5s cache for sync status verification
- #767 — feat(sync): status refresh scheduler
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