Skip to content

Retry target setup reads without recreating targets - #3769

Merged
adamtheturtle merged 7 commits into
mainfrom
fix/3767-target-read-retries
Oct 26, 2026
Merged

adamtheturtle merged 7 commits into
mainfrom
fix/3767-target-read-retries

Conversation

@adamtheturtle

@adamtheturtle adamtheturtle commented Oct 16, 2026 •

Copy link
Copy Markdown
Member

A transient read failure during target_id setup restarted target creation, even after Vuforia had returned an ID. Retry processing polls and record reads against the existing target instead. Only an actual unsuccessful processing result triggers the existing bounded replacement behavior.

Attempt best-effort deletion after transient service/network read failures, exhausted target-visibility retries, or a processing timeout. Other setup errors propagate directly. During cleanup, suppress only the existing transient service/network exceptions, TargetStatusProcessingError, and UnknownTargetError so these expected failures preserve the setup error. Unexpected cleanup errors propagate with the setup error chained. The real adapter retains its cleanup of remaining targets before the next test.

Fixes #3767.

No new tests are added. The live-service failure paths retain coverage exclusions.

Validation:

  • Existing target-name tests against the mock backends: 22 passed, 11 real-backend cases skipped.
  • Pre-commit and pre-push hooks, including partition checks and all type checkers, passed.
  • git diff --check passed.

Live-service and Docker validation remain with hosted CI.

This branch was successfully deployed

1 active and 1 inactive deployments
vuforia — 58659fc8 Deployed Oct 26, 2026 by adamtheturtle via ci-tests (3.15, docs/) #2603
development — 58659fc8 Deployed Oct 26, 2026 by adamtheturtle via pages #2476
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.

Retry target setup reads without creating another target

1 participant