Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 7 additions & 1 deletion src/containers/Tenant/Query/QueryEditor/QueryEditor.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ import React from 'react';

import type {Settings} from '@gravity-ui/react-data-table';
import {isEqual} from 'lodash';
import {StringParam, useQueryParams} from 'use-query-params';
import {v4 as uuidv4} from 'uuid';

import SplitPane from '../../../../components/SplitPane';
Expand Down Expand Up @@ -94,10 +95,15 @@ export default function QueryEditor(props: QueryEditorProps) {
const [lastExecutedQueryText, setLastExecutedQueryText] = React.useState<string>('');
const [isQueryStreamingEnabled] = useSetting<boolean>(ENABLE_QUERY_STREAMING);

// Temporary check: disable streaming if backend parameter contains "oidc"
const [{backend}] = useQueryParams({backend: StringParam});
const isOidcBackend = backend && backend.includes('oidc');

const isStreamingEnabled =
useStreamingAvailable() &&
isQueryStreamingEnabled &&
querySettings.queryMode === QUERY_MODES.query;
querySettings.queryMode === QUERY_MODES.query &&
!isOidcBackend;

const [sendQuery] = queryApi.useUseSendQueryMutation();
const [streamQuery] = queryApi.useUseStreamQueryMutation();
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import {HelpMark, Switch} from '@gravity-ui/uikit';
import {StringParam, useQueryParams} from 'use-query-params';

import {cn} from '../../../../utils/cn';
import {ENABLE_QUERY_STREAMING} from '../../../../utils/constants';
Expand All @@ -20,7 +21,13 @@ interface TimeoutLabelProps {
export function TimeoutLabel({isDisabled, isChecked, onToggle}: TimeoutLabelProps) {
const [isQueryStreamingEnabled] = useSetting<boolean>(ENABLE_QUERY_STREAMING);

if (isQueryStreamingEnabled) {
// Temporary check: disable streaming UI if backend parameter contains "oidc"
const [{backend}] = useQueryParams({backend: StringParam});
const isOidcBackend = backend && backend.includes('oidc');

const shouldShowStreamingUI = isQueryStreamingEnabled && !isOidcBackend;

if (shouldShowStreamingUI) {
return (
<div className={b('switch-title')}>
<Switch
Expand Down
10 changes: 9 additions & 1 deletion src/utils/hooks/useQueryExecutionSettings.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
import React from 'react';

import {StringParam, useQueryParams} from 'use-query-params';

import {useTracingLevelOptionAvailable} from '../../store/reducers/capabilities/hooks';
import type {QuerySettings} from '../../types/store/query';
import {
Expand All @@ -24,6 +26,12 @@ export const useQueryExecutionSettings = () => {
const [useShowPlanToSvg] = useSetting<boolean>(USE_SHOW_PLAN_SVG_KEY);
const [enableQueryStreaming] = useSetting<boolean>(ENABLE_QUERY_STREAMING);

// Temporary check: disable streaming behavior if backend parameter contains "oidc"
const [{backend}] = useQueryParams({backend: StringParam});
const isOidcBackend = backend && backend.includes('oidc');

const effectiveStreamingEnabled = enableQueryStreaming && !isOidcBackend;

const setQueryExecutionSettings = React.useCallback(
(settings: QuerySettings) => {
setSettings({
Expand All @@ -39,7 +47,7 @@ export const useQueryExecutionSettings = () => {
const settings: QuerySettings = {
...validatedSettings,
timeout:
enableQueryStreaming && validatedSettings.queryMode === QUERY_MODES.query
effectiveStreamingEnabled && validatedSettings.queryMode === QUERY_MODES.query
? validatedSettings.timeout || null
: validatedSettings.timeout || undefined,
statisticsMode: useShowPlanToSvg ? STATISTICS_MODES.full : validatedSettings.statisticsMode,
Expand Down
Loading