Commit 62338ed
[SPARK-42626][CONNECT] Add Destructive Iterator for SparkResult
### What changes were proposed in this pull request?
Add a destructive iterator to SparkResult and change `Dataset.toLocalIterator` to use the desctructive iterator.
With the desctructive iterator, we will:
1. Close the `ColumarBatch` once its data got consumed;
2. Remove the `ColumarBatch` from `SparkResult.batches`;
### Why are the changes needed?
Instead of keeping everything in memory for the life time of SparkResult object, clean it up as soon as we know we are done with it.
### Does this PR introduce _any_ user-facing change?
No
### How was this patch tested?
UT added.
Closes #40610 from ivoson/SPARK-42626.
Authored-by: Tengfei Huang <[email protected]>
Signed-off-by: Herman van Hovell <[email protected]>1 parent fc3489d commit 62338ed
File tree
3 files changed
+81
-17
lines changed- connector/connect/client/jvm/src
- main/scala/org/apache/spark/sql
- connect/client
- test/scala/org/apache/spark/sql
3 files changed
+81
-17
lines changedLines changed: 1 addition & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2768 | 2768 | | |
2769 | 2769 | | |
2770 | 2770 | | |
2771 | | - | |
2772 | | - | |
| 2771 | + | |
2773 | 2772 | | |
2774 | 2773 | | |
2775 | 2774 | | |
| |||
Lines changed: 30 additions & 13 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
46 | 46 | | |
47 | 47 | | |
48 | 48 | | |
49 | | - | |
| 49 | + | |
| 50 | + | |
50 | 51 | | |
51 | 52 | | |
52 | 53 | | |
| |||
70 | 71 | | |
71 | 72 | | |
72 | 73 | | |
73 | | - | |
74 | | - | |
75 | | - | |
76 | | - | |
77 | | - | |
78 | | - | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
79 | 80 | | |
80 | 81 | | |
81 | 82 | | |
| |||
85 | 86 | | |
86 | 87 | | |
87 | 88 | | |
88 | | - | |
| 89 | + | |
| 90 | + | |
89 | 91 | | |
90 | 92 | | |
91 | 93 | | |
| |||
142 | 144 | | |
143 | 145 | | |
144 | 146 | | |
145 | | - | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
146 | 157 | | |
147 | 158 | | |
148 | 159 | | |
149 | 160 | | |
| 161 | + | |
150 | 162 | | |
151 | 163 | | |
152 | 164 | | |
153 | 165 | | |
| 166 | + | |
154 | 167 | | |
155 | | - | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
156 | 173 | | |
157 | 174 | | |
158 | 175 | | |
159 | 176 | | |
160 | 177 | | |
161 | 178 | | |
162 | | - | |
| 179 | + | |
163 | 180 | | |
164 | 181 | | |
165 | 182 | | |
| |||
182 | 199 | | |
183 | 200 | | |
184 | 201 | | |
185 | | - | |
| 202 | + | |
186 | 203 | | |
187 | 204 | | |
188 | | - | |
| 205 | + | |
189 | 206 | | |
Lines changed: 50 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
21 | 21 | | |
22 | 22 | | |
23 | 23 | | |
| 24 | + | |
24 | 25 | | |
25 | 26 | | |
26 | 27 | | |
| |||
30 | 31 | | |
31 | 32 | | |
32 | 33 | | |
| 34 | + | |
33 | 35 | | |
34 | 36 | | |
35 | 37 | | |
36 | 38 | | |
37 | 39 | | |
38 | 40 | | |
39 | | - | |
| 41 | + | |
40 | 42 | | |
41 | 43 | | |
42 | 44 | | |
43 | 45 | | |
44 | 46 | | |
| 47 | + | |
45 | 48 | | |
46 | 49 | | |
47 | | - | |
| 50 | + | |
48 | 51 | | |
49 | 52 | | |
50 | 53 | | |
| |||
890 | 893 | | |
891 | 894 | | |
892 | 895 | | |
| 896 | + | |
| 897 | + | |
| 898 | + | |
| 899 | + | |
| 900 | + | |
| 901 | + | |
| 902 | + | |
| 903 | + | |
| 904 | + | |
| 905 | + | |
| 906 | + | |
| 907 | + | |
| 908 | + | |
| 909 | + | |
| 910 | + | |
| 911 | + | |
| 912 | + | |
| 913 | + | |
| 914 | + | |
| 915 | + | |
| 916 | + | |
| 917 | + | |
| 918 | + | |
| 919 | + | |
| 920 | + | |
| 921 | + | |
| 922 | + | |
| 923 | + | |
| 924 | + | |
| 925 | + | |
| 926 | + | |
| 927 | + | |
| 928 | + | |
| 929 | + | |
| 930 | + | |
| 931 | + | |
| 932 | + | |
| 933 | + | |
| 934 | + | |
| 935 | + | |
| 936 | + | |
| 937 | + | |
| 938 | + | |
| 939 | + | |
| 940 | + | |
893 | 941 | | |
894 | 942 | | |
895 | 943 | | |
| |||
0 commit comments