[ 
https://issues.apache.org/jira/browse/KAFKA-8012?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Colin Hicks updated KAFKA-8012:
-------------------------------
    Description: 
An NPE can occur when the replica fetcher manager simultaneously calls 
`removeFetcherForPartitions`, removing the corresponding partitionStates, while 
a replica fetcher thread attempts to truncate the same partition(s) in 
`truncateToHighWatermark`.

Stack trace for failure case:

{{java.lang.NullPointerException}}
{{at 
kafka.server.AbstractFetcherThread.$anonfun$truncateToHighWatermark$2(AbstractFetcherThread.scala:213)}}
{{at scala.collection.mutable.HashSet.foreach(HashSet.scala:79)}}
{{at 
kafka.server.AbstractFetcherThread.$anonfun$truncateToHighWatermark$1(AbstractFetcherThread.scala:211)}}
{{at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23)}}
{{at kafka.utils.CoreUtils$.inLock(CoreUtils.scala:251)}}
{{at 
kafka.server.AbstractFetcherThread.truncateToHighWatermark(AbstractFetcherThread.scala:207)}}
{{at 
kafka.server.AbstractFetcherThread.maybeTruncate(AbstractFetcherThread.scala:173)}}
{{at 
kafka.server.AbstractFetcherThread.doWork(AbstractFetcherThread.scala:112)}}
{{at kafka.utils.ShutdownableThread.run(ShutdownableThread.scala:82)}}

 

  was:
An NPE can occur when the replica fetcher manager simultaneously calls 
`removeFetcherForPartitions`, removing the corresponding partitionStates, while 
a replica fetcher thread attempts to truncate the same partition(s) in 
`truncateToHighWatermark`.

Stack trace for failure case:

{{java.lang.NullPointerException}}
{{ at 
kafka.server.AbstractFetcherThread.$anonfun$truncateToHighWatermark$2(AbstractFetcherThread.scala:213)}}
{{ at scala.collection.mutable.HashSet.foreach(HashSet.scala:79)}}
{{ at 
kafka.server.AbstractFetcherThread.$anonfun$truncateToHighWatermark$1(AbstractFetcherThread.scala:211)}}
{{ at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23)}}
{{ at kafka.utils.CoreUtils$.inLock(CoreUtils.scala:251)}}
{{ at 
kafka.server.AbstractFetcherThread.truncateToHighWatermark(AbstractFetcherThread.scala:207)}}
{{ at 
kafka.server.AbstractFetcherThread.maybeTruncate(AbstractFetcherThread.scala:173)}}
{{ at 
kafka.server.AbstractFetcherThread.doWork(AbstractFetcherThread.scala:112)}}
{{ at kafka.utils.ShutdownableThread.run(ShutdownableThread.scala:82)}}

 


> NullPointerException while truncating at high watermark can crash replica 
> fetcher thread
> ----------------------------------------------------------------------------------------
>
>                 Key: KAFKA-8012
>                 URL: https://issues.apache.org/jira/browse/KAFKA-8012
>             Project: Kafka
>          Issue Type: Bug
>          Components: core
>    Affects Versions: 2.2.0, 2.1.1
>            Reporter: Colin Hicks
>            Priority: Blocker
>             Fix For: 2.2.0
>
>
> An NPE can occur when the replica fetcher manager simultaneously calls 
> `removeFetcherForPartitions`, removing the corresponding partitionStates, 
> while a replica fetcher thread attempts to truncate the same partition(s) in 
> `truncateToHighWatermark`.
> Stack trace for failure case:
> {{java.lang.NullPointerException}}
> {{at 
> kafka.server.AbstractFetcherThread.$anonfun$truncateToHighWatermark$2(AbstractFetcherThread.scala:213)}}
> {{at scala.collection.mutable.HashSet.foreach(HashSet.scala:79)}}
> {{at 
> kafka.server.AbstractFetcherThread.$anonfun$truncateToHighWatermark$1(AbstractFetcherThread.scala:211)}}
> {{at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23)}}
> {{at kafka.utils.CoreUtils$.inLock(CoreUtils.scala:251)}}
> {{at 
> kafka.server.AbstractFetcherThread.truncateToHighWatermark(AbstractFetcherThread.scala:207)}}
> {{at 
> kafka.server.AbstractFetcherThread.maybeTruncate(AbstractFetcherThread.scala:173)}}
> {{at 
> kafka.server.AbstractFetcherThread.doWork(AbstractFetcherThread.scala:112)}}
> {{at kafka.utils.ShutdownableThread.run(ShutdownableThread.scala:82)}}
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to