From 943b4075f65d4b60bc73b149bd651508edfa8e8c Mon Sep 17 00:00:00 2001 From: Junseok-Hur Date: Mon, 8 May 2023 21:48:22 -0400 Subject: [PATCH] Revert "Track and show information regarding last KC restart" This reverts commit d3fb0e4d7b6b560c530d19a52dbb05ff0b51b80f. --- .../ui/service/ConsumerGroupService.java | 3 - .../kafka/ui/service/KafkaConnectService.java | 6 +- .../Details/ResetOffsets/Form 2.tsx | 197 ------------------ .../src/components/ConsumerGroups/List 2.tsx | 106 ---------- .../src/components/KsqlDb/TableView 2.tsx | 39 ---- .../src/lib/fixtures/consumerGroups 2.ts | 53 ----- 6 files changed, 2 insertions(+), 402 deletions(-) delete mode 100644 kafka-ui-react-app/src/components/ConsumerGroups/Details/ResetOffsets/Form 2.tsx delete mode 100644 kafka-ui-react-app/src/components/ConsumerGroups/List 2.tsx delete mode 100644 kafka-ui-react-app/src/components/KsqlDb/TableView 2.tsx delete mode 100644 kafka-ui-react-app/src/lib/fixtures/consumerGroups 2.ts diff --git a/kafka-ui-api/src/main/java/com/provectus/kafka/ui/service/ConsumerGroupService.java b/kafka-ui-api/src/main/java/com/provectus/kafka/ui/service/ConsumerGroupService.java index 42e62fac2c..024eb3df51 100644 --- a/kafka-ui-api/src/main/java/com/provectus/kafka/ui/service/ConsumerGroupService.java +++ b/kafka-ui-api/src/main/java/com/provectus/kafka/ui/service/ConsumerGroupService.java @@ -2,7 +2,6 @@ package com.provectus.kafka.ui.service; import com.google.common.collect.Table; import com.provectus.kafka.ui.model.ConsumerGroupOrderingDTO; -import com.provectus.kafka.ui.model.InternalClusterState; import com.provectus.kafka.ui.model.InternalConsumerGroup; import com.provectus.kafka.ui.model.InternalTopicConsumerGroup; import com.provectus.kafka.ui.model.KafkaCluster; @@ -38,7 +37,6 @@ import reactor.core.publisher.Mono; @RequiredArgsConstructor public class ConsumerGroupService { - public static final int CONSUMER_MAX_POLL_RECORDS = 100; private final AdminClientService adminClientService; private final AccessControlService accessControlService; @@ -226,7 +224,6 @@ public class ConsumerGroupService { props.put(ConsumerConfig.AUTO_OFFSET_RESET_CONFIG, "earliest"); props.put(ConsumerConfig.ENABLE_AUTO_COMMIT_CONFIG, "false"); props.put(ConsumerConfig.ALLOW_AUTO_CREATE_TOPICS_CONFIG, "false"); - props.put(ConsumerConfig.MAX_POLL_RECORDS_CONFIG, CONSUMER_MAX_POLL_RECORDS); props.putAll(properties); return new KafkaConsumer<>(props); diff --git a/kafka-ui-api/src/main/java/com/provectus/kafka/ui/service/KafkaConnectService.java b/kafka-ui-api/src/main/java/com/provectus/kafka/ui/service/KafkaConnectService.java index a5b80084b4..163732fae9 100644 --- a/kafka-ui-api/src/main/java/com/provectus/kafka/ui/service/KafkaConnectService.java +++ b/kafka-ui-api/src/main/java/com/provectus/kafka/ui/service/KafkaConnectService.java @@ -265,13 +265,11 @@ public class KafkaConnectService { String connectorName, Predicate taskFilter) { return getConnectorTasks(cluster, connectName, connectorName) .filter(taskFilter) - .flatMap(t -> restartConnectorTask(cluster, connectName, connectorName, t.getId().getTask()) - .onErrorResume(e -> Mono.error(new RuntimeException("Failed to restart task", e))) - ) + .flatMap(t -> + restartConnectorTask(cluster, connectName, connectorName, t.getId().getTask())) .then(); } - public Flux getConnectorTasks(KafkaCluster cluster, String connectName, String connectorName) { return api(cluster, connectName) .flux(client -> diff --git a/kafka-ui-react-app/src/components/ConsumerGroups/Details/ResetOffsets/Form 2.tsx b/kafka-ui-react-app/src/components/ConsumerGroups/Details/ResetOffsets/Form 2.tsx deleted file mode 100644 index 8ee7995bf2..0000000000 --- a/kafka-ui-react-app/src/components/ConsumerGroups/Details/ResetOffsets/Form 2.tsx +++ /dev/null @@ -1,197 +0,0 @@ -import React from 'react'; -import { useNavigate } from 'react-router-dom'; -import { - ConsumerGroupDetails, - ConsumerGroupOffsetsReset, - ConsumerGroupOffsetsResetType, -} from 'generated-sources'; -import { ClusterGroupParam } from 'lib/paths'; -import { - Controller, - FormProvider, - useFieldArray, - useForm, -} from 'react-hook-form'; -import { MultiSelect, Option } from 'react-multi-select-component'; -import 'react-datepicker/dist/react-datepicker.css'; -import { ErrorMessage } from '@hookform/error-message'; -import { InputLabel } from 'components/common/Input/InputLabel.styled'; -import { Button } from 'components/common/Button/Button'; -import Input from 'components/common/Input/Input'; -import { FormError } from 'components/common/Input/Input.styled'; -import useAppParams from 'lib/hooks/useAppParams'; -import { useResetConsumerGroupOffsetsMutation } from 'lib/hooks/api/consumers'; -import { FlexFieldset, StyledForm } from 'components/common/Form/Form.styled'; -import ControlledSelect from 'components/common/Select/ControlledSelect'; - -import * as S from './ResetOffsets.styled'; - -interface FormProps { - defaultValues: ConsumerGroupOffsetsReset; - topics: string[]; - partitions: ConsumerGroupDetails['partitions']; -} - -const resetTypeOptions = Object.values(ConsumerGroupOffsetsResetType).map( - (value) => ({ value, label: value }) -); - -const Form: React.FC = ({ defaultValues, partitions, topics }) => { - const navigate = useNavigate(); - const routerParams = useAppParams(); - const reset = useResetConsumerGroupOffsetsMutation(routerParams); - const topicOptions = React.useMemo( - () => topics.map((value) => ({ value, label: value })), - [topics] - ); - const methods = useForm({ - mode: 'onChange', - defaultValues, - }); - - const { - handleSubmit, - setValue, - watch, - control, - formState: { errors }, - } = methods; - const { fields } = useFieldArray({ - control, - name: 'partitionsOffsets', - }); - - const resetTypeValue = watch('resetType'); - const topicValue = watch('topic'); - const offsetsValue = watch('partitionsOffsets'); - const partitionsValue = watch('partitions') || []; - - const partitionOptions = - partitions - ?.filter((p) => p.topic === topicValue) - .map((p) => ({ - label: `Partition #${p.partition.toString()}`, - value: p.partition, - })) || []; - - const onSelectedPartitionsChange = (selected: Option[]) => { - setValue( - 'partitions', - selected.map(({ value }) => value) - ); - - setValue( - 'partitionsOffsets', - selected.map(({ value }) => { - const currentOffset = offsetsValue?.find( - ({ partition }) => partition === value - ); - return { offset: currentOffset?.offset, partition: value }; - }) - ); - }; - - React.useEffect(() => { - onSelectedPartitionsChange([]); - // eslint-disable-next-line react-hooks/exhaustive-deps - }, [topicValue]); - - const onSubmit = async (data: ConsumerGroupOffsetsReset) => { - await reset.mutateAsync(data); - navigate('../'); - }; - - return ( - - - - - -
- Partitions - ({ - value: p, - label: String(p), - }))} - onChange={onSelectedPartitionsChange} - labelledBy="Select partitions" - /> -
- {resetTypeValue === ConsumerGroupOffsetsResetType.TIMESTAMP && - partitionsValue.length > 0 && ( -
- Timestamp - ( - onChange(e?.getTime())} - onBlur={onBlur} - /> - )} - /> - {message}} - /> -
- )} - - {resetTypeValue === ConsumerGroupOffsetsResetType.OFFSET && - partitionsValue.length > 0 && ( - - {fields.map((field, index) => ( - - ))} - - )} -
-
- -
-
-
- ); -}; - -export default Form; diff --git a/kafka-ui-react-app/src/components/ConsumerGroups/List 2.tsx b/kafka-ui-react-app/src/components/ConsumerGroups/List 2.tsx deleted file mode 100644 index feb772ac82..0000000000 --- a/kafka-ui-react-app/src/components/ConsumerGroups/List 2.tsx +++ /dev/null @@ -1,106 +0,0 @@ -import React from 'react'; -import PageHeading from 'components/common/PageHeading/PageHeading'; -import Search from 'components/common/Search/Search'; -import { ControlPanelWrapper } from 'components/common/ControlPanel/ControlPanel.styled'; -import { - ConsumerGroupDetails, - ConsumerGroupOrdering, - SortOrder, -} from 'generated-sources'; -import useAppParams from 'lib/hooks/useAppParams'; -import { clusterConsumerGroupDetailsPath, ClusterNameRoute } from 'lib/paths'; -import { ColumnDef } from '@tanstack/react-table'; -import Table, { TagCell, LinkCell } from 'components/common/NewTable'; -import { useNavigate, useSearchParams } from 'react-router-dom'; -import { PER_PAGE } from 'lib/constants'; -import { useConsumerGroups } from 'lib/hooks/api/consumers'; - -const List = () => { - const { clusterName } = useAppParams(); - const [searchParams] = useSearchParams(); - const navigate = useNavigate(); - - const consumerGroups = useConsumerGroups({ - clusterName, - orderBy: (searchParams.get('sortBy') as ConsumerGroupOrdering) || undefined, - sortOrder: - (searchParams.get('sortDirection')?.toUpperCase() as SortOrder) || - undefined, - page: Number(searchParams.get('page') || 1), - perPage: Number(searchParams.get('perPage') || PER_PAGE), - search: searchParams.get('q') || '', - }); - - const columns = React.useMemo[]>( - () => [ - { - id: ConsumerGroupOrdering.NAME, - header: 'Group ID', - accessorKey: 'groupId', - // eslint-disable-next-line react/no-unstable-nested-components - cell: ({ getValue }) => ( - ()}`} - to={encodeURIComponent(`${getValue()}`)} - /> - ), - }, - { - id: ConsumerGroupOrdering.MEMBERS, - header: 'Num Of Members', - accessorKey: 'members', - }, - { - header: 'Num Of Topics', - accessorKey: 'topics', - enableSorting: false, - }, - { - header: 'Messages Behind', - accessorKey: 'messagesBehind', - enableSorting: false, - }, - { - header: 'Coordinator', - accessorKey: 'coordinator.id', - enableSorting: false, - }, - { - id: ConsumerGroupOrdering.STATE, - header: 'State', - accessorKey: 'state', - cell: TagCell, - }, - ], - [] - ); - - return ( - <> - - - - - - navigate( - clusterConsumerGroupDetailsPath(clusterName, original.groupId) - ) - } - disabled={consumerGroups.isFetching} - /> - - ); -}; - -export default List; diff --git a/kafka-ui-react-app/src/components/KsqlDb/TableView 2.tsx b/kafka-ui-react-app/src/components/KsqlDb/TableView 2.tsx deleted file mode 100644 index d27e4968b7..0000000000 --- a/kafka-ui-react-app/src/components/KsqlDb/TableView 2.tsx +++ /dev/null @@ -1,39 +0,0 @@ -import React from 'react'; -import { KsqlStreamDescription, KsqlTableDescription } from 'generated-sources'; -import Table from 'components/common/NewTable'; -import { ColumnDef } from '@tanstack/react-table'; - -interface TableViewProps { - fetching: boolean; - rows: KsqlTableDescription[] | KsqlStreamDescription[]; -} - -const TableView: React.FC = ({ fetching, rows }) => { - const columns = React.useMemo< - ColumnDef[] - >( - () => [ - { header: 'Name', accessorKey: 'name' }, - { header: 'Topic', accessorKey: 'topic' }, - { header: 'Key Format', accessorKey: 'keyFormat' }, - { header: 'Value Format', accessorKey: 'valueFormat' }, - { - header: 'Is Windowed', - accessorKey: 'isWindowed', - cell: ({ row }) => - 'isWindowed' in row.original ? String(row.original.isWindowed) : '-', - }, - ], - [] - ); - return ( -
- ); -}; - -export default TableView; diff --git a/kafka-ui-react-app/src/lib/fixtures/consumerGroups 2.ts b/kafka-ui-react-app/src/lib/fixtures/consumerGroups 2.ts deleted file mode 100644 index f6c60cf61a..0000000000 --- a/kafka-ui-react-app/src/lib/fixtures/consumerGroups 2.ts +++ /dev/null @@ -1,53 +0,0 @@ -import { ConsumerGroupState } from 'generated-sources'; - -export const consumerGroupPayload = { - groupId: 'amazon.msk.canary.group.broker-1', - members: 0, - topics: 2, - simple: false, - partitionAssignor: '', - state: ConsumerGroupState.EMPTY, - coordinator: { - id: 2, - host: 'b-2.kad-msk.st2jzq.c6.kafka.eu-west-1.amazonaws.com', - }, - messagesBehind: 0, - partitions: [ - { - topic: '__amazon_msk_canary', - partition: 1, - currentOffset: 0, - endOffset: 0, - messagesBehind: 0, - consumerId: undefined, - host: undefined, - }, - { - topic: '__amazon_msk_canary', - partition: 0, - currentOffset: 56932, - endOffset: 56932, - messagesBehind: 0, - consumerId: undefined, - host: undefined, - }, - { - topic: 'other_topic', - partition: 3, - currentOffset: 56932, - endOffset: 56932, - messagesBehind: 0, - consumerId: undefined, - host: undefined, - }, - { - topic: 'other_topic', - partition: 4, - currentOffset: 56932, - endOffset: 56932, - messagesBehind: 0, - consumerId: undefined, - host: undefined, - }, - ], -};