andygrove commented on PR #5603:
URL: 
https://github.com/apache/datafusion-comet/pull/5603#issuecomment-5876628283

   This is a light fully automated review since there are so many PRs open.
   
   The `RowArrowReader`, `SparkColumnarArrowReader` and `CometArrowConverters` 
changes in 714aa8d9b (`RowArrowReader.scala:58`, 
`SparkColumnarArrowReader.scala:55`, `CometArrowConverters.scala:69` and `:99`) 
are the fix for the cached-view panic from my last review, but I don't think 
any test reaches them with a duplicate-name struct. The new case at 
`CometInMemoryCacheSuite.scala:165` builds `named_struct('x', id, 'x', id + 1)` 
in a native `CometProject` above `CometSparkRowToColumnar(Range)`, so 
`RowArrowReader` only ever sees `id`. The cache is then written from 
Arrow-backed batches through `serializeBatchColumns` rather than 
`rowToArrowBatchIter`, and read back through `CometArrowStreamReader` and 
`ColumnarBatchArrowReader`, which already handled duplicates before that 
commit. As far as I can trace it, the test would pass with all three changes 
reverted. Could you add the `cacheTable` repro from my last review as a test in 
a suite that keeps Spark's default cache serializer, wher
 e `SELECT s FROM v WHERE k > 1` plans `CometFilter` over 
`CometSparkRowToColumnar`? A `CometInMemoryCacheSuite` case where Spark builds 
the struct would cover the converter, for example caching with 
`spark.comet.sparkToColumnar.enabled=false` so the cached plan is a Spark 
`Project` and `convertInternalRowToCachedBatch` runs. These would also show 
whether reconciling main's duplicate-name guards really lets these shapes 
through, since main's `ArrowCachedBatchSerializer.supportsType` now declines 
duplicate names too (#6004), and with that check in place the new cache test 
would not plan `CometInMemoryTableScan` at all.
   


-- 
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]

Reply via email to