fix: xds-client LrsCallState statsTimer memory leak

This commit is contained in:
gfrancz 2025-01-27 21:46:34 -05:00 committed by Michael Lumish
parent c6c69df25b
commit 621f401e34
1 changed files with 8 additions and 1 deletions

View File

@ -682,6 +682,13 @@ class LrsCallState {
this.sendStats();
}
destroy() {
if (this.statsTimer) {
this.statsTimer = clearInterval(this.statsTimer);
}
return null;
}
private handleStreamStatus(status: StatusObject) {
this.client.trace(
'LRS stream ended. code=' + status.code + ' details= ' + status.details
@ -932,7 +939,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()) {