Skip to main content
A Parquet output directory belongs to one pipe. Data files carry no pipe id, so crash recovery cannot tell another pipe’s files from its own: it would delete that pipe’s temp files and its published files above this pipe’s cursor. At startup, before it touches any file, the target refuses a directory that holds a state file under a key other than its own — _sqd_parquet_state.<other>.json or the id-less _sqd_parquet_state.json. The message names the files it found and the one this pipe expects. Fix — give each pipe its own dir. To split a directory that two pipes already share, stop both and move one pipe’s state file and its table directories to a new directory; if both wrote the same table, its files cannot be told apart, so re-index that pipe into its new directory instead. If the state file is this pipe’s own under an old key — the source id or settings.id changed, or the state predates pipe ids — rename it to the name the message gives, and the pipe resumes from it.