Skip to content

Conversation

@davies
Copy link
Contributor

@davies davies commented May 20, 2016

What changes were proposed in this pull request?

Right now, we will split the code for expressions into multiple functions when it exceed 64k, which requires that the the expressions are using Row object, but this is not true for whole-state codegen, it will fail to compile after splitted.

This PR will not split the code in whole-stage codegen.

How was this patch tested?

Added regression tests.

@SparkQA
Copy link

SparkQA commented May 21, 2016

Test build #59041 has finished for PR 13235 at commit 4fcd0c7.

  • This patch passes all tests.
  • This patch merges cleanly.
  • This patch adds no public classes.

|"a": [{"e": "testing", "count": 3}], "b": [{"e": "test", "count": 1}]}},
|"f": {"b": {"c": [{"e": "adfgd"}], "a": [{"e": "testing", "count": 3}],
|"b": [{"e": "test", "count": 1}]}}, "b": {"b": {"c": [{"e": "adfgd"}],
|"a": [{"count": 3}], "b": [{"e": "test", "count": 1}]}}}'
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice fixture, haha!

@jurriaan
Copy link
Contributor

Thanks! Not sure if I understand it correctly, but what happens when the whole-stage codegen generates code longer then 64k? Because I thought about fixing this issue by passing some of the variables to the generated functions (but was not sure how to do that exactly).

@rxin
Copy link
Contributor

rxin commented May 23, 2016

hm this pull request outlines a problem with whole stage codegen, i.e. it is too convoluted at the moment and needs cleanup. Looking at the diff it is difficult to understand why this fixes a problem. We should still fix it, but really refactor and clean things up soon.

@ueshin
Copy link
Member

ueshin commented May 26, 2016

It looks like #12351 is the same issue about whole stage codegen with splitExpressions.

@viirya
Copy link
Member

viirya commented May 26, 2016

@ueshin yes. but #12351 is based on some assumptions and seems too complicated. So it is not merged.

@sameeragarwal
Copy link
Member

LGTM

@SparkQA
Copy link

SparkQA commented May 31, 2016

Test build #59679 has finished for PR 13235 at commit 8ffe73e.

  • This patch passes all tests.
  • This patch merges cleanly.
  • This patch adds no public classes.

@davies
Copy link
Contributor Author

davies commented May 31, 2016

Merging this into master and 2.0, thanks!

asfgit pushed a commit that referenced this pull request May 31, 2016
## What changes were proposed in this pull request?

Right now, we will split the code for expressions into multiple functions when it exceed 64k, which requires that the the expressions are using Row object, but this is not true for whole-state codegen, it will fail to compile after splitted.

This PR will not split the code in whole-stage codegen.

## How was this patch tested?

Added regression tests.

Author: Davies Liu <[email protected]>

Closes #13235 from davies/fix_nested_codegen.

(cherry picked from commit 2df6ca8)
Signed-off-by: Davies Liu <[email protected]>
@asfgit asfgit closed this in 2df6ca8 May 31, 2016
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.

7 participants