Uh oh!
There was an error while loading. Please reload this page.
[SPARK-20474] Fixing OnHeapColumnVector reallocation - #17773
[SPARK-20474] Fixing OnHeapColumnVector reallocation#17773michal-databricks wants to merge 1 commit into
Conversation
hvanhovell
commented
Apr 26, 2017
ok to test |
SparkQA
commented
Apr 26, 2017
Test build #76184 has finished for PR 17773 at commit
|
| if (this.arrayLengths != null) { | ||
| System.arraycopy(this.arrayLengths, 0, newLengths, 0, elementsAppended); | ||
| System.arraycopy(this.arrayOffsets, 0, newOffsets, 0, elementsAppended); | ||
| System.arraycopy(this.arrayLengths, 0, newLengths, 0, capacity); |
There was a problem hiding this comment.
Nice catch. Do we also need to fix reserveInternal in OffHeapColumnVector? Additionally, after this change, do we even need elementsAppended anymore?
There was a problem hiding this comment.
elementsAppended is necessary to keep the tail position by append<TYPE>().
sameeragarwal
commented
Apr 26, 2017
add to whitelist |
1 similar comment
gatorsmile
commented
Apr 26, 2017
add to whitelist |
SparkQA
commented
Apr 26, 2017
Test build #76191 has finished for PR 17773 at commit
|
SparkQA
commented
Apr 26, 2017
Test build #76192 has finished for PR 17773 at commit
|
rxin
commented
Apr 26, 2017
Merging in master/branch-2.2. |
## What changes were proposed in this pull request? OnHeapColumnVector reallocation copies to the new storage data up to 'elementsAppended'. This variable is only updated when using the ColumnVector.appendX API, while ColumnVector.putX is more commonly used. ## How was this patch tested? Tested using existing unit tests. Author: Michal Szafranski <michal@databricks.com> Closes#17773 from michal-databricks/spark-20474. (cherry picked from commit a277ae8) Signed-off-by: Reynold Xin <rxin@databricks.com>
kiszk
commented
Apr 27, 2017
Do we need similar changes for |
michal-databricks
commented
Apr 27, 2017
Actually yes, I missed it because |
kiszk
commented
Apr 27, 2017
Yes, I think it should see |
## What changes were proposed in this pull request? As #17773 revealed `OnHeapColumnVector` may copy a part of the original storage. `OffHeapColumnVector` reallocation also copies to the new storage data up to 'elementsAppended'. This variable is only updated when using the `ColumnVector.appendX` API, while `ColumnVector.putX` is more commonly used. This PR copies the new storage data up to the previously-allocated size in`OffHeapColumnVector`. ## How was this patch tested? Existing test suites Author: Kazuaki Ishizaki <ishizaki@jp.ibm.com> Closes#17811 from kiszk/SPARK-20537. (cherry picked from commit afb21bf) Signed-off-by: Wenchen Fan <wenchen@databricks.com>
## What changes were proposed in this pull request? As #17773 revealed `OnHeapColumnVector` may copy a part of the original storage. `OffHeapColumnVector` reallocation also copies to the new storage data up to 'elementsAppended'. This variable is only updated when using the `ColumnVector.appendX` API, while `ColumnVector.putX` is more commonly used. This PR copies the new storage data up to the previously-allocated size in`OffHeapColumnVector`. ## How was this patch tested? Existing test suites Author: Kazuaki Ishizaki <ishizaki@jp.ibm.com> Closes#17811 from kiszk/SPARK-20537.
What changes were proposed in this pull request?
OnHeapColumnVector reallocation copies to the new storage data up to 'elementsAppended'. This variable is only updated when using the ColumnVector.appendX API, while ColumnVector.putX is more commonly used.
How was this patch tested?
Tested using existing unit tests.