You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@kafka.apache.org by "Travis Bischel (Jira)" <ji...@apache.org> on 2023/10/20 02:56:00 UTC

[jira] [Comment Edited] (KAFKA-15653) NPE in ChunkedByteStream

    [ https://issues.apache.org/jira/browse/KAFKA-15653?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17777542#comment-17777542 ] 

Travis Bischel edited comment on KAFKA-15653 at 10/20/23 2:55 AM:
------------------------------------------------------------------

{noformat}
[2023-10-20 02:31:00,204] ERROR [ReplicaManager broker=1] Error processing append operation on partition 2c69b88eab8670ef1fd0e55b81b9e000995386afd8756ea342494d36911e6f01-29 (kafka.server.ReplicaManager)
java.lang.NullPointerException: Cannot invoke "java.nio.ByteBuffer.hasArray()" because "this.intermediateBufRef" is null 
        at org.apache.kafka.common.utils.ChunkedBytesStream.<init>(ChunkedBytesStream.java:89)
        at org.apache.kafka.common.record.CompressionType$3.wrapForInput(CompressionType.java:105)
        at org.apache.kafka.common.record.DefaultRecordBatch.recordInputStream(DefaultRecordBatch.java:273)
        at org.apache.kafka.common.record.DefaultRecordBatch.compressedIterator(DefaultRecordBatch.java:277)
        at org.apache.kafka.common.record.DefaultRecordBatch.skipKeyValueIterator(DefaultRecordBatch.java:352)
        at org.apache.kafka.storage.internals.log.LogValidator.validateMessagesAndAssignOffsetsCompressed(LogValidator.java:358)
        at org.apache.kafka.storage.internals.log.LogValidator.validateMessagesAndAssignOffsets(LogValidator.java:165)
        at kafka.log.UnifiedLog.$anonfun$append$2(UnifiedLog.scala:805)
        at kafka.log.UnifiedLog.append(UnifiedLog.scala:1845)
        at kafka.log.UnifiedLog.appendAsLeader(UnifiedLog.scala:719)
        at kafka.cluster.Partition.$anonfun$appendRecordsToLeader$1(Partition.scala:1313)
        at kafka.cluster.Partition.appendRecordsToLeader(Partition.scala:1301)
        at kafka.server.ReplicaManager.$anonfun$appendToLocalLog$6(ReplicaManager.scala:1210)
        at scala.collection.TraversableLike.$anonfun$map$1(TraversableLike.scala:286)
        at scala.collection.immutable.HashMap$HashMap1.foreach(HashMap.scala:400)
        at scala.collection.immutable.HashMap$HashTrieMap.foreach(HashMap.scala:728)
        at scala.collection.immutable.HashMap$HashTrieMap.foreach(HashMap.scala:728)
        at scala.collection.TraversableLike.map(TraversableLike.scala:286)
        at scala.collection.TraversableLike.map$(TraversableLike.scala:279)
        at scala.collection.AbstractTraversable.map(Traversable.scala:108)
        at kafka.server.ReplicaManager.appendToLocalLog(ReplicaManager.scala:1198)
        at kafka.server.ReplicaManager.appendRecords(ReplicaManager.scala:754)
        at kafka.server.KafkaApis.handleProduceRequest(KafkaApis.scala:686)
        at kafka.server.KafkaApis.handle(KafkaApis.scala:180)
        at kafka.server.KafkaRequestHandler.run(KafkaRequestHandler.scala:149)
        at java.base/java.lang.Thread.run(Thread.java:833)
{noformat}


was (Author: twmb):
Not just <init>:
{noformat}
[2023-10-20 02:31:00,204] ERROR [ReplicaManager broker=1] Error processing append operation on partition 2c69b88eab8670ef1fd0e55b81b9e000995386afd8756ea342494d36911e6f01-29 (kafka.server.ReplicaManager)
java.lang.NullPointerException: Cannot invoke "java.nio.ByteBuffer.hasArray()" because "this.intermediateBufRef" is null 
        at org.apache.kafka.common.utils.ChunkedBytesStream.<init>(ChunkedBytesStream.java:89)
        at org.apache.kafka.common.record.CompressionType$3.wrapForInput(CompressionType.java:105)
        at org.apache.kafka.common.record.DefaultRecordBatch.recordInputStream(DefaultRecordBatch.java:273)
        at org.apache.kafka.common.record.DefaultRecordBatch.compressedIterator(DefaultRecordBatch.java:277)
        at org.apache.kafka.common.record.DefaultRecordBatch.skipKeyValueIterator(DefaultRecordBatch.java:352)
        at org.apache.kafka.storage.internals.log.LogValidator.validateMessagesAndAssignOffsetsCompressed(LogValidator.java:358)
        at org.apache.kafka.storage.internals.log.LogValidator.validateMessagesAndAssignOffsets(LogValidator.java:165)
        at kafka.log.UnifiedLog.$anonfun$append$2(UnifiedLog.scala:805)
        at kafka.log.UnifiedLog.append(UnifiedLog.scala:1845)
        at kafka.log.UnifiedLog.appendAsLeader(UnifiedLog.scala:719)
        at kafka.cluster.Partition.$anonfun$appendRecordsToLeader$1(Partition.scala:1313)
        at kafka.cluster.Partition.appendRecordsToLeader(Partition.scala:1301)
        at kafka.server.ReplicaManager.$anonfun$appendToLocalLog$6(ReplicaManager.scala:1210)
        at scala.collection.TraversableLike.$anonfun$map$1(TraversableLike.scala:286)
        at scala.collection.immutable.HashMap$HashMap1.foreach(HashMap.scala:400)
        at scala.collection.immutable.HashMap$HashTrieMap.foreach(HashMap.scala:728)
        at scala.collection.immutable.HashMap$HashTrieMap.foreach(HashMap.scala:728)
        at scala.collection.TraversableLike.map(TraversableLike.scala:286)
        at scala.collection.TraversableLike.map$(TraversableLike.scala:279)
        at scala.collection.AbstractTraversable.map(Traversable.scala:108)
        at kafka.server.ReplicaManager.appendToLocalLog(ReplicaManager.scala:1198)
        at kafka.server.ReplicaManager.appendRecords(ReplicaManager.scala:754)
        at kafka.server.KafkaApis.handleProduceRequest(KafkaApis.scala:686)
        at kafka.server.KafkaApis.handle(KafkaApis.scala:180)
        at kafka.server.KafkaRequestHandler.run(KafkaRequestHandler.scala:149)
        at java.base/java.lang.Thread.run(Thread.java:833)
{noformat}

> NPE in ChunkedByteStream
> ------------------------
>
>                 Key: KAFKA-15653
>                 URL: https://issues.apache.org/jira/browse/KAFKA-15653
>             Project: Kafka
>          Issue Type: Bug
>          Components: producer 
>    Affects Versions: 3.6.0
>         Environment: Docker container on a Linux laptop, using the latest release.
>            Reporter: Travis Bischel
>            Priority: Major
>
> When looping franz-go integration tests, I received an UNKNOWN_SERVER_ERROR from producing. The broker logs for the failing request:
>  
> {noformat}
> [2023-10-19 22:29:58,160] ERROR [ReplicaManager broker=2] Error processing append operation on partition 2fa8995d8002fbfe68a96d783f26aa2c5efc15368bf44ed8f2ab7e24b41b9879-24 (kafka.server.ReplicaManager)
> java.lang.NullPointerException
> 	at org.apache.kafka.common.utils.ChunkedBytesStream.<init>(ChunkedBytesStream.java:89)
> 	at org.apache.kafka.common.record.CompressionType$3.wrapForInput(CompressionType.java:105)
> 	at org.apache.kafka.common.record.DefaultRecordBatch.recordInputStream(DefaultRecordBatch.java:273)
> 	at org.apache.kafka.common.record.DefaultRecordBatch.compressedIterator(DefaultRecordBatch.java:277)
> 	at org.apache.kafka.common.record.DefaultRecordBatch.skipKeyValueIterator(DefaultRecordBatch.java:352)
> 	at org.apache.kafka.storage.internals.log.LogValidator.validateMessagesAndAssignOffsetsCompressed(LogValidator.java:358)
> 	at org.apache.kafka.storage.internals.log.LogValidator.validateMessagesAndAssignOffsets(LogValidator.java:165)
> 	at kafka.log.UnifiedLog.append(UnifiedLog.scala:805)
> 	at kafka.log.UnifiedLog.appendAsLeader(UnifiedLog.scala:719)
> 	at kafka.cluster.Partition.$anonfun$appendRecordsToLeader$1(Partition.scala:1313)
> 	at kafka.cluster.Partition.appendRecordsToLeader(Partition.scala:1301)
> 	at kafka.server.ReplicaManager.$anonfun$appendToLocalLog$6(ReplicaManager.scala:1210)
> 	at scala.collection.StrictOptimizedMapOps.map(StrictOptimizedMapOps.scala:28)
> 	at scala.collection.StrictOptimizedMapOps.map$(StrictOptimizedMapOps.scala:27)
> 	at scala.collection.mutable.HashMap.map(HashMap.scala:35)
> 	at kafka.server.ReplicaManager.appendToLocalLog(ReplicaManager.scala:1198)
> 	at kafka.server.ReplicaManager.appendEntries$1(ReplicaManager.scala:754)
> 	at kafka.server.ReplicaManager.$anonfun$appendRecords$18(ReplicaManager.scala:874)
> 	at kafka.server.ReplicaManager.$anonfun$appendRecords$18$adapted(ReplicaManager.scala:874)
> 	at kafka.server.KafkaRequestHandler$.$anonfun$wrap$3(KafkaRequestHandler.scala:73)
> 	at kafka.server.KafkaRequestHandler.run(KafkaRequestHandler.scala:130)
> 	at java.base/java.lang.Thread.run(Unknown Source)
> {noformat}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)