Skip to content

Commit

Permalink
Feature : add 'trigger optimizers' button to collection info (#210)
Browse files Browse the repository at this point in the history
  • Loading branch information
kartik-gupta-ij committed Aug 21, 2024
1 parent 9a53edb commit 80865f7
Showing 1 changed file with 36 additions and 11 deletions.
47 changes: 36 additions & 11 deletions src/components/Collections/CollectionInfo.jsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import React, { memo, useEffect } from 'react';
import PropTypes from 'prop-types';
import { Box, Card, CardContent, CardHeader, Typography } from '@mui/material';
import { Box, Button, Card, CardContent, CardHeader, Typography } from '@mui/material';
import { useClient } from '../../context/client-context';
import { DataGridList } from '../Points/DataGridList';
import { CopyButton } from '../Common/CopyButton';
Expand All @@ -17,6 +17,21 @@ export const CollectionInfo = ({ collectionName }) => {
const [clusterInfo, setClusterInfo] = React.useState(null);

useEffect(() => {
fetchCollection();
qdrantClient
.api('cluster')
.collectionClusterInfo({ collection_name: collectionName })
.then((res) => {
setClusterInfo(() => {
return { ...res.data };
});
})
.catch((err) => {
enqueueSnackbar(err.message, getSnackbarOptions('error', closeSnackbar));
});
}, [collectionName]);

const fetchCollection = () => {
qdrantClient
.getCollection(collectionName)
.then((res) => {
Expand All @@ -27,19 +42,21 @@ export const CollectionInfo = ({ collectionName }) => {
.catch((err) => {
enqueueSnackbar(err.message, getSnackbarOptions('error', closeSnackbar));
});
};

const triggerOptimizers = () => {
qdrantClient
.api('cluster')
.collectionClusterInfo({ collection_name: collectionName })
.then((res) => {
setClusterInfo(() => {
return { ...res.data };
});
.updateCollection(collectionName, {
optimizers_config: {},
})
.then(() => {
enqueueSnackbar('Optimizers triggered', getSnackbarOptions('success', closeSnackbar));
fetchCollection();
})
.catch((err) => {
enqueueSnackbar(err.message, getSnackbarOptions('error', closeSnackbar));
});
}, [collectionName]);
};

return (
<Box pt={2}>
Expand All @@ -57,9 +74,17 @@ export const CollectionInfo = ({ collectionName }) => {
data={collection}
specialCases={{
status: (
<Typography variant="subtitle1" color="text.secondary">
{collection.status} <Dot color={collection.status} />
</Typography>
<Box display="flex" alignItems="center" justifyContent={'space-between'}>
<Typography variant="subtitle1" color="text.secondary">
{collection.status} <Dot color={collection.status} />
</Typography>
{(collection.status === 'grey' ||
collection.optimizer_status?.error === `optimizations pending, awaiting update operation`) && (
<Button variant="outlined" size="small" onClick={triggerOptimizers}>
Trigger optimizers
</Button>
)}
</Box>
),
}}
/>
Expand Down

0 comments on commit 80865f7

Please sign in to comment.