-
Notifications
You must be signed in to change notification settings - Fork 482
build(deps): Switch to (mostly) upstream librdkafka #34017
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
|
Some build failures, have to see if we can get them fixed, but including curl doesn't seem that great: https://buildkite.com/materialize/test/builds/111230#019a4be8-5906-46c0-a7fe-6eb43453b110 |
|
There are unfortunately some test failures now: https://buildkite.com/materialize/test/builds/111238#019a4db7-ac91-4357-86d3-9c3c7d4dfcea I'll fix the Kafka tests ones. The Source/Sink Error Reporting ones look serious, I'm not sure if it's a bug in librdkafka or we need to adapt our code to changes: |
|
I looked into the source/sink errors a bit ( |
|
I bisected the Source/Sink error failures in librdkafka: I think the old behavior in librdkafka was just buggy, the new one seems to be as documented: https://docs.confluent.io/platform/current/clients/librdkafka/html/md_CONFIGURATION.html diff --git a/src/kafka-util/src/client.rs b/src/kafka-util/src/client.rs
index 0181af23ae..e6cdc9facf 100644
--- a/src/kafka-util/src/client.rs
+++ b/src/kafka-util/src/client.rs
@@ -955,6 +955,7 @@ pub fn create_new_client_config(
.as_millis()
.to_string(),
);
+ config.set("topic.metadata.propagation.max.ms", "10000");
config
}Would we prefer that compared to changing the test? |
My understanding is it should be fine to lower this value. We do handle topic propagation delay in ensure_topic(), this change should just make that detection faster. I'm not sure if we want to set it for all kafka clients or just sinks. Changes in topic metadata aren't likely to happen often. I'd vote for just setting it for the admin client we use to create the topic in sink.rs. |
|
I'm ok with merging this as is. The 60s value in the test was just randomly chosen, it's not like we ever deliberately tested or specified that that's the time for a sink error to propagate. I tried the sink-only change but that still causes the same test failures: #34034 |
martykulma
left a comment
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 @def-!
Using MaterializeInc/rust-rdkafka#35 which in turn is based on confluentinc/librdkafka#5230 (master with a minor build fix since we don't have libcurl available)
Checklist
$T ⇔ Proto$Tmapping (possibly in a backwards-incompatible way), then it is tagged with aT-protolabel.