Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix bug in PrestoVectorSerializers when serializing empty Vectors with complex types #9157

Closed

Conversation

kevinwilfong
Copy link
Contributor

Summary:
PrestoIterativeVectorSerializer currently only supports serializing empty Vectors/selections when the columns are flat
primitives. If the columns are complex attempting to serialize them will trigger a SIGSEGV.

PrestoBatchVectorSerializer doesn't support serializing empty Vectors/selections at all.

The fixes VectorStream to initialize itself and its children correctly when the Vector is empty. It also updates
PrestoBatchVectorSerializer to only call serialize on the children if the Vector is non-empty. With these two changes both
serializers support any column types in empty Vectors.

Differential Revision: D55090408

…h complex types (facebookincubator#9157)

Summary:

PrestoIterativeVectorSerializer currently only supports serializing empty Vectors/selections when the columns are flat
primitives.  If the columns are complex attempting to serialize them will trigger a SIGSEGV.

PrestoBatchVectorSerializer doesn't support serializing empty Vectors/selections at all.

The fixes VectorStream to initialize itself and its children correctly when the Vector is empty.  It also updates 
PrestoBatchVectorSerializer to only call serialize on the children if the Vector is non-empty.  With these two changes both 
serializers support any column types in empty Vectors.

Differential Revision: D55090408
@facebook-github-bot facebook-github-bot added the CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. label Mar 19, 2024
@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D55090408

Copy link

netlify bot commented Mar 19, 2024

Deploy Preview for meta-velox canceled.

Name Link
🔨 Latest commit 55178a0
🔍 Latest deploy log https://app.netlify.com/sites/meta-velox/deploys/65f9f1afe510cd00083fffb7

@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D55090408

Copy link
Contributor

@xiaoxmeng xiaoxmeng left a comment

Choose a reason for hiding this comment

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

@kevinwilfong thanks!

@facebook-github-bot
Copy link
Contributor

This pull request has been merged in 1d95a47.

Joe-Abraham pushed a commit to Joe-Abraham/velox that referenced this pull request Jun 7, 2024
…h complex types (facebookincubator#9157)

Summary:
Pull Request resolved: facebookincubator#9157

PrestoIterativeVectorSerializer currently only supports serializing empty Vectors/selections when the columns are flat
primitives.  If the columns are complex attempting to serialize them will trigger a SIGSEGV.

PrestoBatchVectorSerializer doesn't support serializing empty Vectors/selections at all.

The fixes VectorStream to initialize itself and its children correctly when the Vector is empty.  It also updates
PrestoBatchVectorSerializer to only call serialize on the children if the Vector is non-empty.  With these two changes both
serializers support any column types in empty Vectors.

Reviewed By: aozturk

Differential Revision: D55090408

fbshipit-source-id: 720bba19c265f0e1ee7dc55245e344aa4cda29fa
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. fb-exported Merged
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants