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

feat(kafka source&sink): expose rdkafka fetch params #11203

Merged
merged 19 commits into from Jul 28, 2023

Conversation

fuyufjh
Copy link
Contributor

@fuyufjh fuyufjh commented Jul 25, 2023

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

What's changed and what's your intention?

Expose these configurations for the convenience of debugging in the future.

I'll set better parameters in a separate PR, after sufficient performance test, etc.

related #10888 #11229

Checklist

  • I have written necessary rustdoc comments
  • I have added necessary unit tests and integration tests
  • 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 contains user-facing changes.
Click here for Documentation

Types of user-facing changes

Please keep the types that apply to your changes, and remove the others.

  • Connector (sources & sinks)

Release note

allow user specify kafka params in rw SQL (description in details available here)

valid for both source and sink

config name in RW config name in Kafka type
properties.message.max.bytes message.max.bytes int
properties.receive.message.max.bytes receive.message.max.bytes int

only valid in source

config name in RW config name in Kafka type
properties.queued.min.messages queued.min.messages int
properties.queued.max.messages.kbytes queued.max.messages.kbytes int
properties.fetch.wait.max.ms fetch.wait.max.ms int
properties.fetch.max.bytes fetch.max.bytes int

only valid for sink

config name in RW config name in Kafka type
properties.queue.buffering.max.messages queue.buffering.max.messages int
properties.queue.buffering.max.kbytes queue.buffering.max.kbytes int
properties.queue.buffering.max.ms queue.buffering.max.ms float
properties.enable.idempotence enable.idempotence bool (only accept 'true' and 'false')
properties.message.send.max.retries message.send.max.retries int
properties.retry.backoff.ms retry.backoff.ms int
properties.batch.num.messages batch.num.messages int
properties.batch.size batch.size int

@codecov
Copy link

codecov bot commented Jul 25, 2023

Codecov Report

Merging #11203 (90bf75c) into main (19263e7) will decrease coverage by 0.02%.
Report is 68 commits behind head on main.
The diff coverage is 56.86%.

@@            Coverage Diff             @@
##             main   #11203      +/-   ##
==========================================
- Coverage   69.74%   69.73%   -0.02%     
==========================================
  Files        1313     1313              
  Lines      224257   224410     +153     
==========================================
+ Hits       156414   156496      +82     
- Misses      67843    67914      +71     
Flag Coverage Δ
rust 69.73% <56.86%> (-0.02%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

Files Changed Coverage Δ
...rc/connector/src/source/kafka/enumerator/client.rs 0.00% <0.00%> (ø)
src/connector/src/source/kafka/source/reader.rs 0.00% <0.00%> (ø)
src/connector/src/common.rs 2.19% <9.09%> (+0.94%) ⬆️
src/connector/src/sink/kafka.rs 37.00% <59.49%> (+3.89%) ⬆️
src/connector/src/source/kafka/mod.rs 69.35% <67.24%> (-30.65%) ⬇️

... and 5 files with indirect coverage changes

📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more

@fuyufjh
Copy link
Contributor Author

fuyufjh commented Jul 26, 2023

Depends on #11232 because fetch.queue.backoff.ms was added in rdkafka 2.2.0

Update: I have removed fetch.queue.backoff.ms from the test cases, so that we can merge this first.

@fuyufjh fuyufjh force-pushed the eric/expose_rdkafka_fetch_params branch from 27aba9e to 42645de Compare July 27, 2023 02:36
@fuyufjh
Copy link
Contributor Author

fuyufjh commented Jul 28, 2023

@tabVersion LGTM. You may give an approval by yourself 🙌

@github-actions github-actions bot added the user-facing-changes Contains changes that are visible to users label Jul 28, 2023
Copy link
Contributor

@shanicky shanicky left a comment

Choose a reason for hiding this comment

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

LGTM

@tabVersion tabVersion added this pull request to the merge queue Jul 28, 2023
Merged via the queue into main with commit fb9a324 Jul 28, 2023
35 of 36 checks passed
@tabVersion tabVersion deleted the eric/expose_rdkafka_fetch_params branch July 28, 2023 09:12
@fuyufjh fuyufjh changed the title feat(kafka source): expose rdkafka fetch params feat(kafka source&sink): expose rdkafka fetch params Jul 31, 2023
@emile-00 emile-00 added the 📖✓ Covered or will be covered in the user docs. label Jul 31, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type/feature user-facing-changes Contains changes that are visible to users 📖✓ Covered or will be covered in the user docs.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants