-
Notifications
You must be signed in to change notification settings - Fork 602
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
CORE-8964 Add protobuf support to existing ducktape suite for schema evolution. #24998
CORE-8964 Add protobuf support to existing ducktape suite for schema evolution. #24998
Conversation
def67d8
to
76ba6c1
Compare
CI test resultstest results on build#61476
test results on build#61487
test results on build#61530
|
76ba6c1
to
0f1d959
Compare
Specifically move producer and table verification methods onto AvroSchema in preparation for extending to something more generic (to support both avro & protobuf schemas) Signed-off-by: Oren Leiman <[email protected]>
Basically what it says on the tin. Avoid changing the semantics of any test cases, just add the ability to produce protobuf records of the same structure as the current avro ones. Signed-off-by: Oren Leiman <[email protected]>
Signed-off-by: Oren Leiman <[email protected]>
0f1d959
to
676eef9
Compare
fields="\n".join([ | ||
f" {'optional ' if ver == ProtobufVersion.PROTO2 else ''}{p_fields[i]['type']} {p_fields[i]['name']} = {i+1};" | ||
for i in range(len(p_fields)) | ||
]), |
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.
l33t. this would almost have had me grabbing Jinja2 which is available in our deps (i think).
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.
yeah lol, this would be totally untenable if the types were any more complicated. it's annoying enough translating between avro & proto & spark & trino that it's probably better to let sleeping dogs lie 🙃
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.
Someday this is going to get tricky with nested messages. I think it's worth testing nested messages, but we can do that later, can you make sure there is a Jira for it?
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.
yeah no doubt. i'm not totally convinced this is the place for those tests, but yeah I can make a Jira. Apropos of nothing, I suspect (for this and other similar features) that our coverage of various protobuf cases is pretty limited.
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 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.
Fantastic thank you!
fields="\n".join([ | ||
f" {'optional ' if ver == ProtobufVersion.PROTO2 else ''}{p_fields[i]['type']} {p_fields[i]['name']} = {i+1};" | ||
for i in range(len(p_fields)) | ||
]), |
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.
Someday this is going to get tricky with nested messages. I think it's worth testing nested messages, but we can do that later, can you make sure there is a Jira for it?
Test semantics don't change.
Backports Required
Release Notes