JingsongLi commented on code in PR #9181:
URL: https://github.com/apache/paimon/pull/9181#discussion_r3764449560
##########
paimon-flink/paimon-flink-common/src/main/java/org/apache/paimon/flink/sink/FlinkSinkBuilder.java:
##########
@@ -225,7 +225,9 @@ public DataStreamSink<?> build() {
table.rowType(),
readerFactoryForDescriptor,
table.coreOptions().blobWriteNullOnMissingFile(),
- table.coreOptions().blobWriteNullOnFetchFailure());
+ table.coreOptions().blobWriteNullOnFetchFailure(),
+ materializedBlobFieldIndexes(
Review Comment:
This also marks managed BLOB fields in primary-key tables as safe to defer,
but those tables materialize them through `PrimaryKeyBlobExternalizer`. Its
internal `BlobFormatWriter` is constructed with both write-null flags set to
`false`, so an HTTP 404 is propagated instead of being converted to NULL. A
primary-key table with `blob-write-null-on-missing-file=true` therefore fails
the sink job after this change, whereas the previous preflight wrote NULL.
Please either keep the preflight for primary-key tables, or add equivalent
fallback support to `PrimaryKeyBlobExternalizer` (including handling a NULL
result), and cover this path with a primary-key HTTP 404 integration test.
--
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]