You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@kafka.apache.org by "Nitish Jain (Jira)" <ji...@apache.org> on 2022/07/22 11:05:00 UTC

[jira] [Commented] (KAFKA-7656) ReplicaManager fetch fails on leader due to long/integer overflow

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

Nitish Jain commented on KAFKA-7656:
------------------------------------

Hi [~efpe]/Team,

I know this is a very old issue, however we got this error recently on Kafka 2.3.1, although this ticket shows a PATCH available [https://github.com/apache/kafka/pull/6261, |https://github.com/apache/kafka/pull/6261] however since it was not merged, could someone suggest if any fix is available now? This issue occurred in Production and want to prevent it from occurring again.

Kafka Version: 2.3.1

Log:
{noformat}
ERROR [ReplicaManager broker=32] Error processing fetch with max size -2147483648 from consumer on partition __consumer_offsets-37: (fetchOffset=829618266, logStartOffset=-1, maxBytes=-2147483648, currentLeaderEpoch=Optional.empty) (kafka.server.ReplicaManager)
java.lang.IllegalArgumentException: Invalid max size -2147483648 for log read from segment FileRecords(file= /opt/kafka-data-logs/storage/__consumer_offsets-37/00000000000000000000.log, start=0, end=2147483647)
    at kafka.log.LogSegment.read(LogSegment.scala:294)
    at kafka.log.Log.$anonfun$read$2(Log.scala:1283)
    at kafka.log.Log.maybeHandleIOException(Log.scala:2085)
    at kafka.log.Log.read(Log.scala:1238)
    at kafka.cluster.Partition.$anonfun$readRecords$1(Partition.scala:823)
    at kafka.utils.CoreUtils$.inLock(CoreUtils.scala:253)
    at kafka.utils.CoreUtils$.inReadLock(CoreUtils.scala:259)
    at kafka.cluster.Partition.readRecords(Partition.scala:799)
    at kafka.server.ReplicaManager.read$1(ReplicaManager.scala:938)
    at kafka.server.ReplicaManager.$anonfun$readFromLocalLog$4(ReplicaManager.scala:1003)
    at scala.collection.mutable.ResizableArray.foreach(ResizableArray.scala:62)
    at scala.collection.mutable.ResizableArray.foreach$(ResizableArray.scala:55)
    at scala.collection.mutable.ArrayBuffer.foreach(ArrayBuffer.scala:49)
    at kafka.server.ReplicaManager.readFromLocalLog(ReplicaManager.scala:1002)
    at kafka.server.ReplicaManager.readFromLog$1(ReplicaManager.scala:852)
    at kafka.server.ReplicaManager.fetchMessages(ReplicaManager.scala:857)
    at kafka.server.KafkaApis.handleFetchRequest(KafkaApis.scala:757)
    at kafka.server.KafkaApis.handle(KafkaApis.scala:114)
    at kafka.server.KafkaRequestHandler.run(KafkaRequestHandler.scala:69)
    at java.lang.Thread.run(Thread.java:748){noformat}
 

Regards

[~nitzyjay] 

> ReplicaManager fetch fails on leader due to long/integer overflow
> -----------------------------------------------------------------
>
>                 Key: KAFKA-7656
>                 URL: https://issues.apache.org/jira/browse/KAFKA-7656
>             Project: Kafka
>          Issue Type: Bug
>          Components: core
>    Affects Versions: 2.0.1
>         Environment: Linux 3.10.0-693.el7.x86_64 #1 SMP Thu Jul 6 19:56:57 EDT 2017 x86_64 x86_64 x86_64 GNU/Linux
>            Reporter: Patrick Haas
>            Assignee: Jose Armando Garcia Sancio
>            Priority: Major
>
> (Note: From 2.0.1-cp1 from confluent distribution)
> {{[2018-11-19 21:13:13,687] ERROR [ReplicaManager broker=103] Error processing fetch operation on partition __consumer_offsets-20, offset 0 (kafka.server.ReplicaManager)}}
> {{java.lang.IllegalArgumentException: Invalid max size -2147483648 for log read from segment FileRecords(file= /prod/kafka/data/kafka-logs/__consumer_offsets-20/00000000000000000000.log, start=0, end=2147483647)}}
> {{ at kafka.log.LogSegment.read(LogSegment.scala:274)}}
> {{ at kafka.log.Log$$anonfun$read$2.apply(Log.scala:1159)}}
> {{ at kafka.log.Log$$anonfun$read$2.apply(Log.scala:1114)}}
> {{ at kafka.log.Log.maybeHandleIOException(Log.scala:1842)}}
> {{ at kafka.log.Log.read(Log.scala:1114)}}
> {{ at kafka.server.ReplicaManager.kafka$server$ReplicaManager$$read$1(ReplicaManager.scala:912)}}
> {{ at kafka.server.ReplicaManager$$anonfun$readFromLocalLog$1.apply(ReplicaManager.scala:974)}}
> {{ at kafka.server.ReplicaManager$$anonfun$readFromLocalLog$1.apply(ReplicaManager.scala:973)}}
> {{ at scala.collection.mutable.ResizableArray$class.foreach(ResizableArray.scala:59)}}
> {{ at scala.collection.mutable.ArrayBuffer.foreach(ArrayBuffer.scala:48)}}
> {{ at kafka.server.ReplicaManager.readFromLocalLog(ReplicaManager.scala:973)}}
> {{ at kafka.server.ReplicaManager.readFromLog$1(ReplicaManager.scala:802)}}
> {{ at kafka.server.ReplicaManager.fetchMessages(ReplicaManager.scala:815)}}
> {{ at kafka.server.KafkaApis.handleFetchRequest(KafkaApis.scala:685)}}
> {{ at kafka.server.KafkaApis.handle(KafkaApis.scala:114)}}
> {{ at kafka.server.KafkaRequestHandler.run(KafkaRequestHandler.scala:69)}}
> {{ at java.lang.Thread.run(Thread.java:748)}}



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