Skip to content

[common][flink] Fix BlobDescriptor lost during shuffle serialization#8494

Merged
JingsongLi merged 1 commit into
apache:masterfrom
liming30:fix-8493
Jul 7, 2026
Merged

[common][flink] Fix BlobDescriptor lost during shuffle serialization#8494
JingsongLi merged 1 commit into
apache:masterfrom
liming30:fix-8493

Conversation

@liming30

@liming30 liming30 commented Jul 7, 2026

Copy link
Copy Markdown
Contributor

Purpose

close #8493

[common][flink] Fix BlobDescriptor lost during shuffle serialization

writeBlob() and BlobSerializer called blob.toData() which downloads the actual file content for BlobRef, discarding the descriptor metadata. After BinaryRow deserialization the sink receives BlobData instead of BlobRef, causing "Blob data can not convert to descriptor" errors on tables with blob-descriptor-field when source and sink parallelism differ.

Tests

  • org.apache.paimon.flink.BlobTableITCase#testBlobDescriptorFieldStreamingWriteWithShuffle
  • org.apache.paimon.flink.BlobTableITCase#testBlobDescriptorFieldBatchWriteWithShuffle

writeBlob() and BlobSerializer called blob.toData() which downloads the
actual file content for BlobRef, discarding the descriptor metadata.
After BinaryRow deserialization the sink receives BlobData instead of
BlobRef, causing "Blob data can not convert to descriptor" errors on
tables with blob-descriptor-field when source and sink parallelism differ.

@JingsongLi JingsongLi left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1

@JingsongLi JingsongLi merged commit b18c14d into apache:master Jul 7, 2026
12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug] BLOB inline fields configured by blob-descriptor-field or blob-view-field require values to be a BlobDescriptor or BlobViewStruct.

2 participants