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

Issue with Burrow from 1.6.0 to 1.7.0/1.8.0/1.9.1/1.9.2 #817

Closed
grigassukys opened this issue May 8, 2024 · 15 comments
Closed

Issue with Burrow from 1.6.0 to 1.7.0/1.8.0/1.9.1/1.9.2 #817

grigassukys opened this issue May 8, 2024 · 15 comments

Comments

@grigassukys
Copy link

grigassukys commented May 8, 2024

Hello,

I've encountered an issue when updating the Burrow package from version 1.6.0 to 1.7.0/1.8.0/1.9.1/1.9.2. The configuration remains exactly the same as it was in version 1.6.0, but starting from version 1.7.0, it no longer works as expected. If I rollback to 1.6.0, everything works the same as before.

Errors I'm getting when updating to 1.7.0/1.8.0/1.91/1.92:

{"level":"debug","ts":1715166414.740178,"msg":"Error while performing SASL Auth IP:PORT","name":"sarama"} {"level":"debug","ts":1715166414.7402897,"msg":"Closed connection to broker IP:PORT","name":"sarama"} {"level":"debug","ts":1715166414.74035,"msg":"Error while sending ApiVersionsRequest to broker IP:PORT: EOF","name":"sarama"} {"level":"debug","ts":1715166414.740367,"msg":"client/metadata got error from broker -1 while fetching metadata:EOF","name":"sarama"}

Or like this
{"level":"error","ts":1715163313.996046,"msg":"failed to start client","type":"module","coordinator":"cluster","class":"kafka","name":"MYCLUSTER","error":"kafka: client has run out of available brokers to talk to: 3 errors occurred:\n\t* EOF\n\t* EOF\n\t* EOF\n"}

Steps to Reproduce:

  1. Update the Burrow package from version 1.6.0 to 1.7.0/1.8.0/1.9.1/1.9.2
  2. Use the same configuration as in version 1.6.0.

Expected Behavior:

The Burrow package should work as expected with the same configuration as in version 1.6.0.

Actual Behavior:

The Burrow package does not work as expected starting from version 1.7.0.

Environment:

  • Burrow version: 1.7.0/1.8.0/1.9.1/1.9.2
  • Kafka Version: 3.5.2
  • Zookeeper version: 3.8.0
@lukasertl
Copy link

Is your kafka-version setting in the client-profile up-to-date? I had similar problems and fixed it by updating this setting.

@grigassukys
Copy link
Author

@lukasertl kafka-version is set to 3.5.2 as this is our version of the cluster

@nkostoulas
Copy link

Having the same issue when using SASL/SCRAM for authentication.

@grigassukys
Copy link
Author

@bai maybe you could take a look at this? thank you!

@cdenneen
Copy link

Having same issue... had to revert back to 1.6.0

My 1.6.0 config has a fake tls with unverify=true which has worked for years. I thought this was the issue with the EOF so I actually removed that and went back to plaintext instead. This still rendered the same EOF issue on 1.8.0. So I was able to re-enable the TLS back on 1.6.0 but no idea why tls or plaintext both keep getting these EOF issues on latest burrow.

@grigassukys
Copy link
Author

Haven't found a solution to this problem.

@grigassukys grigassukys changed the title Issue with Burrow from 1.6.0 to 1.7.0/1.8.0 Issue with Burrow from 1.6.0 to 1.7.0/1.8.0/1.9.1 Jan 2, 2025
@grigassukys
Copy link
Author

@bai this issue still exists on 1.9.1

@lisikh
Copy link

lisikh commented Jan 30, 2025

Having the same issue with >1.6.0, not using tls/sasl configuration.
Tried to change "kafka-version" param without success.

On kafka node getting:

[2025-01-30 16:15:01,654] ERROR Exception while processing request from 172.17.0.3:9092-172.16.3.135:59294-337154 (kafka.network.Processor)
org.apache.kafka.common.errors.InvalidRequestException: Error getting request for apiKey: METADATA, apiVersion: 10, connectionId: 172.17.0.3:9092-172.16.3.135:59294-337154, listenerName: ListenerName(PLAINTEXT), principal: User:ANONYMOUS
Caused by: java.lang.IllegalArgumentException: Invalid version for API key METADATA: 10

And kafka-broker-api-versions shows:

Metadata(3): 0 to 9 [usable: 9]

UPDATE:
Solved this issue. All was need is to set kafka-version=2.0.0 in client-profile and link this profile to consumer section:

[client-profile.myclient]
kafka-version="2.0.0"

[consumer.test]
class-name="kafka"
cluster="test"
client-profile="myclient"

@grigassukys grigassukys changed the title Issue with Burrow from 1.6.0 to 1.7.0/1.8.0/1.9.1 Issue with Burrow from 1.6.0 to 1.7.0/1.8.0/1.9.1/1.9.2 Feb 10, 2025
@grigassukys
Copy link
Author

Problem still occurs with the 1.9.2 version

@putz612
Copy link

putz612 commented Mar 4, 2025

I ran into this as well, the secret is the client profile but you have to include it in cluster and consumer

[client-profile.my_profile]
client-id="my_cluster"
kafka-version="2.0.0"

[cluster.my_cluster]
class-name="kafka"
client-profile="my_profile"
servers=["broker1:9092","broker2:9092","broker3:9092"]
topic-refresh=120
offset-refresh=30
groups-reaper-refresh=600

[consumer.my_consumers]
class-name="kafka"
client-profile="my_profile"
cluster="my_cluster"
servers=["broker1:9092","broker2:9092","broker3:9092"]

@grigassukys
Copy link
Author

My configuration has client-profile in both cluster and consumer blocks. The application itself was working with every version until it didn't with >1.7.0
I'm assuming nothing has changed in requirements on configuration side therefore it should work as before?

@nsagnett
Copy link

To give more context and after some testing, it seems to be a problem only with SASL SCRAM, when I connect with plain text protocol, everything works fine.

Do you know what changed since 1.7.0 version about that?

@nsagnett
Copy link

@grigassukys After some more tests, if you use SASL, you have to set handshake-first=true in your sasl configuration part, it seems to work for me.

@grigassukys
Copy link
Author

@nsagnett Thank you so much. Even though handshake-first in documentation is set to true by default, but setting handshake-first=true in my SASL configuration did the trick and now burrow works as before.
Thank you!

@putz612
Copy link

putz612 commented Mar 18, 2025

Looking over the rest of my config I should have posted that section too, I have handshake-first=true set as well.

Here is my full config

[client-profile.my_profile]
client-id="my_cluster"
kafka-version="2.0.0"

[cluster.my_cluster]
class-name="kafka"
client-profile="my_profile"
servers=["broker1:9092","broker2:9092","broker3:9092"]
topic-refresh=120
offset-refresh=30
groups-reaper-refresh=600

[consumer.my_consumers]
class-name="kafka"
client-profile="my_profile"
cluster="my_cluster"
servers=["broker1:9092","broker2:9092","broker3:9092"]

[sasl.my_cluster]
username="burrow"
handshake-first=true
password="burrow-pass"
mechanism="PLAIN"

[tls.my_cluster]
noverify=true

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants