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

NullPointerException while truncating at high watermark can crash replica fetcher thread

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Blocker
    • Resolution: Fixed
    • Affects Version/s: 2.2.0, 2.1.1
    • Fix Version/s: 2.2.0, 2.1.2
    • Component/s: core
    • Labels:
      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

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

                Dates

                • Created:
                  Updated:
                  Resolved: