-
Notifications
You must be signed in to change notification settings - Fork 5
Description
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:
- bug / optimisation on deeply nested projections and three runners deep (e.g. nested / separated classes)
- bug in quality expecting specific code gen approach (somehow incompatible with initMutableStates - which creates the init function - / the projection )
- 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).