From 00cba1b9f5c54db42b487daa7201119a5da5a549 Mon Sep 17 00:00:00 2001 From: Elena Makarova Date: Thu, 22 May 2025 16:37:23 +0300 Subject: [PATCH] fix: reset base offsets on selected partition change --- .../Tenant/Diagnostics/TopicData/TopicData.tsx | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/containers/Tenant/Diagnostics/TopicData/TopicData.tsx b/src/containers/Tenant/Diagnostics/TopicData/TopicData.tsx index 92bab9e086..b57d2ca3e3 100644 --- a/src/containers/Tenant/Diagnostics/TopicData/TopicData.tsx +++ b/src/containers/Tenant/Diagnostics/TopicData/TopicData.tsx @@ -108,17 +108,20 @@ export function TopicData({parentRef, path, database}: TopicDataProps) { {pollingInterval: autoRefreshInterval}, ); + const prevSelectedPartition = React.useRef(selectedPartition); + React.useEffect(() => { + const selectedPartitionChanged = selectedPartition !== prevSelectedPartition.current; const selectedPartitionData = partitions?.find( ({partitionId}) => partitionId === selectedPartition, ); if (selectedPartitionData) { let endOffset = baseEndOffset; - if (!baseEndOffset) { + if (!baseEndOffset || selectedPartitionChanged) { endOffset = safeParseNumber(selectedPartitionData.endOffset); setBaseEndOffset(endOffset); } - if (!baseOffset) { + if (!baseOffset || selectedPartitionChanged) { const partitionStartOffset = safeParseNumber(selectedPartitionData.startOffset); const newStartOffset = Math.max( (endOffset ?? 0) - PAGINATED_TABLE_LIMIT, @@ -129,7 +132,10 @@ export function TopicData({parentRef, path, database}: TopicDataProps) { setBaseOffset(newStartOffset); } } - }, [selectedPartition, partitions, baseOffset, baseEndOffset, startOffset, endOffset]); + if (selectedPartitionChanged) { + prevSelectedPartition.current = selectedPartition; + } + }, [selectedPartition, partitions, baseEndOffset, baseOffset]); React.useEffect(() => { if (partitions && partitions.length && isNil(selectedPartition)) {