Skip to content

refactor(controller): retire gob fallback for TGB-configured repos - #326

Open
xytan0056 wants to merge 6 commits into
mainfrom
xytan0056/retire-gob-fallback
Open

xytan0056 wants to merge 6 commits into
mainfrom
xytan0056/retire-gob-fallback

Conversation

@xytan0056

@xytan0056 xytan0056 commented Oct 7, 2026 •

Copy link
Copy Markdown
Contributor

Summary

TGB coding is proven to be effective within Uber. It should be an exclusive option to GOB

  • Remove the gob fallback path from readCachedGraph for TGB-configured repositories. A corrupt or missing TGB blob now propagates the error directly instead of falling back to a gob blob from an earlier format era.
  • The recovery path is recomputation (which overwrites the TGB blob), not serving stale data from a retired format.
  • Mirrors the matching internal monorepo change; production has been fully on TGB long enough that the gob fallback was dead code.

Test plan

Unit tested
CI

xytan0056 and others added 2 commits October 7, 2026 11:06
TGB-configured repositories now read only the TGB blob from the cache.
The gob fallback path is removed: a corrupt or missing TGB blob
propagates the error directly so the orchestrator recomputes and
overwrites, rather than serving a stale gob blob from an earlier format
era.

This mirrors the matching internal monorepo change. Production has been
fully on TGB long enough that the gob fallback was dead code obscuring
real cache state.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@xytan0056
xytan0056 requested review from a team as code owners October 7, 2026 15:40
The controller test suite exceeds Bazel's default 300s timeout on
GitHub Actions runners. Bump size to "large" (900s) so CI completes
reliably.
Coverage instrumentation makes the controller test suite significantly
slower. The "large" (900s) timeout is not enough under bazel coverage
on CI runners. Bump to "enormous" (3600s).
Comment thread controller/BUILD.bazel Outdated

go_test(
name = "controller_test",
size = "enormous",

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.

do we need this?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

thanks. I thought our test is slow, turned out I broke it

…eout

The TGBMixedFormatFallsBack test validated the gob fallback path that was
retired in this branch. With the fallback removed, the mock orchestrator
received an unexpected call inside a goroutine, killing it via t.Fatalf
without sending on the results channel — hanging fetchTargetGraphs forever.

Revert the enormous test size bump that was a workaround for the hang.
@xytan0056
xytan0056 force-pushed the xytan0056/retire-gob-fallback branch from e4eb4fa to fc514d0 Compare October 9, 2026 15:14
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