Skip to content

fix(csv): use configured field separator in parallel chunk path#2601

Open
atlan-owen wants to merge 1 commit into
mainfrom
owen/csa-484
Open

fix(csv): use configured field separator in parallel chunk path#2601
atlan-owen wants to merge 1 commit into
mainfrom
owen/csa-484

Conversation

@atlan-owen

@atlan-owen atlan-owen commented Jul 1, 2026

Copy link
Copy Markdown

Summary

  • CSVReader.streamRows() hardcoded ',' in 3 places when splitting and re-reading chunk files for parallel batch processing, causing CsvParseException on any non-comma-delimited CSV (e.g. semicolon, common in European Excel locales)
  • Root cause: fieldSeparator was a bare constructor parameter, not a val, so it was inaccessible in class methods — promoted to private val and replaced all 3 hardcoded commas
  • Adds CSVFieldSeparatorTest proving the crash: semicolon CSV + comma reader throws CsvParseException: Unexpected character after closing quote: ';'

Context

  • Linear: CSA-484 — related to CSA-476 (gandalf validator, separate repo)
  • Zendesk: ZD-126118 (Euronext), ZD-125771 (BBVA)
  • CSA-476 fixes the gandalf pre-flight validator that blocks non-comma CSVs before they reach the runtime. This PR fixes the runtime so it actually works once the validator is unblocked.

Test plan

  • CSVFieldSeparatorTest — 3 tests proving semicolon works with correct separator, crashes with hardcoded comma, and comma control passes
  • Full package-toolkit:runtime:test suite — 65/65 pass
  • spotlessApply clean

…484)

CSVReader.streamRows() hardcoded comma in chunk write/read, crashing
on non-comma-delimited files with CsvParseException. Promote fieldSeparator
to a class field and use it at lines 190, 202, 219.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: atlan-owen <owen.price@atlan.com>
@atlan-owen atlan-owen requested a review from cmgrote as a code owner July 1, 2026 23:44
@linear

linear Bot commented Jul 1, 2026

Copy link
Copy Markdown

CSA-484

CSA-476

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant