mirror of
https://github.com/openobserve/openobserve.git
synced 2026-11-04 16:09:05 +00:00
### **PR Type** Bug fix, Enhancement ___ ### **Description** - Fix oversized hit handling in chunk iterator - Implement worker-level deduplication & abort - Stream handler cleanup and dedupe updates - Enhance log rendering with truncation & progressive ___ ### Diagram Walkthrough ```mermaid flowchart LR A["ResponseChunkIterator (search.rs)"] -- "pop_front oversized hits" --> B["StreamWorker"] B -- "deduplicate messages & abort" --> C["useHttpStreaming"] C -- "handle streaming hits" --> D["useSearchResponseHandler"] D -- "optimize rendering" --> E["useLogsHighlighter"] ``` <details> <summary><h3> File Walkthrough</h3></summary> <table><thead><tr><th></th><th align="left">Relevant files</th></tr></thead><tbody><tr><td><strong>Enhancement</strong></td><td><details><summary>5 files</summary><table> <tr> <td><strong>useSearchResponseHandler.ts</strong><dd><code>Refactor streaming hits assignment using local variable</code> </dd></td> <td><a href=""></a></td> </tr> <tr> <td><strong>useLogsHighlighter.ts</strong><dd><code>Add size estimation, truncation, and progressive rendering</code></dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10257/files#diff-ad7744a2edc4764be1c7d67feb7fe1473536af245821898a9136256b3aeb0342">+237/-38</a></td> </tr> <tr> <td><strong>DetailTable.vue</strong><dd><code>Enable disable-truncation prop in detail view</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10257/files#diff-80552b5d25fa6cef9fbbe430b1865d761c4b132284c2d2175afceea8cbabc8c7">+2/-1</a> </td> </tr> <tr> <td><strong>IndexList.vue</strong><dd><code>Use $el to query and reset scroll container</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10257/files#diff-08f058f883b659e713e606991a7ea37ae1ff016b7cccef970489ab5840dc3d09">+2/-1</a> </td> </tr> <tr> <td><strong>streamWorker.js</strong><dd><code>Implement message deduplication and abort logic</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10257/files#diff-8534facfcca68c16701832f43a501abcdb92847115c46fced5d69792e5594dd9">+63/-1</a> </td> </tr> </table></details></td></tr><tr><td><strong>Error handling</strong></td><td><details><summary>1 files</summary><table> <tr> <td><strong>useStreamingSearch.ts</strong><dd><code>Handle abort_stream message and cleanup listeners</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10257/files#diff-8fce3e25a161cd458e734bd9b1f98aadefe3482da7b6529a5b1f4fa20ec115e2">+10/-1</a> </td> </tr> </table></details></td></tr><tr><td><strong>Configuration changes</strong></td><td><details><summary>1 files</summary><table> <tr> <td><strong>logsRenderingConfig.ts</strong><dd><code>Introduce logs rendering configuration thresholds</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10257/files#diff-6954119ee8e2fb2791a6172bcd6a36925853fabc776e662f53bfcec8bf12fdc0">+11/-0</a> </td> </tr> </table></details></td></tr><tr><td><strong>Bug fix</strong></td><td><details><summary>1 files</summary><table> <tr> <td><strong>search.rs</strong><dd><code>Pop front oversized hits to prevent infinite loop</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10257/files#diff-373e83a31e5bbc82fba05d7ae274b0dbd624ed748272232cf7eb8b8c3b2f3afc">+4/-3</a> </td> </tr> </table></details></td></tr><tr><td><strong>Additional files</strong></td><td><details><summary>1 files</summary><table> <tr> <td><strong>useSearchResponseHandler.ts</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/10257/files#diff-7dd7d0e65e8fe028b4969c970cf027ff39621921a41153f0a696e20478f0f858">+5/-2</a> </td> </tr> </table></details></td></tr></tr></tbody></table> </details> ___ --------- Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>