Skip to content

[sql] The compier doesn't assign persistent ids to unused recursive variables. #6792

Description

@ryzhyk

The compiler currently treats every view in a recursive fragment as a recursive variable (a stream passed to the recursive closure). However, only a subset of these variables are actually used to close the recursive feedback loop. Other variables are passed as _ to the closure and are not assigned a PID. DBSP ends up creating Z-1 operators whose output is disconnected for such streams. Since they don't have a PID, checkpointing fails for them.

There are two possible solutions:

  1. Such streams don't need to be declared as recursive variables.
  2. If we insist on making them variables, we need to assign persistent ids to them.

Metadata

Metadata

Assignees

Labels

SQL compilerRelated to the SQL compiler

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions