Skip to content

Commit aa10cff

Browse files
committed
fix: Maintain Fabric Connect for UI Instance Operations
If we’re iterating through a cluster’s instances to take some action from the UI that doesn’t have native replication available (like a rolling config update or an iterative cluster restart), we’ll maintain Fabric Connect, if the cluster is using it. https://harperdb.atlassian.net/browse/STUDIO-583
1 parent a7aa289 commit aa10cff

File tree

2 files changed

+6
-0
lines changed

2 files changed

+6
-0
lines changed

src/hooks/useRestartClusterClick.tsx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import { ProgressBar } from '@/components/ProgressBar';
22
import { getInstanceClient } from '@/config/getInstanceClient';
3+
import { authStore } from '@/features/auth/store/authStore';
34
import { getClusterInfo } from '@/features/cluster/queries/getClusterInfoQuery';
45
import { restartInstance } from '@/features/instance/operations/mutations/restartInstance';
56
import { getInstanceUserInfo } from '@/features/instance/operations/queries/getInstanceUserInfo';
@@ -51,11 +52,13 @@ export function useRestartClusterClick({ onRestartedSuccessfully }: RestartClust
5152
});
5253

5354
const cluster = await getClusterInfo(clusterId);
55+
const clusterUsesFabricConnect = authStore.checkForFabricConnect(cluster.id);
5456
const allInstances = cluster?.instances ?? [];
5557
const instanceClients = allInstances
5658
.filter(instance => instance.status === 'RUNNING')
5759
.map(instance => getInstanceClient({
5860
id: instance.id,
61+
forceFabricConnect: clusterUsesFabricConnect,
5962
operationsUrl: getOperationsUrlForInstance(instance),
6063
}))
6164
.reverse();

src/hooks/useRollingConfigUpdate.tsx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import { ProgressBar } from '@/components/ProgressBar';
22
import { getInstanceClient } from '@/config/getInstanceClient';
33
import { useInstanceClientIdParams } from '@/config/useInstanceClient';
4+
import { authStore } from '@/features/auth/store/authStore';
45
import { getClusterInfo } from '@/features/cluster/queries/getClusterInfoQuery';
56
import { restartInstance } from '@/features/instance/operations/mutations/restartInstance';
67
import { setConfiguration } from '@/features/instance/operations/mutations/setConfiguration';
@@ -55,11 +56,13 @@ export function useRollingConfigUpdate({ onRestartedSuccessfully }: RollingConfi
5556
const allInstances = operationsParams.entityType === 'cluster'
5657
? cluster?.instances || []
5758
: [{ id: operationsParams.entityId, status: 'RUNNING' } as Instance];
59+
const clusterUsesFabricConnect = !!cluster && authStore.checkForFabricConnect(cluster.id);
5860
const instanceClients = operationsParams.entityType === 'cluster'
5961
? allInstances
6062
.filter(instance => instance.status === 'RUNNING')
6163
.map(instance => getInstanceClient({
6264
id: instance.id,
65+
forceFabricConnect: clusterUsesFabricConnect,
6366
operationsUrl: getOperationsUrlForInstance(instance),
6467
}))
6568
.reverse()

0 commit comments

Comments
 (0)