Skip to content

Fixed Resource timer and cache issue - #3074

Merged
murgatroid99 merged 3 commits into
grpc:masterfrom
zarinn3pal:fix/lds-deletion-td-update
Aug 28, 2026
Merged

Fixed Resource timer and cache issue#3074
murgatroid99 merged 3 commits into
grpc:masterfrom
zarinn3pal:fix/lds-deletion-td-update

Conversation

@zarinn3pal

@zarinn3pal zarinn3pal commented Aug 13, 2026

Copy link
Copy Markdown
Contributor

Implemented the following fixes to resolve the issue regarding furthur updates ignored after LDS resource deletion.

  1. Zombie Timers: Cancel timers on stream termination to prevent false DOES_NOT_EXIST states.
  2. Dormant Timers: Start timers immediately for ADS calls on already READY clients.
  3. Invalid Cache: Clear caches on DOES_NOT_EXIST so identical restored resources are properly recognized.
  4. Added a test for the LDS deletion and restoration recovery flow.

@zarinn3pal

Copy link
Copy Markdown
Contributor Author

/gemini review

@zarinn3pal

Copy link
Copy Markdown
Contributor Author

/gemini review

@zarinn3pal
zarinn3pal marked this pull request as ready for review August 27, 2026 12:02
@sergiitk
sergiitk requested a review from murgatroid99 August 27, 2026 16:02
Comment thread packages/grpc-js-xds/src/xds-client.ts Outdated
if (!resourceState) {
return;
}
resourceState.cachedResource = null;

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

This should instead be

if (resourceState.cachedResource !== null) {
  return;
}

The purpose of the timer is to say "the server has not sent this resource yet, so we treat it as nonexistent". It is not intended to invalidate resources we have already seen.

@murgatroid99
murgatroid99 merged commit cd97141 into grpc:master Aug 28, 2026
7 of 10 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