mirror of https://github.com/grpc/grpc-node.git
Merge pull request #2898 from murgatroid99/grpc-js-xds_memory_leak_backport_1.12.x
grpc-js-xds: fix LrsCallState statsTimer memory leak
This commit is contained in:
commit
656ca0c00e
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@grpc/grpc-js-xds",
|
||||
"version": "1.12.1",
|
||||
"version": "1.12.2",
|
||||
"description": "Plugin for @grpc/grpc-js. Adds the xds:// URL scheme and associated features.",
|
||||
"main": "build/src/index.js",
|
||||
"scripts": {
|
||||
|
|
|
@ -682,6 +682,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
|
||||
|
@ -932,7 +940,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()) {
|
||||
|
|
Loading…
Reference in New Issue