Skip to content

[0.1.3.1] Compilation error with filter on deeply projected variable - init_0_0 #110

@chris-twiner

Description

@chris-twiner

Three runners deep filtering on results in a Databricks notebook fails. Selecting that field directly works, as does running expressions on it in the select (e.g. .isNull / is null), however when filter is used a compilation error is generated with a call to init_0_0 which does not exist.

Either:

  1. bug / optimisation on deeply nested projections and three runners deep (e.g. nested / separated classes)
  2. bug in quality expecting specific code gen approach (somehow incompatible with initMutableStates - which creates the init function - / the projection )
  3. bug in databricks / oss spark

In order for this to occur in the code there would need to be a freshname provided by initMutableStates / splitExpressions which is then not accessible to the code calling it, which doesn't make sense considering it's only used at the creation site.

Further of interest is using .cache before the error code generating filter removes the issue (e.g. probably changing the projection approach).

As such repo needed and OSS run to see what code is actually produced, if it doesn't occur on OSS it's a likely DBR bug, if it does there may be options for workarounds.

This would need to be fixed / remediated on a 0.1.3.2 version or a new 0.1.3.1 site update to explain this (irrespective of OSS or Databricks).

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions