Skip to content

Conversation

@bjp232004
Copy link
Contributor

@bjp232004 bjp232004 commented Oct 6, 2025

Removed HTTP API support from the UI. The backend API will remain unchanged, and the UI will now communicate exclusively through the streaming API.

@uddhavdave uddhavdave marked this pull request as ready for review October 9, 2025 11:00
Copy link
Contributor

@greptile-apps greptile-apps bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Greptile Overview

Summary

This PR implements a comprehensive deprecation of the HTTP API multistream search v2 functionality across the OpenObserve codebase, transitioning to a unified HTTP/2 streaming approach. The changes affect both frontend (TypeScript/Vue) and backend (Rust) components, involving significant architectural refactoring.

Backend Changes:

  • Adds new streaming endpoints (search_multi_stream) alongside existing v2 endpoints for backward compatibility
  • Introduces enhanced multi-stream processing with concurrent query execution and progress consolidation
  • Implements bulk permission validation for improved performance
  • Adds comprehensive audit logging for enterprise features
  • Updates response structures with optional query_index field for better query correlation

Frontend Changes:

  • Refactors large monolithic composables into focused, modular utilities (useSearchQuery, useSearchConnection, useSearchResponseHandler, etc.)
  • Removes WebSocket-based search functionality entirely, consolidating on HTTP/2 streaming
  • Eliminates conditional logic that previously supported multiple communication methods (REST, WebSocket, streaming)
  • Updates UI components to remove deprecated configuration toggles
  • Simplifies query execution paths by removing partition-based and HTTP-based search methods

Architecture Impact:
The refactoring transforms a complex multi-protocol system into a streamlined HTTP/2 streaming architecture. This reduces code maintenance burden while providing better real-time capabilities for search operations. The extensive modularization of frontend code improves testability and separation of concerns, particularly for the previously 2100+ line useSearchStream composable.

Migration Strategy:
The approach maintains backward compatibility by keeping existing endpoints active while introducing new streaming equivalents, enabling gradual client migration. Configuration flags are hardcoded to force streaming behavior, ensuring consistent execution paths across all environments.

Important Files Changed

Changed Files
Filename Score Overview
src/config/src/meta/search.rs 5/5 Adds optional query_index field to Response struct for query correlation
web/src/composables/useLogs/logsUtils.ts 5/5 Removes WebSocket trace ID handling, consolidates to HTTP-only
web/src/composables/useLogs/useHistogram.ts 4/5 Removes getHistogramQueryData function and HTTP-based histogram fetching
web/src/utils/zincutils.ts 4/5 Hardcodes feature flags: WebSocket disabled, streaming enabled
web/src/layouts/MainLayout.vue 5/5 Removes deprecated WebSocket/streaming search configuration options
web/src/composables/useLogs/useSearchQuery.ts 4/5 New modular composable extracting query construction logic
web/src/services/streaming_search.ts 4/5 Adds searchMulti function for multi-stream search endpoint
web/src/composables/useLogs/useSearchResponseHandler.ts 4/5 New composable handling WebSocket search responses and streaming data
web/src/components/dashboards/VariablesValueSelector.vue 4/5 Removes WebSocket variable loading, consolidates to HTTP streaming
web/src/composables/useLogs/useSearchHistogramManager.ts 3/5 New histogram manager with potential type safety and error handling issues
src/handler/http/request/search/multi_streams.rs 4/5 Adds new streaming multi-search endpoint with enhanced features
web/src/composables/useLogs/useSearchStreamRefactored.ts 3/5 New refactored orchestrator composable with potential dependency issues
src/service/search/streaming/mod.rs 4/5 Implements concurrent multi-query processing with streaming
web/src/composables/useLogs/useSearchStream.ts 2/5 Major refactoring to orchestrator pattern with missing dependency risks
web/src/composables/useLogs/useSearchBar.ts 4/5 Removes HTTP search logic, simplifies to streaming-only approach
web/src/composables/dashboard/useValuesWebSocket.ts 4/5 Refactors to remove WebSocket, consolidates to HTTP streaming
web/src/composables/dashboard/usePanelDataLoader.ts 4/5 Major refactoring removing WebSocket and partition methods
web/src/composables/useStreamingSearch.ts 4/5 Adds conditional routing between single/multi-stream endpoints
web/src/components/settings/General.vue 4/5 Removes deprecated streaming configuration UI toggles
web/src/composables/useLogs/useSearchPagination.ts 4/5 New pagination utility extracted from main composable
web/src/composables/useLogs/useSearchConnection.ts 3/5 New connection abstraction with potential initialization issues
web/src/composables/useLogs.ts 4/5 Removes processHttpHistogramResults function and related imports
web/src/test/unit/helpers/handlers.ts 5/5 Removes websocket_enabled flag from mock config
src/handler/http/router/mod.rs 4/5 Adds new search_multi_stream service route

Confidence score: 3/5

  • This PR involves extensive refactoring with potential runtime risks due to missing composable dependencies and incomplete migration paths
  • Score reflects concerns about large-scale architectural changes that could introduce breaking changes if dependencies aren't properly established
  • Pay close attention to useSearchStream.ts, useSearchStreamRefactored.ts, and useSearchConnection.ts for missing dependency issues

Additional Comments (1)

  1. web/src/components/dashboards/VariablesValueSelector.vue, line 628 (link)

    style: Comment still mentions 'WebSocket Implementation' but this section now only handles HTTP2/streaming. Update comment to reflect current implementation.

24 files reviewed, 23 comments

Edit Code Review Agent Settings | Greptile

import { cloneDeep } from "lodash-es";
import { SearchRequestPayload } from "@/ts/interfaces/query";
import {
convertDateToTimestamp,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

style: convertDateToTimestamp is imported but never used in this file

Suggested change
convertDateToTimestamp,
import { searchState } from "@/composables/useLogs/searchState";
import { logsUtils } from "@/composables/useLogs/logsUtils";
import { useStore } from "vuex";
import { useRouter } from "vue-router";
import { cloneDeep } from "lodash-es";
import { SearchRequestPayload } from "@/ts/interfaces/query";
import {
getConsumableRelativeTime,
} from "@/utils/date";
import config from "@/aws-exports";
import { b64EncodeUnicode, addSpacesToOperators } from "@/utils/zincutils";
Prompt To Fix With AI
This is a comment left during a code review.
Path: web/src/composables/useLogs/useSearchQuery.ts
Line: 23:23

Comment:
**style:** `convertDateToTimestamp` is imported but never used in this file

```suggestion
  import { searchState } from "@/composables/useLogs/searchState";
import { logsUtils } from "@/composables/useLogs/logsUtils";
import { useStore } from "vuex";
import { useRouter } from "vue-router";
import { cloneDeep } from "lodash-es";
import { SearchRequestPayload } from "@/ts/interfaces/query";
import {
  getConsumableRelativeTime,
} from "@/utils/date";
import config from "@/aws-exports";
import { b64EncodeUnicode, addSpacesToOperators } from "@/utils/zincutils";
```

How can I resolve this? If you propose a fix, please make it concise.

let node: any;
let index: any;
for (field of searchObj.data.stream.selectedStreamFields) {
for ([node, index] of parsedSQL) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

logic: Using for...of with destructuring on arrays may not work as expected. The loop iterates over array elements, not index-value pairs

Suggested change
for ([node, index] of parsedSQL) {
for (let i = 0; i < parsedSQL.length; i++) {
const node = parsedSQL[i];
if (node === field.name) {
parsedSQL[i] = '"' + node.replaceAll('"', '') + '"';
}
}
Prompt To Fix With AI
This is a comment left during a code review.
Path: web/src/composables/useLogs/useSearchQuery.ts
Line: 372:372

Comment:
**logic:** Using `for...of` with destructuring on arrays may not work as expected. The loop iterates over array elements, not index-value pairs

```suggestion
        for (let i = 0; i < parsedSQL.length; i++) {
          const node = parsedSQL[i];
          if (node === field.name) {
            parsedSQL[i] = '"' + node.replaceAll('"', '') + '"';
          }
        }
```

How can I resolve this? If you propose a fix, please make it concise.

Comment on lines +429 to +431
streams
.join(",")
.split(",")
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

logic: Calling .join(',').split(',') is redundant and inefficient - streams is already an array

Suggested change
streams
.join(",")
.split(",")
streams
.forEach((item: any) => {
Prompt To Fix With AI
This is a comment left during a code review.
Path: web/src/composables/useLogs/useSearchQuery.ts
Line: 429:431

Comment:
**logic:** Calling `.join(',').split(',')` is redundant and inefficient - `streams` is already an array

```suggestion
    streams
      .forEach((item: any) => {
```

How can I resolve this? If you propose a fix, please make it concise.

return;
}

console.log("Page count", payload, response);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

style: Remove debug console.log statement before merging to production

Suggested change
console.log("Page count", payload, response);
// console.log("Page count", payload, response);
Prompt To Fix With AI
This is a comment left during a code review.
Path: web/src/composables/useLogs/useSearchResponseHandler.ts
Line: 145:145

Comment:
**style:** Remove debug console.log statement before merging to production

```suggestion
    // console.log("Page count", payload, response);
```

How can I resolve this? If you propose a fix, please make it concise.

Comment on lines +610 to +614
// const refreshPagination = (regenerateFlag: boolean = false) => {
// // This would typically call a pagination composable
// // For now, it's a placeholder
// console.log("Refreshing pagination", regenerateFlag);
// };
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

style: Remove commented-out placeholder code

Prompt To Fix With AI
This is a comment left during a code review.
Path: web/src/composables/useLogs/useSearchResponseHandler.ts
Line: 610:614

Comment:
**style:** Remove commented-out placeholder code

How can I resolve this? If you propose a fix, please make it concise.


if (searchObj.data.isOperationCancelled) {
// 3. Execute the search through connection manager
connectionManager.getDataThroughStream(queryReq, isPagination, callbacks);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

logic: connectionManager.getDataThroughStream method may not exist if the split composable isn't implemented.

Prompt To Fix With AI
This is a comment left during a code review.
Path: web/src/composables/useLogs/useSearchStream.ts
Line: 81:81

Comment:
**logic:** connectionManager.getDataThroughStream method may not exist if the split composable isn't implemented.

How can I resolve this? If you propose a fix, please make it concise.


const traceIdMapper = ref<{ [key: string]: string[] }>({});

const useValuesWebSocket = () => {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

style: Consider renaming this function from useValuesWebSocket to useValuesStreaming or similar since WebSocket functionality has been completely removed

Prompt To Fix With AI
This is a comment left during a code review.
Path: web/src/composables/dashboard/useValuesWebSocket.ts
Line: 10:10

Comment:
**style:** Consider renaming this function from `useValuesWebSocket` to `useValuesStreaming` or similar since WebSocket functionality has been completely removed

How can I resolve this? If you propose a fix, please make it concise.

Comment on lines +70 to +93
const initializeSearchConnection = (
payload: any,
): string | Promise<void> | null => {
if (searchObj.communicationMethod === "streaming") {
payload.searchType = "ui";
payload.pageType = searchObj.data.stream.streamType;
return fetchQueryDataWithHttpStream(payload, {
data: (payload: any, response: any) => {
if (payload.onData) payload.onData(payload, response);
},
error: (payload: any, error: any) => {
if (payload.onError) payload.onError(payload, error);
},
complete: (payload: any, response: any) => {
if (payload.onComplete) payload.onComplete(payload, response);
},
reset: (data: any, traceId?: string) => {
if (payload.onReset) payload.onReset(data, traceId);
},
}) as Promise<void>;
}

return null;
};
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

logic: Function only handles streaming case but returns null for non-streaming, which could cause issues when checking !requestId later

Prompt To Fix With AI
This is a comment left during a code review.
Path: web/src/composables/useLogs/useSearchConnection.ts
Line: 70:93

Comment:
**logic:** Function only handles streaming case but returns null for non-streaming, which could cause issues when checking `!requestId` later

How can I resolve this? If you propose a fix, please make it concise.

Comment on lines +174 to +176
if (shouldGetPageCount(queryReq) && searchObj.meta.refreshInterval == 0) {
queryReq.query.size = queryReq.query.size + 1;
}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

logic: Direct mutation of input parameter queryReq.query.size could cause unintended side effects

Prompt To Fix With AI
This is a comment left during a code review.
Path: web/src/composables/useLogs/useSearchConnection.ts
Line: 174:176

Comment:
**logic:** Direct mutation of input parameter `queryReq.query.size` could cause unintended side effects

How can I resolve this? If you propose a fix, please make it concise.

Comment on lines +187 to +193
const requestId = initializeSearchConnection(payload);

if (!requestId) {
throw new Error(
`Failed to initialize ${searchObj.communicationMethod} connection`,
);
}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

logic: Type mismatch: initializeSearchConnection returns Promise<void> for streaming, but checking for truthy requestId

Prompt To Fix With AI
This is a comment left during a code review.
Path: web/src/composables/useLogs/useSearchConnection.ts
Line: 187:193

Comment:
**logic:** Type mismatch: `initializeSearchConnection` returns `Promise<void>` for streaming, but checking for truthy `requestId`

How can I resolve this? If you propose a fix, please make it concise.

@uddhavdave uddhavdave changed the title Depricate http api multistream search v2 fix: Depricate http api and add multistream search v2 Oct 13, 2025
@uddhavdave uddhavdave changed the title fix: Depricate http api and add multistream search v2 feat: Depricate http api and add multistream search v2 Oct 13, 2025
@bjp232004 bjp232004 force-pushed the depricate-http-api-multistream-search-v2 branch 3 times, most recently from c9f108f to b125de2 Compare October 21, 2025 10:12
@testdino-playwright-reporter
Copy link

⚠️ Test Run Unstable


Author: ByteBaker | Branch: depricate-http-api-multistream-search-v2 | Commit: 6a55d7e

Testdino Test Results

Status Total Passed Failed Skipped Flaky Pass Rate Duration
1 test failed 26 21 1 3 1 81% 2m 28s

Test Failure Analysis

  1. visualize.spec.js: Test fails due to timeout waiting for element visibility
    1. logs testcases should render line chart for SELECT * query and save to dashboard with correct query in inspector: Locator not found within timeout period.

Root Cause Analysis

  • The recent changes in src/.../cache/cacher.rs may have affected the rendering of the line chart, leading to the timeout issue.

Recommended Actions

  1. Increase the timeout duration for visibility checks in visualize.spec.js to accommodate potential delays.
  2. Verify that the SQL query execution completes successfully before checking for element visibility.
  3. Ensure that the element with the specified role and name is present in the DOM after the query execution.

View Detailed Results

@testdino-playwright-reporter
Copy link

⚠️ Test Run Unstable


Author: ByteBaker | Branch: depricate-http-api-multistream-search-v2 | Commit: 6a55d7e

Testdino Test Results

Status Total Passed Failed Skipped Flaky Pass Rate Duration
4 tests failed 232 212 4 15 1 91% 3m 29s

Test Failure Analysis

  1. dashboard-streaming.spec.js: Timeout issues while waiting for elements to become visible

    1. dashboard streaming testcases should verify the custom value search from variable dropdown with streaming enabled: Timeout waiting for selector '[data-test="general-settings-enable-streaming"]' to be visible
  2. dashboard-transpose.spec.js: Assertion failure due to unexpected error count

    1. dashboard UI testcases should not show an error when transpose is enabled from config with custom SQL query: Expected error count 0 but received 1
  3. dashboard-filter.spec.js: Assertion failure on API call responses

    1. dashboard filter testcases should verify the custom value search from variable dropdown: Expected at least one API call but received 0

    ...and 1 additional failing spec. Visit the TestDino platform for a full breakdown.

Root Cause Analysis

  • The changes in src/.../meta/search.rs and src/.../search/multi_streams.rs may have affected the expected behavior of the dashboard functionalities, leading to assertion failures and timeouts.

Recommended Actions

  1. Investigate the visibility of the element '[data-test="general-settings-enable-streaming"]' in dashboard-streaming.spec.js to resolve the timeout issue.
  2. Review the error handling logic in dashboard-transpose.spec.js to ensure the correct error count is being reported.
  3. Ensure that the API calls in dashboard-filter.spec.js are being made correctly and returning expected results.

View Detailed Results

@testdino-playwright-reporter
Copy link

⚠️ Test Run Unstable


Author: ByteBaker | Branch: depricate-http-api-multistream-search-v2 | Commit: 6a55d7e

Testdino Test Results

Status Total Passed Failed Skipped Flaky Pass Rate Duration
4 tests failed 232 212 4 15 1 91% 3m 29s

Test Failure Analysis

  1. dashboard-streaming.spec.js: Timeout issues waiting for element visibility

    1. dashboard streaming testcases should verify the custom value search from variable dropdown with streaming enabled: Timeout waiting for '[data-test="general-settings-enable-streaming"]' to be visible.
  2. dashboard-transpose.spec.js: Assertion failure due to unexpected error count

    1. dashboard UI testcases should not show an error when transpose is enabled from config with custom SQL query: Expected error count 0 but received 1.
  3. dashboard-filter.spec.js: Assertion failure due to no captured API calls

    1. dashboard filter testcases should verify the custom value search from variable dropdown: Expected at least one API call but received 0.

    ...and 1 additional failing spec. Visit the TestDino platform for a full breakdown.

Root Cause Analysis

  • The changes in src/.../meta/search.rs and src/.../search/multi_streams.rs may have affected the expected behavior of the dashboard functionalities, leading to timeouts and assertion failures.

Recommended Actions

  1. Investigate the visibility of the element '[data-test="general-settings-enable-streaming"]' in dashboard-streaming.spec.js to resolve timeout issues.
  2. Review the error handling logic in dashboard-transpose.spec.js to ensure the expected error count aligns with actual results.
  3. Ensure that the API calls are correctly captured in dashboard-filter.spec.js to avoid assertion failures related to the response length.

View Detailed Results

@testdino-playwright-reporter
Copy link

⚠️ Test Run Unstable


Author: ByteBaker | Branch: depricate-http-api-multistream-search-v2 | Commit: 6a55d7e

Testdino Test Results

Status Total Passed Failed Skipped Flaky Pass Rate Duration
4 tests failed 232 211 4 15 2 91% 3m 29s

Test Failure Analysis

  1. dashboard-streaming.spec.js: Test fails due to timeout waiting for element visibility

    1. dashboard streaming testcases should verify the custom value search from variable dropdown with streaming enabled: Timeout waiting for '[data-test="general-settings-enable-streaming"]' to be visible.
  2. dashboard-transpose.spec.js: Assertion failure when checking error counts

    1. dashboard UI testcases should not show an error when transpose is enabled from config with custom SQL query: Expected error count to be 0, but received 1.
  3. dashboard-filter.spec.js: Assertion failure on API call responses

    1. dashboard filter testcases should verify the custom value search from variable dropdown: Expected at least one API call, but received 0.

    ...and 1 additional failing spec. Visit the TestDino platform for a full breakdown.

Root Cause Analysis

  • The code changes in src/.../search/multi_streams.rs may have introduced issues affecting element visibility and API response handling.

Recommended Actions

  1. Investigate the visibility of the element '[data-test="general-settings-enable-streaming"]' in dashboard-streaming.spec.js to resolve the timeout issue.
  2. Review the logic for error counting in dashboard-transpose.spec.js to ensure it correctly reflects the expected outcomes.
  3. Ensure that the API calls in dashboard-filter.spec.js are being made correctly and returning expected results.

View Detailed Results

@testdino-playwright-reporter
Copy link

⚠️ Test Run Unstable


Author: ByteBaker | Branch: depricate-http-api-multistream-search-v2 | Commit: 6a55d7e

Testdino Test Results

Status Total Passed Failed Skipped Flaky Pass Rate Duration
4 tests failed 232 210 4 15 3 91% 3m 29s

Test Failure Analysis

  1. dashboard-streaming.spec.js: Timeout issues while waiting for UI elements to become visible

    1. dashboard streaming testcases should verify the custom value search from variable dropdown with streaming enabled: Timeout waiting for locator '[data-test="general-settings-enable-streaming"]' to be visible.
  2. dashboard-transpose.spec.js: Assertion failure due to unexpected error count

    1. dashboard UI testcases should not show an error when transpose is enabled from config with custom SQL query: Expected error count 0 but received 1.
  3. dashboard-filter.spec.js: Assertion failure due to no captured API calls

    1. dashboard filter testcases should verify the custom value search from variable dropdown: Expected at least one API call but received 0.

    ...and 1 additional failing spec. Visit the TestDino platform for a full breakdown.

Root Cause Analysis

  • The code changes in src/.../search/multi_streams.rs may have introduced issues affecting the expected behavior of the dashboard functionalities.

Recommended Actions

  1. Investigate the visibility of the element '[data-test="general-settings-enable-streaming"]' in dashboard-streaming.spec.js to resolve the timeout issue.
  2. Review the error handling logic in dashboard-transpose.spec.js to ensure the expected error counts are accurate.
  3. Check the API call logic in dashboard-filter.spec.js to confirm that responses are being captured correctly.

View Detailed Results

@testdino-playwright-reporter
Copy link

Test Run Failed

Author: uddhavdave | Branch: depricate-http-api-multistream-search-v2 | Commit: 50689dd

Testdino Test Results

Status Total Passed Failed Skipped Flaky Pass Rate Duration
1 test failed 26 22 1 3 0 85% 1m 47s

Test Failure Analysis

  1. visualize.spec.js: Test failure due to element visibility timeout
    1. logs testcases should render line chart for SELECT * query and save to dashboard with correct query in inspector: Locator timed out waiting for visibility of the specified cell element.

Root Cause Analysis

  • The test failure is likely related to changes in the query recommendation configuration in src/.../src/[CONFIG] config.rs, which may affect data rendering.

Recommended Actions

  1. Increase the timeout duration in the test to allow for longer rendering times.
  2. Verify that the query used in the test is returning results as expected.
  3. Check if recent changes in src/.../src/[CONFIG] config.rs impact the data displayed in the dashboard.

View Detailed Results

@bjp232004 bjp232004 force-pushed the depricate-http-api-multistream-search-v2 branch from 50689dd to a089830 Compare October 27, 2025 06:18
@testdino-playwright-reporter
Copy link

Test Run Failed

Author: ByteBaker | Branch: depricate-http-api-multistream-search-v2 | Commit: a089830

Testdino Test Results

Status Total Passed Failed Skipped Flaky Pass Rate Duration
1 test failed 26 22 1 3 0 85% 1m 47s

Test Failure Analysis

  1. visualize.spec.js: Test failure due to timeout waiting for element visibility
    1. logs testcases should render line chart for SELECT * query and save to dashboard with correct query in inspector: Locator timed out waiting for visibility of the expected cell element.

Root Cause Analysis

  • The changes in src/.../cache/cacher.rs may have affected the rendering of the expected elements in visualize.spec.js.

Recommended Actions

  1. Increase the timeout duration for visibility checks in visualize.spec.js to accommodate potential delays. 2. Verify that the SQL query in the test is correctly returning results to ensure the expected element is present. 3. Check if recent changes in src/.../cache/cacher.rs impact the data being rendered in the UI.

View Detailed Results

@ktx-vaidehi ktx-vaidehi force-pushed the depricate-http-api-multistream-search-v2 branch from a089830 to 3ce0da5 Compare October 29, 2025 08:26
@testdino-playwright-reporter
Copy link

⚠️ Test Run Unstable


Author: ByteBaker | Branch: depricate-http-api-multistream-search-v2 | Commit: 3ce0da5

Testdino Test Results

Status Total Passed Failed Skipped Flaky Pass Rate Duration
2 tests failed 33 29 2 1 1 88% 2m 17s

Test Failure Analysis

  1. dashboard-transpose.spec.js: Assertion failure due to unexpected error count
    1. dashboard UI testcases should not show an error when transpose is enabled from config with custom SQL query: Expected error count to be 0, but got 1.
  2. dashboard-filter.spec.js: Assertion failure from missing API responses
    1. dashboard filter testcases should verify the custom value search from variable dropdown: Expected valuesResponses length to be greater than 0, but got 0.

Root Cause Analysis

  • The changes in src/.../search/multi_streams.rs and src/.../cache/cacher.rs may have affected the expected API responses, leading to assertion failures.

Recommended Actions

  1. Investigate the changes in src/.../search/multi_streams.rs to ensure the correct number of streams is returned.
  2. Check the API response handling in src/.../cache/cacher.rs to confirm that the expected data is being populated correctly.
  3. Add additional logging in the tests to capture the state of valuesResponses before assertions.

View Detailed Results

@testdino-playwright-reporter
Copy link

⚠️ Test Run Unstable


Author: ByteBaker | Branch: depricate-http-api-multistream-search-v2 | Commit: 3ce0da5

Testdino Test Results

Status Total Passed Failed Skipped Flaky Pass Rate Duration
2 tests failed 33 27 2 1 3 82% 2m 10s

Test Failure Analysis

  1. dashboard-transpose.spec.js: Assertion failures due to unexpected error counts
    1. dashboard UI testcases should not show an error when transpose is enabled from config with custom SQL query: Expected error count 0 but received 1.
  2. dashboard-filter.spec.js: Assertion failures due to no captured API responses
    1. dashboard filter testcases should verify the custom value search from variable dropdown: Expected at least one response but received 0.

Root Cause Analysis

  • The changes in src/.../meta/search.rs and src/.../search/multi_streams.rs may have affected the expected error handling and API response counts.

Recommended Actions

  1. Investigate the logic for error handling in src/.../meta/search.rs to ensure correct error counts are returned. 2. Review the API response collection in src/.../search/multi_streams.rs to confirm that responses are being captured correctly. 3. Add additional logging in both files to trace the flow of data and identify where counts may be miscalculated.

View Detailed Results

@testdino-playwright-reporter
Copy link

⚠️ Test Run Unstable


Author: ByteBaker | Branch: depricate-http-api-multistream-search-v2 | Commit: 3ce0da5

Testdino Test Results

Status Total Passed Failed Skipped Flaky Pass Rate Duration
2 tests failed 33 28 2 1 2 85% 2m 8s

Test Failure Analysis

  1. dashboard-transpose.spec.js: Assertion failure due to unexpected error count
    1. dashboard UI testcases should not show an error when transpose is enabled from config with custom SQL query: Expected error count to be 0, but received 1.
  2. dashboard-filter.spec.js: Assertion failure due to no API call responses
    1. dashboard filter testcases should verify the custom value search from variable dropdown: Expected at least one API call response, but received 0.

Root Cause Analysis

  • The changes in src/.../meta/search.rs and src/.../search/multi_streams.rs may have affected the expected API response structure, leading to assertion failures in tests.

Recommended Actions

  1. Investigate the handling of transposeErrorResult in dashboard-transpose.spec.js to ensure it correctly reflects the error count. 2. Review the API call logic in dashboard-filter.spec.js to confirm that the expected responses are being generated and returned properly.

View Detailed Results

@testdino-playwright-reporter
Copy link

⚠️ Test Run Unstable


Author: ktx-abhay | Branch: depricate-http-api-multistream-search-v2 | Commit: 704dd6b

Testdino Test Results

Status Total Passed Failed Skipped Flaky Pass Rate Duration
1 test failed 60 51 1 4 4 85% 2m 9s

Test Failure Analysis

  1. dashboard-filter.spec.js: Assertion failure due to no API calls captured
    1. dashboard filter testcases should verify the custom value search from variable dropdown: Expected at least one API call, but received zero.

Root Cause Analysis

  • The change from an object to an array in usePanelDataLoader.ts may have affected how responses are collected, leading to zero API calls.

Recommended Actions

  1. Review the logic in usePanelDataLoader.ts to ensure responses are correctly pushed to the array. 2. Add logging to track API call responses in dashboard-filter.spec.js. 3. Verify that the API endpoint is functioning correctly and returning expected results.

View Detailed Results

@testdino-playwright-reporter
Copy link

⚠️ Test Run Unstable


Author: ktx-abhay | Branch: depricate-http-api-multistream-search-v2 | Commit: 704dd6b

Testdino Test Results

Status Total Passed Failed Skipped Flaky Pass Rate Duration
1 test failed 60 54 1 4 1 90% 2m 14s

Test Failure Analysis

  1. dashboard-filter.spec.js: Assertion failure due to no API call responses captured
    1. dashboard filter testcases should verify the custom value search from variable dropdown: Expected at least one API call response, but received none.

Root Cause Analysis

  • The addition of the query_index field in src/.../meta/search.rs may have impacted the API response handling, leading to zero responses.

Recommended Actions

  1. Investigate the API call logic in dashboard-filter.spec.js to ensure it correctly captures responses. 2. Review the changes in src/.../meta/search.rs for potential issues in response generation. 3. Add logging to track API call responses during the test execution.

View Detailed Results

@testdino-playwright-reporter
Copy link

⚠️ Test Run Unstable


Author: ktx-abhay | Branch: depricate-http-api-multistream-search-v2 | Commit: 704dd6b

Testdino Test Results

Status Total Passed Failed Skipped Flaky Pass Rate Duration
1 test failed 60 52 1 4 3 87% 4m 1s

Test Failure Analysis

  1. dashboard-filter.spec.js: Assertion failure due to no API calls captured
    1. dashboard filter testcases should verify the custom value search from variable dropdown: Expected at least one API call, but received zero.

Root Cause Analysis

  • The addition of new fields in src/.../meta/search.rs may have impacted the API response structure, leading to no captured calls.

Recommended Actions

  1. Investigate the API response to ensure it returns expected data for the test case. 2. Review the changes in src/.../meta/search.rs to confirm if the new fields affect the API call logic. 3. Add logging around the API call to capture the response for debugging.

View Detailed Results

@bjp232004 bjp232004 force-pushed the depricate-http-api-multistream-search-v2 branch from eabd147 to ab7a6d4 Compare October 30, 2025 11:18
@testdino-playwright-reporter
Copy link

⚠️ Test Run Unstable


Author: ktx-abhay | Branch: depricate-http-api-multistream-search-v2 | Commit: ab7a6d4

Testdino Test Results

Status Total Passed Failed Skipped Flaky Pass Rate Duration
1 test failed 201 187 1 11 2 93% 3m 31s

Test Failure Analysis

  1. dashboard-streaming.spec.js: Timeout issues while waiting for element visibility
    1. dashboard streaming testcases should verify the custom value search from variable dropdown with streaming enabled: Timeout waiting for locator '[data-test="general-settings-enable-streaming"]' to be visible.

Root Cause Analysis

  • The test was skipped in the recent changes to dashboard-filter.spec.js, indicating potential instability in the related tests.

Recommended Actions

  1. Investigate the visibility of the element '[data-test="general-settings-enable-streaming"]' in the UI during the test execution.
  2. Increase the timeout duration in the test to accommodate slower loading times.
  3. Ensure that the streaming feature is properly initialized before running the tests.

View Detailed Results

@bjp232004 bjp232004 force-pushed the depricate-http-api-multistream-search-v2 branch from ab7a6d4 to 49b69b2 Compare October 30, 2025 11:58
@testdino-playwright-reporter
Copy link

⚠️ Test Run Unstable


Author: ktx-akshay | Branch: depricate-http-api-multistream-search-v2 | Commit: bf3882a

Testdino Test Results

Status Total Passed Failed Skipped Flaky Pass Rate Duration
1 test failed 125 110 1 12 2 88% 4m 28s

Test Failure Analysis

  1. maxquery.spec.js: Timeout errors due to element visibility issues
    1. dashboard max query testcases should correctly display max query range error message when max query range is exceeded: Locator timeout - waiting for '[data-test="general-settings-enable-streaming"]' to be visible.

Root Cause Analysis

  • The code changes in dashboard-streaming.spec.js comment out the streaming state settings, likely causing the timeout issue.

Recommended Actions

  1. Re-enable the streaming state settings in dashboard-streaming.spec.js to ensure elements are visible before tests run. 2. Increase the timeout duration in the waitForSelector method if the element takes longer to appear. 3. Verify the presence and visibility of the '[data-test="general-settings-enable-streaming"]' element in the UI before executing the test.

View Detailed Results

@bjp232004 bjp232004 force-pushed the depricate-http-api-multistream-search-v2 branch from 4a59758 to 6148323 Compare October 31, 2025 10:37
@testdino-playwright-reporter
Copy link

⚠️ Test Run Unstable


Author: bjp232004 | Branch: depricate-http-api-multistream-search-v2 | Commit: 6148323

Testdino Test Results

Status Total Passed Failed Skipped Flaky Pass Rate Duration
All tests passed 366 338 0 21 7 92% 7m 45s

View Detailed Results

@testdino-playwright-reporter
Copy link

⚠️ Test Run Unstable


Author: bjp232004 | Branch: depricate-http-api-multistream-search-v2 | Commit: 6148323

Testdino Test Results

Status Total Passed Failed Skipped Flaky Pass Rate Duration
All tests passed 376 350 0 21 5 93% 5m 32s

View Detailed Results

@bjp232004 bjp232004 merged commit dd11cb4 into main Oct 31, 2025
32 checks passed
@bjp232004 bjp232004 deleted the depricate-http-api-multistream-search-v2 branch October 31, 2025 11:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

10 participants