From 814e529ebce0e047b3c64dd1435438cb4e7734c5 Mon Sep 17 00:00:00 2001 From: Koustav Date: Tue, 21 Jan 2025 00:24:15 +0530 Subject: [PATCH 1/7] WIP: hot tier refresh --- src/hooks/useHotTier.ts | 1 + src/pages/Stream/Views/Manage/Management.tsx | 1 + src/pages/Stream/Views/Manage/Settings.tsx | 22 ++++++++++++++++---- 3 files changed, 20 insertions(+), 4 deletions(-) diff --git a/src/hooks/useHotTier.ts b/src/hooks/useHotTier.ts index ecd928e1..a38e6204 100644 --- a/src/hooks/useHotTier.ts +++ b/src/hooks/useHotTier.ts @@ -63,6 +63,7 @@ export const useHotTier = (streamName: string, hasSettingsAccess: boolean) => { return { getHotTierInfoError, getHotTierInfoLoading, + refetchHotTierInfo, updateHotTier, deleteHotTier, isDeleting, diff --git a/src/pages/Stream/Views/Manage/Management.tsx b/src/pages/Stream/Views/Manage/Management.tsx index 7ac8991b..e3d8a909 100644 --- a/src/pages/Stream/Views/Manage/Management.tsx +++ b/src/pages/Stream/Views/Manage/Management.tsx @@ -42,6 +42,7 @@ const Management = (props: { schemaLoading: boolean }) => { isLoading={isHotTierLoading || isRetentionLoading} updateRetentionConfig={getRetentionConfig.updateLogStreamRetention} updateHotTierInfo={hotTierFetch.updateHotTier} + refetchHotTierInfo={hotTierFetch.refetchHotTierInfo} deleteHotTierInfo={hotTierFetch.deleteHotTier} isDeleting={hotTierFetch.isDeleting} isUpdating={hotTierFetch.isUpdating} diff --git a/src/pages/Stream/Views/Manage/Settings.tsx b/src/pages/Stream/Views/Manage/Settings.tsx index d291851e..3353bffe 100644 --- a/src/pages/Stream/Views/Manage/Settings.tsx +++ b/src/pages/Stream/Views/Manage/Settings.tsx @@ -1,4 +1,4 @@ -import { Box, Button, Divider, Loader, Modal, NumberInput, Stack, TextInput } from '@mantine/core'; +import { Box, Button, Divider, Group, Loader, Modal, NumberInput, px, Stack, TextInput } from '@mantine/core'; import classes from '../../styles/Management.module.css'; import { Text } from '@mantine/core'; import { useAppStore } from '@/layouts/MainLayout/providers/AppProvider'; @@ -6,14 +6,17 @@ import { useForm } from '@mantine/form'; import _ from 'lodash'; import { useCallback, useEffect, useState } from 'react'; import { useStreamStore } from '../../providers/StreamProvider'; -import { IconCheck, IconTrash, IconX } from '@tabler/icons-react'; +import { IconCheck, IconTrash, IconX, IconReload } from '@tabler/icons-react'; import { sanitizeBytes, convertGibToBytes } from '@/utils/formatBytes'; import timeRangeUtils from '@/utils/timeRangeUtils'; import ErrorView from './ErrorView'; import RestrictedView from '@/components/Misc/RestrictedView'; +import IconButton from '@/components/Button/IconButton'; const { formatDateWithTimezone } = timeRangeUtils; +const renderRefreshIcon = () => ; + const Header = () => { return ( @@ -168,6 +171,7 @@ const DeleteHotTierModal = (props: { const HotTierConfig = (props: { updateHotTierInfo: ({ size }: { size: string }) => void; + refetchHotTierInfo: () => void; deleteHotTierInfo: ({ onSuccess }: { onSuccess: () => void }) => void; isDeleting: boolean; isUpdating: boolean; @@ -228,9 +232,17 @@ const HotTierConfig = (props: { /> Hot Tier Storage Size - {!hotTierNotSet && streamType === 'UserDefined' ? ( + + + {/* {!hotTierNotSet && streamType === 'UserDefined' ? ( */} - ) : null} + {/* ) : null} */} + @@ -310,6 +322,7 @@ const Settings = (props: { isLoading: boolean; updateRetentionConfig: ({ config }: { config: any }) => void; updateHotTierInfo: ({ size }: { size: string }) => void; + refetchHotTierInfo: () => void; deleteHotTierInfo: ({ onSuccess }: { onSuccess: () => void }) => void; isDeleting: boolean; isUpdating: boolean; @@ -333,6 +346,7 @@ const Settings = (props: { ) : ( <> Date: Tue, 21 Jan 2025 14:07:00 +0530 Subject: [PATCH 2/7] Refresh on hot tier --- src/pages/Stream/Views/Manage/Settings.tsx | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/src/pages/Stream/Views/Manage/Settings.tsx b/src/pages/Stream/Views/Manage/Settings.tsx index 3353bffe..e7a04030 100644 --- a/src/pages/Stream/Views/Manage/Settings.tsx +++ b/src/pages/Stream/Views/Manage/Settings.tsx @@ -6,7 +6,7 @@ import { useForm } from '@mantine/form'; import _ from 'lodash'; import { useCallback, useEffect, useState } from 'react'; import { useStreamStore } from '../../providers/StreamProvider'; -import { IconCheck, IconTrash, IconX, IconReload } from '@tabler/icons-react'; +import { IconCheck, IconX, IconReload } from '@tabler/icons-react'; import { sanitizeBytes, convertGibToBytes } from '@/utils/formatBytes'; import timeRangeUtils from '@/utils/timeRangeUtils'; import ErrorView from './ErrorView'; @@ -239,12 +239,9 @@ const HotTierConfig = (props: { onClick={props.refetchHotTierInfo} tooltipLabel="Refresh now" /> - {/* {!hotTierNotSet && streamType === 'UserDefined' ? ( */} - - {/* ) : null} */} - + Oldest Record: @@ -301,6 +298,18 @@ const HotTierConfig = (props: { {props.isUpdating && } + + {!hotTierNotSet && streamType === 'UserDefined' ? ( + + + + + + ) : null} + From 5791da5113c3e10b8292566360992eaa86bf543d Mon Sep 17 00:00:00 2001 From: Koustav Date: Tue, 21 Jan 2025 14:33:36 +0530 Subject: [PATCH 4/7] package lock rm --- package.json | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/package.json b/package.json index 41c1d973..3ad4baa9 100644 --- a/package.json +++ b/package.json @@ -87,6 +87,5 @@ "pretty-quick": "^3.1.3", "typescript": "^5.1.6", "vite": "^4.3.9" - }, - "packageManager": "pnpm@9.12.3+sha512.cce0f9de9c5a7c95bef944169cc5dfe8741abfb145078c0d508b868056848a87c81e626246cb60967cbd7fd29a6c062ef73ff840d96b3c86c40ac92cf4a813ee" + } } From 84b90f46997a6ab8209888e77e61195ea0893c8b Mon Sep 17 00:00:00 2001 From: Koustav Date: Tue, 21 Jan 2025 15:16:20 +0530 Subject: [PATCH 5/7] styling changes --- src/pages/Stream/Views/Manage/Settings.tsx | 31 +++++++++++----------- 1 file changed, 16 insertions(+), 15 deletions(-) diff --git a/src/pages/Stream/Views/Manage/Settings.tsx b/src/pages/Stream/Views/Manage/Settings.tsx index 8063afd8..e7fa7b01 100644 --- a/src/pages/Stream/Views/Manage/Settings.tsx +++ b/src/pages/Stream/Views/Manage/Settings.tsx @@ -241,17 +241,12 @@ const HotTierConfig = (props: { /> - - - Oldest Record: - - {_.isEmpty(oldestEntry) ? 'No Entries Stored' : formatDateWithTimezone(oldestEntry)} - - + - + {streamType === 'UserDefined' ? ( {humanizedUsedSize} used | {humanizedAvailableSize} available @@ -274,7 +269,7 @@ const HotTierConfig = (props: { @@ -301,12 +296,9 @@ const HotTierConfig = (props: { {!hotTierNotSet && streamType === 'UserDefined' ? ( + style={{ alignItems: 'flex-start', paddingTop: '0.8rem', ...(hotTierNotSet ? { display: 'none' } : {}) }}> - @@ -321,6 +313,15 @@ const HotTierConfig = (props: { + + + Oldest Record: + + {_.isEmpty(oldestEntry) ? 'No Entries Stored' : formatDateWithTimezone(oldestEntry)} + + ); From 7dfe03530946f10c92d9f18d475ce176854bf4f0 Mon Sep 17 00:00:00 2001 From: Koustav Date: Tue, 21 Jan 2025 15:18:06 +0530 Subject: [PATCH 6/7] styling --- src/pages/Stream/Views/Manage/Settings.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/Stream/Views/Manage/Settings.tsx b/src/pages/Stream/Views/Manage/Settings.tsx index e7fa7b01..15c16b50 100644 --- a/src/pages/Stream/Views/Manage/Settings.tsx +++ b/src/pages/Stream/Views/Manage/Settings.tsx @@ -246,7 +246,7 @@ const HotTierConfig = (props: { {streamType === 'UserDefined' ? ( Date: Tue, 21 Jan 2025 15:24:07 +0530 Subject: [PATCH 7/7] conditional render of refresh btn --- src/pages/Stream/Views/Manage/Settings.tsx | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/src/pages/Stream/Views/Manage/Settings.tsx b/src/pages/Stream/Views/Manage/Settings.tsx index 15c16b50..f53ba9d0 100644 --- a/src/pages/Stream/Views/Manage/Settings.tsx +++ b/src/pages/Stream/Views/Manage/Settings.tsx @@ -232,14 +232,16 @@ const HotTierConfig = (props: { /> Hot Tier Storage Size - - - + {!hotTierNotSet ? ( + + + + ) : null}