Uh oh!
There was an error while loading. Please reload this page.
[SPARK-16664][SQL] Fix persist call on Data frames with more than 200… - #14324
[SPARK-16664][SQL] Fix persist call on Data frames with more than 200…#14324breakdawn wants to merge 4 commits into
Conversation
… columns is wiping out the data.
rxin
commented
Jul 23, 2016
Can you add a test case? |
breakdawn
commented
Jul 23, 2016
Yes, working on that |
@breakdawn it'd be great to do more tests when you open a request. As I'm investigating into this too, I found that my same fix works for 201 cols but fails for 8118 cols. The exact limit is 8117. |
breakdawn
commented
Jul 23, 2016
@lw-lin You're right, thanks for your suggestion. |
breakdawn
commented
Jul 23, 2016
8118 cols limit due to janino, the exception like following, might be another story |
@breakdawn yes that's a different issue and I've been looking into it. Regarding what this PR tries to fix, could you run this PR's change against this test case to see whether it's sufficient? |
| } | ||
| test("SPARK-16664: persist with more than 200 columns") { | ||
| val size = 201l |
There was a problem hiding this comment.
Nit: write 201L for a long literal; it's too easy to read this as 2011.
srowen
commented
Jul 23, 2016
There are actually 55 occurrences of this type of problem in the code base. I think I will open a PR separately to fix them. It might or might not cause a problem in practice in other cases, but many are in examples or tests, where we might not observe the consequence. |
breakdawn
commented
Jul 23, 2016
@lw-lin umm, thanks for pointing it out. Since the limit is 8117, 10000 will fail, that case needs a update. |
@breakdawn what else can we do to actually fix the ≥ 8118 cols issue? We're actually running out of the constant pool when we compile the generated code. So maybe compile it into multiple classes? Or just fall back to the non-code-gen path? Thanks. |
breakdawn
commented
Jul 24, 2016
@lw-lin Personally, multiple classes way is smoother base on current implementation. But no matter in what way, it's a big change, maybe it's better to open another jira issue to involve more discussions. |
breakdawn
commented
Jul 26, 2016
srowen
commented
Jul 26, 2016
Jenkins test this please |
SparkQA
commented
Jul 26, 2016
Test build #62876 has finished for PR 14324 at commit
|
| val columnarIterator1 = GenerateColumnAccessor.generate(columnTypes1) | ||
| val length2 = 10000 | ||
| //SPARK-16664: the limit of janino is 8117 |
srowen
commented
Jul 27, 2016
Jenkins retest this please |
srowen
commented
Jul 27, 2016
Jenkins add to whitelist |
SparkQA
commented
Jul 27, 2016
Test build #62920 has finished for PR 14324 at commit
|
## What changes were proposed in this pull request? f12f11e introduced this bug, missed foreach as map ## How was this patch tested? Test added Author: Wesley Tang <tangmingjun@mininglamp.com> Closes#14324 from breakdawn/master. (cherry picked from commit d1d5069) Signed-off-by: Sean Owen <sowen@cloudera.com>
srowen
commented
Jul 29, 2016
Merged to master/2.0/1.6 |
srowen
commented
Jul 29, 2016
Darn, this breaks 1.6, because the test doesn't compile. I'll revert it in 1.6. @breakdawn if you're willing, could you open a PR vs 1.6 that updates the test to work in that branch? |
f12f11e introduced this bug, missed foreach as map Test added Author: Wesley Tang <tangmingjun@mininglamp.com> Closesapache#14324 from breakdawn/master. (cherry picked from commit d1d5069) Signed-off-by: Sean Owen <sowen@cloudera.com> (cherry picked from commit 15abbf9)
What changes were proposed in this pull request?
f12f11e introduced this bug, missed foreach as map
How was this patch tested?
Test added