Skip to content

Commit 607aa5e

Browse files
committed
Fix state update on unmounted heap usage
#1684
1 parent f251949 commit 607aa5e

1 file changed

Lines changed: 9 additions & 2 deletions

File tree

packages/console/src/HeapUsage.tsx

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import { Tooltip } from '@deephaven/components';
44
import type { QueryConnectable } from '@deephaven/jsapi-types';
55
import { Plot, useChartTheme } from '@deephaven/chart';
66
import Log from '@deephaven/log';
7-
import { useAsyncInterval } from '@deephaven/react-hooks';
7+
import { useAsyncInterval, useIsMountedRef } from '@deephaven/react-hooks';
88
import './HeapUsage.scss';
99

1010
const log = Log.module('HeapUsage');
@@ -41,9 +41,16 @@ function HeapUsage({
4141
usages: [],
4242
});
4343

44+
const isMountedRef = useIsMountedRef();
45+
4446
const setUsageUpdateInterval = useCallback(async () => {
4547
try {
4648
const newUsage = await connection.getWorkerHeapInfo();
49+
50+
if (!isMountedRef.current) {
51+
return;
52+
}
53+
4754
setMemoryUsage(newUsage);
4855

4956
if (bgMonitoring || isOpen) {
@@ -69,7 +76,7 @@ function HeapUsage({
6976
} catch (e) {
7077
log.warn('Unable to get heap usage', e);
7178
}
72-
}, [isOpen, connection, monitorDuration, bgMonitoring]);
79+
}, [connection, isMountedRef, bgMonitoring, isOpen, monitorDuration]);
7380

7481
useAsyncInterval(
7582
setUsageUpdateInterval,

0 commit comments

Comments
 (0)