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]
