Skip to content

KAFKA-15830: Add telemetry API handling (KIP-714) - #14767

Merged
junrao merged 14 commits into
apache:trunkfrom
apoorvmittal10:kip-714-ak-rpc
Dec 5, 2023
Merged

KAFKA-15830: Add telemetry API handling (KIP-714)#14767
junrao merged 14 commits into
apache:trunkfrom
apoorvmittal10:kip-714-ak-rpc

Conversation

@apoorvmittal10

Copy link
Copy Markdown
Contributor

The PR adds handling of telemetry APIs in KafkaAPIs.scala which calls the respective manager to handle the API calls. Also the telemetry plugin which if registered in configs get registered for exporting client metrics.

Committer Checklist (excluded from commit message)

  • Verify design and implementation
  • Verify test coverage and CI build status
  • Verify documentation (including upgrade notes)

Comment thread core/src/main/java/kafka/metrics/ClientMetricsReceiverPlugin.java
Comment thread core/src/main/scala/kafka/server/KafkaApis.scala Outdated
@apoorvmittal10

Copy link
Copy Markdown
Contributor Author

Build depends on PR: #14699

@mjsax mjsax added core Kafka Broker kip Requires or implements a KIP labels Nov 21, 2023
Comment thread core/src/main/scala/kafka/server/DynamicBrokerConfig.scala

@junrao junrao left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

@apoorvmittal10 : Thanks for the PR. Left a couple of comments.

Comment thread core/src/main/scala/kafka/server/KafkaApis.scala Outdated
Comment thread core/src/main/scala/kafka/server/KafkaApis.scala Outdated
@apoorvmittal10

Copy link
Copy Markdown
Contributor Author

@junrao @AndrewJSchofield I have added the filtering for telemetry keys if plugin is not configured, please if the changes can be re-reviewed. I have addressed other feedback as well.

@AndrewJSchofield AndrewJSchofield left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

lgtm

@junrao junrao left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

@apoorvmittal10 : Thanks for the update PR. A couple of more comments.

Comment thread core/src/main/scala/kafka/server/BrokerServer.scala
Comment thread core/src/main/scala/kafka/server/ApiVersionManager.scala
@apoorvmittal10
apoorvmittal10 requested a review from junrao December 1, 2023 07:28

@junrao junrao left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

@apoorvmittal10 : Thanks for the updated PR. The code LGTM. Waiting for the tests to finish.

@junrao

junrao commented Dec 2, 2023

Copy link
Copy Markdown
Contributor

@apoorvmittal10 : Are the 59 test failures related, especially those ApiVersionsRequestTest?

@apoorvmittal10

Copy link
Copy Markdown
Contributor Author

@apoorvmittal10 : Are the 59 test failures related, especially those ApiVersionsRequestTest?

Hi @junrao, I should have realized that integration test in ApiVersionsRequestTest are legitimate before re-running the build. I have added fix in the PR where filtering needs to be applied while determining the keys returned as per config in integration tests.

Waiting for the build to finish, I ll check the tests.

@apoorvmittal10

Copy link
Copy Markdown
Contributor Author

@junrao The build passed on all JDK with flaky tests failure.

There are some consistent failures as well which are unrelated to the PR changes.

@apoorvmittal10

Copy link
Copy Markdown
Contributor Author

@junrao Below are the status of flaky tests. I have ran locally the flaky tests and can see them passed. I have triaged some of the failing tests, others have existing jira.

Existing: Build / JDK 17 and Scala 2.13 / testOffsetTranslationBehindReplicationFlow() – org.apache.kafka.connect.mirror.integration.MirrorConnectorsIntegrationExactlyOnceTest
40s: https://issues.apache.org/jira/browse/KAFKA-15197

Triaged: Build / JDK 17 and Scala 2.13 / testQuotaOverrideDelete(String).quorum=kraft – kafka.api.ClientIdQuotaTest
2s: https://issues.apache.org/jira/browse/KAFKA-15960

Triaged: Build / JDK 17 and Scala 2.13 / testTopicIdPersistsThroughControllerRestart() – kafka.controller.ControllerIntegrationTest
<1s: https://issues.apache.org/jira/browse/KAFKA-15961

Triaged: Build / JDK 17 and Scala 2.13 / testAlterPartitionVersion2KeepWorkingWhenControllerDowngradeToPre28IBP() – kafka.controller.ControllerIntegrationTest
<1s: https://issues.apache.org/jira/browse/KAFKA-15962

Triaged: Build / JDK 17 and Scala 2.13 / testBrokerHeartbeatDuringMigration [3] 3.6-IV0 – org.apache.kafka.controller.QuorumControllerTest
<1s: https://issues.apache.org/jira/browse/KAFKA-15963

Triaged: Build / JDK 17 and Scala 2.13 / testHighAvailabilityTaskAssignorLargeNumConsumers – org.apache.kafka.streams.processor.internals.StreamsAssignmentScaleTest
1m 35s: https://issues.apache.org/jira/browse/KAFKA-15964

Existing: Build / JDK 8 and Scala 2.12 / testSyncTopicConfigs() – org.apache.kafka.connect.mirror.integration.MirrorConnectorsIntegrationBaseTest
1m 49s: https://issues.apache.org/jira/browse/KAFKA-15945

Existing: Build / JDK 8 and Scala 2.12 / testReplicateSourceDefault() – org.apache.kafka.connect.mirror.integration.MirrorConnectorsIntegrationExactlyOnceTest
2m 5s: https://issues.apache.org/jira/browse/KAFKA-15927

Existing: Build / JDK 8 and Scala 2.12 / testWithGroupMetadata() – kafka.api.TransactionsBounceTest
28s: https://issues.apache.org/jira/browse/KAFKA-10251

Existing: Build / JDK 8 and Scala 2.12 / testWithGroupMetadata() – kafka.api.TransactionsBounceTest
21s: https://issues.apache.org/jira/browse/KAFKA-10251

Existing: Build / JDK 21 and Scala 2.13 / testMultiWorkerRestartOnlyConnector – org.apache.kafka.connect.integration.ConnectorRestartApiIntegrationTest: https://issues.apache.org/jira/browse/KAFKA-15675

Existing: Build / JDK 11 and Scala 2.13 / testWithGroupMetadata() – kafka.api.TransactionsBounceTest: https://issues.apache.org/jira/browse/KAFKA-10251

@junrao

junrao commented Dec 3, 2023

Copy link
Copy Markdown
Contributor

@apoorvmittal10 : Thanks for triaging the tests. There are a bunch of failures for BrokerRegistrationRequestTest. Is that being tracked?

@apoorvmittal10

Copy link
Copy Markdown
Contributor Author

@apoorvmittal10 : Thanks for triaging the tests. There are a bunch of failures for BrokerRegistrationRequestTest. Is that being tracked?

I have created jira to track that: https://issues.apache.org/jira/browse/KAFKA-15965

Can see jira already created for ConsistencyVectorIntegrationTest: https://issues.apache.org/jira/browse/KAFKA-15957

@apoorvmittal10

Copy link
Copy Markdown
Contributor Author

@junrao Please let me know if I need to address anything else or the PR is good to merge.

@apoorvmittal10
apoorvmittal10 requested a review from junrao December 4, 2023 10:07
@junrao junrao closed this Dec 4, 2023
@junrao junrao reopened this Dec 4, 2023
@junrao

junrao commented Dec 4, 2023

Copy link
Copy Markdown
Contributor

@apoorvmittal10 : Now that #14887 is merged. Triggering a rerun of the tests.

@apoorvmittal10

Copy link
Copy Markdown
Contributor Author

@apoorvmittal10 : Now that #14887 is merged. Triggering a rerun of the tests.

Thanks @junrao

@apoorvmittal10

Copy link
Copy Markdown
Contributor Author

@junrao I think the merge from upstream is required to get the changes in current branch. I have merged upstream/trunk.

@junrao

junrao commented Dec 4, 2023

Copy link
Copy Markdown
Contributor

@apoorvmittal10 : Thanks for triaging the tests. Merging the PR.

@junrao
junrao merged commit 463ed09 into apache:trunk Dec 5, 2023
@apoorvmittal10
apoorvmittal10 deleted the kip-714-ak-rpc branch January 5, 2024 12:47
gaurav-narula pushed a commit to gaurav-narula/kafka that referenced this pull request Jan 24, 2024
The PR adds handling of telemetry APIs in KafkaAPIs.scala which calls the respective manager to handle the API calls. Also the telemetry plugin which if registered in configs get registered for exporting client metrics.

Reviewers: Jun Rao <junrao@gmail.com>
yyu1993 pushed a commit to yyu1993/kafka that referenced this pull request Feb 15, 2024
The PR adds handling of telemetry APIs in KafkaAPIs.scala which calls the respective manager to handle the API calls. Also the telemetry plugin which if registered in configs get registered for exporting client metrics.

Reviewers: Jun Rao <junrao@gmail.com>
AnatolyPopov pushed a commit to aiven/kafka that referenced this pull request Feb 16, 2024
The PR adds handling of telemetry APIs in KafkaAPIs.scala which calls the respective manager to handle the API calls. Also the telemetry plugin which if registered in configs get registered for exporting client metrics.

Reviewers: Jun Rao <junrao@gmail.com>
clolov pushed a commit to clolov/kafka that referenced this pull request Apr 5, 2024
The PR adds handling of telemetry APIs in KafkaAPIs.scala which calls the respective manager to handle the API calls. Also the telemetry plugin which if registered in configs get registered for exporting client metrics.

Reviewers: Jun Rao <junrao@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

core Kafka Broker kip Requires or implements a KIP

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants