Uploaded image for project: 'Kafka'
  1. Kafka
  2. KAFKA-8012

NullPointerException while truncating at high watermark can crash replica fetcher thread

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Blocker
    • Resolution: Fixed
    • 2.2.0, 2.1.1
    • 2.2.0, 2.1.2
    • core
    • None

    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)

       

      Attachments

        Issue Links

          Activity

            People

              colinhicks Colin Hicks
              colinhicks Colin Hicks
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: