mirror of
https://github.com/openobserve/openobserve.git
synced 2026-11-05 08:09:22 +00:00
## Summary Follow-up to #12249. The cross-type collision check in the file upload handler passes the formatted `stream_name` to `get_url_jobs_for_table`, but URL jobs are stored with the raw `table_name` from the HTTP path. When names contain uppercase or special characters, `format_stream_name("My_Table")` produces `"my_table"`, which won't match the stored URL job name `"My_Table"` — causing the cross-type protection to be silently bypassed. ## Fix Changed `get_url_jobs_for_table(&org_id, &stream_name)` to `get_url_jobs_for_table(&org_id, table_name.trim())` — matching how the URL handler itself queries URL jobs at line 299. ## Before/After ```rust // Before: formatted name passed to URL jobs lookup (WRONG) get_url_jobs_for_table(&org_id, &stream_name) // After: raw table_name passed (CORRECT, matches how URL handler queries) get_url_jobs_for_table(&org_id, table_name.trim()) ``` ## Notes - `ENRICHMENT_TABLES` cache key continues to use `stream_name` (formatted) — that's correct - `get_url_jobs_for_table` now uses `table_name.trim()` — matching the URL handler at line 299 🤖 Generated with [Claude Code](https://claude.com/claude-code) --------- Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>