[jira] [Comment Edited] (KAFKA-16510) java.lang.OutOfMemoryError in kafka-metadata-quorum.sh
[ https://issues.apache.org/jira/browse/KAFKA-16510?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17836026#comment-17836026 ] Zhiyuan Lei edited comment on KAFKA-16510 at 4/11/24 6:48 AM: -- run in local, it should be that the default heap size of your local JVM is too small. The default KAFKA_HEAP_OPTS is 256M. You can try exporting KAFKA_HEAP_OPTS=-Xmx2048M before starting it again. ``` # Memory options if [ -z "$KAFKA_HEAP_OPTS" ]; then KAFKA_HEAP_OPTS="-Xmx256M" fi ``` was (Author: leizhiyuan): run in local, it should be that the default heap size of your local JVM is too small. The default KAFKA_HEAP_OPTS is 256M. You can try exporting KAFKA_HEAP_OPTS=-Xmx2048M before starting it again. ``` # Memory options if [ -z "$KAFKA_HEAP_OPTS" ]; then KAFKA_HEAP_OPTS="-Xmx256M" fi ``` > java.lang.OutOfMemoryError in kafka-metadata-quorum.sh > -- > > Key: KAFKA-16510 > URL: https://issues.apache.org/jira/browse/KAFKA-16510 > Project: Kafka > Issue Type: Bug > Components: tools >Affects Versions: 3.4.1 >Reporter: Hiro >Priority: Major > > kafka-metadata-quorum is not available in SASL_PLAIN. > I got this error, I only use SASL_PLAIN. not use SSL. > I found a person with a similar situation, but he is using mTLS. > https://issues.apache.org/jira/browse/KAFKA-16006 > {code:java} > sh-4.2$ /opt/kafka/bin/kafka-metadata-quorum.sh --bootstrap-server ip>:9093 --command-config controller-admin.properties describe --replication > [2024-04-11 04:12:54,128] ERROR Uncaught exception in thread > ‘kafka-admin-client-thread | adminclient-1': > (org.apache.kafka.common.utils.KafkaThread) > java.lang.OutOfMemoryError: Java heap space > at java.base/java.nio.HeapByteBuffer.(HeapByteBuffer.java:64) > at java.base/java.nio.ByteBuffer.allocate(ByteBuffer.java:363) > at > org.apache.kafka.common.memory.MemoryPool$1.tryAllocate(MemoryPool.java:30) > at > org.apache.kafka.common.network.NetworkReceive.readFrom(NetworkReceive.java:102) > at > org.apache.kafka.common.security.authenticator.SaslClientAuthenticator.receiveResponseOrToken(SaslClientAuthenticator.java:476) > at > org.apache.kafka.common.security.authenticator.SaslClientAuthenticator.receiveKafkaResponse(SaslClientAuthenticator.java:573) > at > org.apache.kafka.common.security.authenticator.SaslClientAuthenticator.authenticate(SaslClientAuthenticator.java:251) > at > org.apache.kafka.common.network.KafkaChannel.prepare(KafkaChannel.java:181) > at > org.apache.kafka.common.network.Selector.pollSelectionKeys(Selector.java:543) > at org.apache.kafka.common.network.Selector.poll(Selector.java:481) > at org.apache.kafka.clients.NetworkClient.poll(NetworkClient.java:585) > at > org.apache.kafka.clients.admin.KafkaAdminClient$AdminClientRunnable.processRequests(KafkaAdminClient.java:1504) > at > org.apache.kafka.clients.admin.KafkaAdminClient$AdminClientRunnable.run(KafkaAdminClient.java:1435) > at java.base/java.lang.Thread.run(Thread.java:840) > org.apache.kafka.common.errors.TimeoutException: The AdminClient thread has > exited. Call: describeMetadataQuorum > java.util.concurrent.ExecutionException: > org.apache.kafka.common.errors.TimeoutException: The AdminClient thread has > exited. Call: describeMetadataQuorum > at > java.base/java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:396) > at > java.base/java.util.concurrent.CompletableFuture.get(CompletableFuture.java:2073) > at > org.apache.kafka.common.internals.KafkaFutureImpl.get(KafkaFutureImpl.java:165) > at > org.apache.kafka.tools.MetadataQuorumCommand.handleDescribeReplication(MetadataQuorumCommand.java:158) > at > org.apache.kafka.tools.MetadataQuorumCommand.execute(MetadataQuorumCommand.java:106) > at > org.apache.kafka.tools.MetadataQuorumCommand.mainNoExit(MetadataQuorumCommand.java:62) > at > org.apache.kafka.tools.MetadataQuorumCommand.main(MetadataQuorumCommand.java:57) > Caused by: org.apache.kafka.common.errors.TimeoutException: The AdminClient > thread has exited. Call: describeMetadataQuorum {code} -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (KAFKA-16510) java.lang.OutOfMemoryError in kafka-metadata-quorum.sh
[ https://issues.apache.org/jira/browse/KAFKA-16510?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17836026#comment-17836026 ] Zhiyuan Lei commented on KAFKA-16510: - run in local, it should be that the default heap size of your local JVM is too small. The default KAFKA_HEAP_OPTS is 256M. You can try exporting KAFKA_HEAP_OPTS=-Xmx2048M before starting it again. ``` # Memory options if [ -z "$KAFKA_HEAP_OPTS" ]; then KAFKA_HEAP_OPTS="-Xmx256M" fi ``` > java.lang.OutOfMemoryError in kafka-metadata-quorum.sh > -- > > Key: KAFKA-16510 > URL: https://issues.apache.org/jira/browse/KAFKA-16510 > Project: Kafka > Issue Type: Bug > Components: tools >Affects Versions: 3.4.1 >Reporter: Hiro >Priority: Major > > kafka-metadata-quorum is not available in SASL_PLAIN. > I got this error, I only use SASL_PLAIN. not use SSL. > I found a person with a similar situation, but he is using mTLS. > https://issues.apache.org/jira/browse/KAFKA-16006 > {code:java} > sh-4.2$ /opt/kafka/bin/kafka-metadata-quorum.sh --bootstrap-server ip>:9093 --command-config controller-admin.properties describe --replication > [2024-04-11 04:12:54,128] ERROR Uncaught exception in thread > ‘kafka-admin-client-thread | adminclient-1': > (org.apache.kafka.common.utils.KafkaThread) > java.lang.OutOfMemoryError: Java heap space > at java.base/java.nio.HeapByteBuffer.(HeapByteBuffer.java:64) > at java.base/java.nio.ByteBuffer.allocate(ByteBuffer.java:363) > at > org.apache.kafka.common.memory.MemoryPool$1.tryAllocate(MemoryPool.java:30) > at > org.apache.kafka.common.network.NetworkReceive.readFrom(NetworkReceive.java:102) > at > org.apache.kafka.common.security.authenticator.SaslClientAuthenticator.receiveResponseOrToken(SaslClientAuthenticator.java:476) > at > org.apache.kafka.common.security.authenticator.SaslClientAuthenticator.receiveKafkaResponse(SaslClientAuthenticator.java:573) > at > org.apache.kafka.common.security.authenticator.SaslClientAuthenticator.authenticate(SaslClientAuthenticator.java:251) > at > org.apache.kafka.common.network.KafkaChannel.prepare(KafkaChannel.java:181) > at > org.apache.kafka.common.network.Selector.pollSelectionKeys(Selector.java:543) > at org.apache.kafka.common.network.Selector.poll(Selector.java:481) > at org.apache.kafka.clients.NetworkClient.poll(NetworkClient.java:585) > at > org.apache.kafka.clients.admin.KafkaAdminClient$AdminClientRunnable.processRequests(KafkaAdminClient.java:1504) > at > org.apache.kafka.clients.admin.KafkaAdminClient$AdminClientRunnable.run(KafkaAdminClient.java:1435) > at java.base/java.lang.Thread.run(Thread.java:840) > org.apache.kafka.common.errors.TimeoutException: The AdminClient thread has > exited. Call: describeMetadataQuorum > java.util.concurrent.ExecutionException: > org.apache.kafka.common.errors.TimeoutException: The AdminClient thread has > exited. Call: describeMetadataQuorum > at > java.base/java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:396) > at > java.base/java.util.concurrent.CompletableFuture.get(CompletableFuture.java:2073) > at > org.apache.kafka.common.internals.KafkaFutureImpl.get(KafkaFutureImpl.java:165) > at > org.apache.kafka.tools.MetadataQuorumCommand.handleDescribeReplication(MetadataQuorumCommand.java:158) > at > org.apache.kafka.tools.MetadataQuorumCommand.execute(MetadataQuorumCommand.java:106) > at > org.apache.kafka.tools.MetadataQuorumCommand.mainNoExit(MetadataQuorumCommand.java:62) > at > org.apache.kafka.tools.MetadataQuorumCommand.main(MetadataQuorumCommand.java:57) > Caused by: org.apache.kafka.common.errors.TimeoutException: The AdminClient > thread has exited. Call: describeMetadataQuorum {code} -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (KAFKA-16240) Flaky test PlaintextAdminIntegrationTest.testReplicaCanFetchFromLogStartOffsetAfterDeleteRecords(String).quorum=kraft
[ https://issues.apache.org/jira/browse/KAFKA-16240?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17830733#comment-17830733 ] Zhiyuan Lei commented on KAFKA-16240: - ``` TimeUnit.MILLISECONDS.sleep(1) val result1 = client.deleteRecords(Map(topicPartition -> RecordsToDelete.beforeOffset(117L)).asJava) ``` I found something interesting. This issue is indeed easily reproducible locally. After some investigation, it seems to be caused by the time difference of the low watermark update in the replica. As long as we add a wait time here, this test case can be guaranteed to pass 100%. Waiting patiently is not a good solution, Further work is still required. > Flaky test > PlaintextAdminIntegrationTest.testReplicaCanFetchFromLogStartOffsetAfterDeleteRecords(String).quorum=kraft > - > > Key: KAFKA-16240 > URL: https://issues.apache.org/jira/browse/KAFKA-16240 > Project: Kafka > Issue Type: Test >Reporter: Gantigmaa Selenge >Priority: Minor > > Failed run > [https://ci-builds.apache.org/job/Kafka/job/kafka-pr/job/PR-15300/8/testReport/junit/kafka.api/PlaintextAdminIntegrationTest/Build___JDK_17_and_Scala_2_13___testReplicaCanFetchFromLogStartOffsetAfterDeleteRecords_String__quorum_kraft_2/] > Stack trace > {code:java} > org.apache.kafka.common.errors.TimeoutException: Timed out waiting for a node > assignment. Call: deleteRecords(api=DELETE_RECORDS) at > java.base/java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:396) > at > java.base/java.util.concurrent.CompletableFuture.get(CompletableFuture.java:2073) > at > org.apache.kafka.common.internals.KafkaFutureImpl.get(KafkaFutureImpl.java:165) > at > kafka.api.PlaintextAdminIntegrationTest.testReplicaCanFetchFromLogStartOffsetAfterDeleteRecords(PlaintextAdminIntegrationTest.scala:860) > {code} -- This message was sent by Atlassian Jira (v8.20.10#820010)