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

refactor(source): move protobuf to codec crate, and refactor tests #18507

Merged
merged 6 commits into from
Sep 13, 2024

Conversation

xxchan
Copy link
Member

@xxchan xxchan commented Sep 12, 2024

I hereby agree to the terms of the RisingWave Labs, Inc. Contributor License Agreement.

What's changed and what's your intention?

#17002 Similar to the refactors on Avro. Make it more understandable and easier to change/add tests

  • Previously each test case have a slightly different test style. Now they are unified into one simple and powerful one.
  • Previously we rely on manually compile the test .proto files. But we can compile it ourself in code.
  • Delete some e2e tests, which is not very helpful, but added complexity of test script.
  • Split all-types from recursive to reduce confusion.

Checklist

  • I have written necessary rustdoc comments
  • I have added necessary unit tests and integration tests
  • I have added test labels as necessary. See details.
  • I have added fuzzing tests or opened an issue to track them. (Optional, recommended for new SQL features Sqlsmith: Sql feature generation #7934).
  • My PR contains breaking changes. (If it deprecates some features, please create a tracking issue to remove them in the future).
  • All checks passed in ./risedev check (or alias, ./risedev c)
  • My PR changes performance-critical code. (Please run macro/micro-benchmarks and show the results.)
  • My PR contains critical fixes that are necessary to be merged into the latest release. (Please check out the details)

Documentation

  • My PR needs documentation updates. (Please use the Release note section below to summarize the impact on users)

Release note

If this PR includes changes that directly affect users or other significant modifications relevant to the community, kindly draft a release note to provide a concise summary of these changes. Please prioritize highlighting the impact these changes will have on users.

@xxchan xxchan marked this pull request as ready for review September 12, 2024 07:27
@xxchan xxchan requested a review from a team as a code owner September 12, 2024 07:27
@xxchan xxchan requested a review from hzxa21 September 12, 2024 07:27
Copy link
Member Author

xxchan commented Sep 12, 2024

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @xxchan and the rest of your teammates on Graphite Graphite

@xxchan xxchan force-pushed the xxchan/constitutional-gerbil branch 2 times, most recently from 8dfd00a to cb1d07c Compare September 12, 2024 08:47
@graphite-app graphite-app bot requested a review from a team September 12, 2024 09:16
Serialize,
}

pub fn compile_pb(
Copy link
Contributor

Choose a reason for hiding this comment

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

This is shared between source/parser/decoder and sink/encoder, so it was in schema at the same level as source or sink. After moving to codec it shall not be part of decoder.

//! ## Why not directly test the uppermost layer `AvroParserConfig` and `AvroAccessBuilder`?
//!
//! Because their interface are not clean enough, and have complex logic like schema registry.
//! We might need to separate logic to make them clenaer and then we can use it directly for testing.
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
//! We might need to separate logic to make them clenaer and then we can use it directly for testing.
//! We might need to separate logic to make them cleaner and then we can use it directly for testing.

- Previously each test case have a slightly different test style. Now they are unified into one simple and powerful one.
- Previously we rely on manually compile the test .proto files. But we can compile it ourself in code.
- Delete some e2e tests, which is not very helpful, but added complexity of test script.
- Split `all-types` from `recursive` to reduce confusion.

Signed-off-by: xxchan <xxchan22f@gmail.com>
Signed-off-by: xxchan <xxchan22f@gmail.com>
Signed-off-by: xxchan <xxchan22f@gmail.com>
Signed-off-by: xxchan <xxchan22f@gmail.com>
Signed-off-by: xxchan <xxchan22f@gmail.com>
Signed-off-by: xxchan <xxchan22f@gmail.com>
@xxchan xxchan added this pull request to the merge queue Sep 13, 2024
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Sep 13, 2024
@xxchan xxchan added this pull request to the merge queue Sep 13, 2024
Merged via the queue into main with commit c219218 Sep 13, 2024
30 of 31 checks passed
@xxchan xxchan deleted the xxchan/constitutional-gerbil branch September 13, 2024 08:45
xxchan added a commit that referenced this pull request Sep 17, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants