CodiumAI-Agent commented on PR #9701: URL: https://github.com/apache/incubator-gluten/pull/9701#issuecomment-2900641696
## PR Reviewer Guide ๐ Here are some key observations to aid the review process: <table> <tr><td> **๐ซ Ticket compliance analysis ๐ถ** **[9700](https://github.com/apache/incubator-gluten/issues/9700) - Partially compliant** Compliant requirements: - Support conversion of complex/nested types (RowType) from RowData to Arrow vectors - Refactor the row-to-vector conversion logic into modular ArrowVectorWriter classes - Add unit tests covering nested RowType conversion scenarios Non-compliant requirements: - Support for ArrayType conversion from RowData to Arrow vectors - Support for MapType conversion from RowData to Arrow vectors Requires further human verification: - Performance and memory usage characteristics of the new conversion implementation </td></tr> <tr><td>โฑ๏ธ <strong>Estimated effort to review</strong>: 3 ๐ต๐ต๐ตโชโช</td></tr> <tr><td>๐งช <strong>PR contains tests</strong></td></tr> <tr><td>๐ <strong>No security concerns identified</strong></td></tr> <tr><td>โก <strong>Recommended focus areas for review</strong><br><br> <details><summary><a href='https://github.com/apache/incubator-gluten/pull/9701/files#diff-3c6fd3801f3aa665f58b0d43d1da24d1977ae39012832e77048365499a2fc571R283-R285'><strong>Unused variable</strong></a> The variable `offsetVector` is retrieved in `StructVectorWriter.write` but never used, indicating incomplete handling of struct offsets. </summary> ```java valueCount++; BigIntVector offsetVector = (BigIntVector) vector.getChildByOrdinal(0); } ``` </details> <details><summary><a href='https://github.com/apache/incubator-gluten/pull/9701/files#diff-3c6fd3801f3aa665f58b0d43d1da24d1977ae39012832e77048365499a2fc571R277-R283'><strong>Null handling</strong></a> `StructVectorWriter.write` does not check for null `subRowData`, which may lead to a NullPointerException when nested rows are absent. </summary> ```java public void write(int fieldIndex, RowData rowData) { RowData subRowData = rowData.getRow(fieldIndex, fieldCounts); vector.setIndexDefined(valueCount); for (int i = 0; i < fieldCounts; i++) { subFieldWriters.get(i).write(i, subRowData); } valueCount++; ``` </details> </td></tr> </table> -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
