-
Notifications
You must be signed in to change notification settings - Fork 5.5k
Add ConnectorDeleteTableHandle to ConnectorProtocol #24721
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
Conversation
This pull request was exported from Phabricator. Differential Revision: D70209547 |
After I run |
What is the diff you are seeing after "make presto_protocol"? I ran that as part of this change, but it's possible something else got in after a rebase. Can you share the diff after your build? CPP build is passing on the CI signals for the PR. What failure do you see there? |
Summary: Pull Request resolved: prestodb#24721 Differential Revision: D70209547
34f75af
to
517c837
Compare
This pull request was exported from Phabricator. Differential Revision: D70209547 |
@@ -27,6 +27,7 @@ using IcebergConnectorProtocol = ConnectorProtocolTemplate< | |||
IcebergSplit, | |||
NotImplemented, | |||
hive::HiveTransactionHandle, | |||
NotImplemented, |
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.
There are still build failures related to Iceberg:
In file included from /Users/jiaqizhang/Repos/presto/presto-native-execution/presto_cpp/presto_protocol/presto_protocol.cpp:19:
/Users/jiaqizhang/Repos/presto/presto-native-execution/./presto_cpp/presto_protocol/connector/iceberg/presto_protocol_iceberg.cpp:1074:9: error: no member named 'affinitySchedulingSectionSize' in 'facebook::presto::protocol::iceberg::IcebergSplit'
1074 | p.affinitySchedulingSectionSize,
| ~ ^
/Users/jiaqizhang/Repos/presto/presto-native-execution/./presto_cpp/presto_protocol/connector/iceberg/presto_protocol_iceberg.cpp:1153:9: error: no member named 'affinitySchedulingSectionSize' in 'facebook::presto::protocol::iceberg::IcebergSplit'
1153 | p.affinitySchedulingSectionSize,
| ~ ^
2 errors generated.
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.
why wouldn't this fail in the CI?
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.
Those are not from my changes. It looks like other changes went in without rebuilding presto_protocol.
@@ -3251,6 +3251,91 @@ void from_json(const json& j, CreateHandle& p) { | |||
"schemaTableName"); | |||
} | |||
} // namespace facebook::presto::protocol | |||
/* |
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.
I know this isn't specific to your change, but why is the license generated a zillion times in this file?
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 are coming from the special/*.(cpp|hpp).inc files which are copied in to the protocol files. We could drop the license headers from those or try to make the script smart enough to strip them out (java-to-struct-json.py I think).
@@ -27,6 +27,7 @@ using IcebergConnectorProtocol = ConnectorProtocolTemplate< | |||
IcebergSplit, | |||
NotImplemented, | |||
hive::HiveTransactionHandle, | |||
NotImplemented, |
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.
why wouldn't this fail in the CI?
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 @ghelmling for making the protocol up to date and fix the build with new coordiantor.
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.
LGTM
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.
lgtm
Summary: Pull Request resolved: #24721 Differential Revision: D70209547
This pull request was exported from Phabricator. Differential Revision: D70209547 |
Summary: Pull Request resolved: prestodb#24721 Differential Revision: D70209547
Description
In PR #24528 we added a new
ConnectorDeleteTableHandle
interface for use inConnectorMetadata::beginDelete
andfinishDelete
. This changes adds a type parameter for ConnectorDeleteTableHandle implementations to theConnectorProtocolTemplate
declaration, with corresponding hooks inConnectorProtocol
for presto_protocol (de)serialization.Motivation and Context
Adding the implementing type as a parameter to
ConnectorProtocolTemplate
is required to correctly serializeConnectorDeleteTableHandle
implementations to native workers.Impact
Any current connectors defining
ConnectorProtocolTemplate
specializations will need to add a type parameter for theConnectorDeleteTableHandle
implementing type. If the connector does not currently handleConnectorDeleteTableHandle
, it can use theNotImplemented
type.Test Plan
No new tests added, as testing the
ConnectorDeleteTableHandle
serialization would require a corresponding implementation to test.Contributor checklist
Release Notes
Please follow release notes guidelines and fill in the release notes below.
Differential Revision: D70209547