A couple of deployment changes and trace server improvements - #665
Conversation
nforro
commented
Jul 8, 2026
- Allow DuckDuckGoSearchTool on the firewall
- Increase resources for trace server
- Add multi-issue observability for MR consolidation agent
Signed-off-by: Nikola Forró <nforro@redhat.com> Assisted-by: Claude Opus 4.6 via Claude Code
Signed-off-by: Nikola Forró <nforro@redhat.com> Assisted-by: Claude Opus 4.6 via Claude Code
There was a problem hiding this comment.
Code Review
This pull request updates resource limits for the OpenTelemetry collector, allows egress traffic to Brave Search, and refactors the trace server to support multiple Jira issues per span/trace using a new span_issues database table. It also introduces a new /traces/recent endpoint to query recent root workflow spans. The review feedback highlights several critical areas for improvement: resolving an N+1 query bottleneck in the new /traces/recent endpoint, ensuring all spans in a trace receive the full merged set of Jira issues during propagation, preventing a potential AttributeError when parsing arrayValue in OTLP payloads, and restoring a fallback transaction name in the consolidation agent when no source issues are present.
Important
The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.
PR Summary by QodoOpenShift egress/resource tweaks + trace server multi-issue observability
AI Description
Diagram
High-Level Assessment
Files changed (4)
|
Code Review by Qodo
Context used✅ Compliance rules (platform):
7 rules 1.
|
|
/gemini review |
|
/agentic_review |
There was a problem hiding this comment.
Code Review
This pull request introduces support for multi-valued and propagated Jira issues across trace spans, backed by a new span_issues junction table in the SQLite database. It also adds a new /traces/recent endpoint to query recent root workflow spans, updates resource limits for the OpenShift OTEL collector, and allows egress traffic to Brave Search. Feedback focuses on ensuring data consistency by storing the full comma-separated list of issues in the legacy spans.jira_issue column, and providing a fallback value for jira_key in the MR consolidation agent when no source issues are present to avoid Sentry and tracing issues.
Important
The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.
|
Code review by qodo was updated up to the latest commit 026e1e3 |
|
/gemini review |
|
/agentic_review |
There was a problem hiding this comment.
Code Review
This pull request introduces several enhancements to tracing and database management, including a new /traces/recent endpoint, support for multi-valued Jira issues via a new span_issues junction table, and automated issue propagation across traces. It also adjusts OpenShift resource limits and egress rules. Feedback on these changes highlights a few critical areas: optimizing the database backfill migration to prevent startup performance bottlenecks, handling potential TypeError exceptions when parsing null array values, and ensuring fallback values are provided when a transaction's Jira key is null to prevent tracing failures.
Important
The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.
|
/gemini review |
There was a problem hiding this comment.
Code Review
This pull request introduces support for multiple Jira issues per span by creating a new span_issues junction table, updating span ingestion and querying, and adding a /traces/recent endpoint. It also increases OpenShift OTel collector resource limits and allows egress traffic to Brave Search. The review feedback identifies three critical issues: a parameter binding mismatch in query_spans when combining filters, a potential sqlite3.IntegrityError during span ingestion due to duplicate entries, and downstream ValidationErrors caused by setting jira_issue to None where non-nullable strings are expected.
Important
The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.
|
/gemini review |
There was a problem hiding this comment.
Code Review
This pull request updates the trace server and agents to support multiple Jira issues per trace/span, introducing a new span_issues junction table in SQLite and propagating issues across all spans in a trace. It also adds a new /traces/recent endpoint, introduces a SortedList validator for deterministic sorting of source issues, and updates OpenTelemetry collector resources and egress firewall rules. The reviewer suggested sorting the collected Jira issues in _resolve_source_issues to ensure deterministic behavior, matching the pattern used elsewhere in the codebase.
Important
The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.
|
/gemini review |
There was a problem hiding this comment.
Code Review
This pull request introduces a new /traces/recent endpoint to query recent root workflow spans, refactors Jira issue tracking to support multiple issues per span via a new span_issues junction table, and updates agent workflows and Pydantic schemas to handle optional and multi-valued Jira issues. Feedback on these changes suggests removing unused columns from the SQL query in query_recent_traces, adding default=None to optional Pydantic fields to prevent validation errors, and deduplicating lists in the sort_list validator before sorting.
Important
The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.
|
/gemini review |
There was a problem hiding this comment.
Code Review
This pull request introduces several updates to trace handling and agent workflows. Key changes include increasing resource limits for the OpenTelemetry collector, allowing egress traffic to Brave Search, and refactoring how Jira issues are stored and propagated. Specifically, a new span_issues junction table is introduced to support multiple Jira issues per span, along with a new /traces/recent endpoint to query recent root workflow spans. Additionally, several agent schemas and state models have been updated to allow jira_issue to be nullable and to enforce deduplicated, sorted lists of source issues. The feedback recommends wrapping the database query in the new /traces/recent endpoint within a try-except block to handle potential database exceptions gracefully and return a 500 error.
Important
The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.
lbarcziova
left a comment
There was a problem hiding this comment.
LGTM, couldn't spot anything problematic
| cpu: "100m" | ||
| memory: 384Mi | ||
| cpu: "200m" | ||
| memory: 1Gi |
There was a problem hiding this comment.
just out of curiosity, were we hitting significant issues with the lower resources? I see we still have some headroom in our namespace, so definitely let's accommodate to needs also for phoenix if needed
There was a problem hiding this comment.
Only with trace server, when querying data for the past ~6 days. That should be improved by the new API endpoint, but I don't think raising the limits hurts anything.
|
/gemini review |
There was a problem hiding this comment.
Code Review
This pull request updates the trace server to support multiple Jira issues per trace via a new span_issues junction table, propagates issues across spans in a trace, and adds a /traces/recent endpoint. It also updates OpenShift resource limits, allows null Jira issues in agent states, and enforces sorted, deduplicated issue lists. The review feedback highlights a potential Out-Of-Memory (OOM) issue during the database backfill in trace_server/server.py and suggests streaming and batching the query results instead of loading them all into memory with .fetchall().
Important
The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.
616f0e1 to
908353f
Compare
|
/gemini review |
There was a problem hiding this comment.
Code Review
This pull request introduces support for multi-valued and array-valued Jira issues, propagating them across all spans in a trace, and adds a new /traces/recent endpoint to query recent root workflow spans. It migrates the trace server database to use a new span_issues junction table, updates agent state models to allow nullable Jira issues, and introduces a UniqueSortedList validator for deterministic sorting and deduplication. Feedback on the changes highlights a critical issue in the SQL subquery joins in trace_server/server.py, where joining on span_id instead of trace_id can cause queries to fail for traces ingested across multiple batches.
Important
The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.
|
/gemini review |
There was a problem hiding this comment.
Code Review
This pull request introduces support for multiple and array-valued Jira issues per trace, propagating them across all spans in a trace and indexing them via a new span_issues junction table. It also adds a /traces/recent endpoint to query recent root workflow spans, updates agent schemas to support optional Jira issues, and increases resource limits for the OpenTelemetry collector. Feedback on the changes highlights a performance issue in trace_server/server.py where joining span_issues and spans solely on trace_id creates an inefficient Cartesian product; joining on both trace_id and span_id is recommended to optimize this to a 1-to-1 join.
Important
The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.
Signed-off-by: Nikola Forró <nforro@redhat.com> Assisted-by: Claude Opus 4.6 via Claude Code
|
/gemini review |
There was a problem hiding this comment.
Code Review
This pull request introduces several enhancements to trace and issue management. In trace_server/server.py, a new /traces/recent endpoint is added, and a span_issues junction table is introduced to support multiple Jira issues per span and propagate them across traces. The agent state and input schemas in ymir are updated to allow jira_issue to be optional (None) and to store source_issues as a deduplicated, sorted list (UniqueSortedList). Additionally, resource limits for the OpenShift OpenTelemetry collector are increased, and search.brave.com is added to the egress firewall rules. As there are no review comments, no further feedback is provided.
Important
The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.