Merge pull request #2891 from gfrancz/xds-lrscallstate-memory-leak

fix: xds-client LrsCallState statsTimer memory leak
This commit is contained in:
Michael Lumish 2025-02-04 14:12:19 -08:00 committed by GitHub
commit d2a6dda689
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 9 additions and 1 deletions

View File

@ -688,6 +688,14 @@ class LrsCallState {
this.sendStats();
}
destroy() {
if (this.statsTimer) {
clearInterval(this.statsTimer);
this.statsTimer = null;
}
return null;
}
private handleStreamStatus(status: StatusObject) {
this.client.trace(
'LRS stream ended. code=' + status.code + ' details= ' + status.details
@ -938,7 +946,7 @@ class XdsSingleServerClient {
}
handleLrsStreamEnd() {
this.lrsCallState = null;
this.lrsCallState = this.lrsCallState ? this.lrsCallState.destroy() : null;
/* The backoff timer would start the stream when it finishes. If it is not
* running, restart the stream immediately. */
if (!this.lrsBackoff.isRunning()) {