-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
3 more fixes to UnsafeRow serialization #4797
Conversation
✅ Deploy Preview for meta-velox canceled.
|
This pull request was exported from Phabricator. Differential Revision: D45446862 |
Summary: Pull Request resolved: facebookincubator#4797 3 more fixes to UnsafeRow serialization to make it compatible with Spark Java: - The first integer that describes the row size needs to be 32 not 64 bits. - This integer needs to be serialized in big endian order. Curiously, the remaining integers within the UnsafeRow itself are little endian. - The input buffer allocated needs to be initialized to zero, since not all portions of it will be initialized in the UnsafeRow serialization code. Differential Revision: D45446862 fbshipit-source-id: ab217bfa38380dedd9c1e90dd9519371d93a0e3b
This pull request was exported from Phabricator. Differential Revision: D45446862 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@pedroerp Pedro, thank you for the fixes. Would you also update documentation to explain these details?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the fix @pedroerp . Looks good to me.
testDeserialize(data, 20, expected); | ||
} | ||
|
||
TEST_F(UnsafeRowSerializerTest, string) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should these tests go into velox/row/tests/UnsafeRowSerdeTest.cpp ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These test the full "package" or "stream" (the size, plus potentially many unsafe rows). The ones under velox/row only test the content of a single unsafe row.
Summary: Pull Request resolved: facebookincubator#4797 3 more fixes to UnsafeRow serialization to make it compatible with Spark Java: - The first integer that describes the row size needs to be 32 not 64 bits. - This integer needs to be serialized in big endian order. Curiously, the remaining integers within the UnsafeRow itself are little endian. - The input buffer allocated needs to be initialized to zero, since not all portions of it will be initialized in the UnsafeRow serialization code. Differential Revision: D45446862 fbshipit-source-id: 5ed254ce7663cd811a796ac3808333cc554ce903
This pull request was exported from Phabricator. Differential Revision: D45446862 |
Summary: Pull Request resolved: facebookincubator#4797 3 more fixes to UnsafeRow serialization to make it compatible with Spark Java: - The first integer that describes the row size needs to be 32 not 64 bits. - This integer needs to be serialized in big endian order. Curiously, the remaining integers within the UnsafeRow itself are little endian. - The input buffer allocated needs to be initialized to zero, since not all portions of it will be initialized in the UnsafeRow serialization code. Reviewed By: mbasmanova Differential Revision: D45446862 fbshipit-source-id: 4480ff99f7b784459d2f7f778d8f8d9371cda0a1
This pull request was exported from Phabricator. Differential Revision: D45446862 |
Summary: Pull Request resolved: facebookincubator#4797 3 more fixes to UnsafeRow serialization to make it compatible with Spark Java: - The first integer that describes the row size needs to be 32 not 64 bits. - This integer needs to be serialized in big endian order. Curiously, the remaining integers within the UnsafeRow itself are little endian. - The input buffer allocated needs to be initialized to zero, since not all portions of it will be initialized in the UnsafeRow serialization code. Reviewed By: mbasmanova Differential Revision: D45446862 fbshipit-source-id: 0e43d4e8f7254234870bf09567fd2ecd7e158e88
This pull request was exported from Phabricator. Differential Revision: D45446862 |
Summary: X-link: facebookincubator/velox#4797 3 more fixes to UnsafeRow serialization to make it compatible with Spark Java: - The first integer that describes the row size needs to be 32 not 64 bits. - This integer needs to be serialized in big endian order. Curiously, the remaining integers within the UnsafeRow itself are little endian. - The input buffer allocated needs to be initialized to zero, since not all portions of it will be initialized in the UnsafeRow serialization code. Reviewed By: mbasmanova Differential Revision: D45446862 fbshipit-source-id: 0961b9a27f367803bb1da149729128c0a6dbc15f
This pull request has been merged in 7d5cf2f. |
Summary: X-link: facebookincubator/velox#4797 3 more fixes to UnsafeRow serialization to make it compatible with Spark Java: - The first integer that describes the row size needs to be 32 not 64 bits. - This integer needs to be serialized in big endian order. Curiously, the remaining integers within the UnsafeRow itself are little endian. - The input buffer allocated needs to be initialized to zero, since not all portions of it will be initialized in the UnsafeRow serialization code. Reviewed By: mbasmanova Differential Revision: D45446862 fbshipit-source-id: 0961b9a27f367803bb1da149729128c0a6dbc15f
Summary: X-link: facebookincubator/velox#4797 3 more fixes to UnsafeRow serialization to make it compatible with Spark Java: - The first integer that describes the row size needs to be 32 not 64 bits. - This integer needs to be serialized in big endian order. Curiously, the remaining integers within the UnsafeRow itself are little endian. - The input buffer allocated needs to be initialized to zero, since not all portions of it will be initialized in the UnsafeRow serialization code. Reviewed By: mbasmanova Differential Revision: D45446862 fbshipit-source-id: 0961b9a27f367803bb1da149729128c0a6dbc15f
Summary: X-link: facebookincubator/velox#4797 3 more fixes to UnsafeRow serialization to make it compatible with Spark Java: - The first integer that describes the row size needs to be 32 not 64 bits. - This integer needs to be serialized in big endian order. Curiously, the remaining integers within the UnsafeRow itself are little endian. - The input buffer allocated needs to be initialized to zero, since not all portions of it will be initialized in the UnsafeRow serialization code. Reviewed By: mbasmanova Differential Revision: D45446862 fbshipit-source-id: 0961b9a27f367803bb1da149729128c0a6dbc15f
Summary: X-link: facebookincubator/velox#4797 3 more fixes to UnsafeRow serialization to make it compatible with Spark Java: - The first integer that describes the row size needs to be 32 not 64 bits. - This integer needs to be serialized in big endian order. Curiously, the remaining integers within the UnsafeRow itself are little endian. - The input buffer allocated needs to be initialized to zero, since not all portions of it will be initialized in the UnsafeRow serialization code. Reviewed By: mbasmanova Differential Revision: D45446862 fbshipit-source-id: 0961b9a27f367803bb1da149729128c0a6dbc15f
Summary: X-link: prestodb/presto#19502 Pull Request resolved: facebookincubator#4797 3 more fixes to UnsafeRow serialization to make it compatible with Spark Java: - The first integer that describes the row size needs to be 32 not 64 bits. - This integer needs to be serialized in big endian order. Curiously, the remaining integers within the UnsafeRow itself are little endian. - The input buffer allocated needs to be initialized to zero, since not all portions of it will be initialized in the UnsafeRow serialization code. diff-train-skip-merge Reviewed By: mbasmanova Differential Revision: D45446862 fbshipit-source-id: 74366c7e76ab1467c5e68d321430ad9da5b3830a
Summary: X-link: facebookincubator/velox#4797 3 more fixes to UnsafeRow serialization to make it compatible with Spark Java: - The first integer that describes the row size needs to be 32 not 64 bits. - This integer needs to be serialized in big endian order. Curiously, the remaining integers within the UnsafeRow itself are little endian. - The input buffer allocated needs to be initialized to zero, since not all portions of it will be initialized in the UnsafeRow serialization code. Reviewed By: mbasmanova Differential Revision: D45446862 fbshipit-source-id: 0961b9a27f367803bb1da149729128c0a6dbc15f
Summary:
3 more fixes to UnsafeRow serialization to make it compatible with
Spark Java:
remaining integers within the UnsafeRow itself are little endian.
portions of it will be initialized in the UnsafeRow serialization code.
Differential Revision: D45446862