kzajaczkowski commented on issue #16212:
URL: https://github.com/apache/iceberg/issues/16212#issuecomment-4381811311

   Closing as a duplicate of #15395. Both issues stem from the same root cause 
in `RecordConverter.convertStructValue`: value-driven recursion that skips null 
fields and therefore misses schema updates for sub-fields whose parent value is 
null in the current record.
   
   The empty-struct variant described here is the more severe symptom of the 
same underlying defect: when the existing column is `struct<>` (which is what 
`IcebergWriterFactory.autoCreateTable` produces from a Protobuf `oneof` with 
zero-field marker arms), the partially-evolved table cannot be written to 
Parquet at all because `TypeUtil.checkValidWriteSchema` rejects empty groups, 
so the connector task transitions to `FAILED` rather than silently dropping 
data.
   
   PR #15396 addresses the detection side by switching to schema-driven 
traversal, which would discover all sub-fields regardless of which arm of a 
oneof is set in any individual record. I've left a note on the PR with the 
empty-struct case and a follow-up consideration about the call order in 
`IcebergWriter.convertToRow` so it isn't lost.


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