-
-
Notifications
You must be signed in to change notification settings - Fork 522
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
Remove allowExperimentalV011 flag #847
Conversation
This has been defaulted to `true` for almost two years, so it's hardly experimental anymore.
Hmm, so this PR reveals a bit of nastiness. The tests that are currently failing are ones where For example, a response when {
"errorCode": 0,
"offset": "0",
"partition": 0,
"timestamp": "-1",
"topicName": "test-topic-aa740d312ca4c5c8d606-75297-2699790b-a3f0-4706-891c-7e7c2b410bc4",
} And when it's {
"baseOffset": "0",
"errorCode": 0,
"logAppendTime": "-1",
"logStartOffset": "0",
"partition": 0,
"topicName": "test-topic-aa740d312ca4c5c8d606-75297-2699790b-a3f0-4706-891c-7e7c2b410bc4",
} Our type definitions say that the response the following, which is just a flat out lie for Kafka >=0.11: type RecordMetadata = {
topicName: string
partition: number
errorCode: number
offset: string
timestamp: string
} |
Produce >=V3 has a different signature compared to V2, so anyone using Kafka 0.11 or higher would have already had this signature at runtime.
Enables running tests with a maximum Kafka version rather than a minimum version
These tests failed after enabling higher versions of Fetch, since they assumed the 0.10 format. Changed the tests to only run in Kafka 0.10 and verified that they pass.
Makes it clear if a test has LTE or GTE semantics.
Updated the type definition of This also revealed a problem in how some of our tests were structured. Basically, any test that doesn't use a |
This somehow triggered something in my brain: You may have accidentally also fixed or improved #464 now :) |
Oh wow, I had completely forgotten about that. The new |
This has been defaulted to
true
for almost two years, so it's hardly experimental anymore.src/protocol/requests/index.js
is where the meat of the change is. Essentially if the flag wasfalse
, we'd filter out any api version above a certain limit for Fetch and Produce requests.