Ignacio Acuna created KAFKA-12949:
-------------------------------------

             Summary: TestRaftServer's scala.MatchError: null on 
test-kraft-server-start.sh
                 Key: KAFKA-12949
                 URL: https://issues.apache.org/jira/browse/KAFKA-12949
             Project: Kafka
          Issue Type: Bug
          Components: kraft
            Reporter: Ignacio Acuna
            Assignee: Ignacio Acuna


Encounter the following exception when trying to run the TestRaftServer:
{code:java}
bin/test-kraft-server-start.sh --config config/kraft.properties{code}
{code:java}
[2021-06-14 17:15:43,232] ERROR [raft-workload-generator]: Error due to 
(kafka.tools.TestRaftServer$RaftWorkloadGenerator)
 scala.MatchError: null
 at 
kafka.tools.TestRaftServer$RaftWorkloadGenerator.doWork(TestRaftServer.scala:220)
 at kafka.utils.ShutdownableThread.run(ShutdownableThread.scala:96)
 [2021-06-14 17:15:43,253] INFO [raft-workload-generator]: Stopped 
(kafka.tools.TestRaftServer$RaftWorkloadGenerator){code}
That happens on the followin match:
{code:java}
eventQueue.poll(eventTimeoutMs, TimeUnit.MILLISECONDS) match {
  case HandleClaim(epoch) =>
      claimedEpoch = Some(epoch)
      throttler.reset()
      pendingAppends.clear()
      recordCount.set(0)    
  case HandleResign =>
      claimedEpoch = None
      pendingAppends.clear()    case HandleCommit(reader) =>
      try {
        while (reader.hasNext) {
          val batch = reader.next()
          claimedEpoch.foreach { leaderEpoch =>
            handleLeaderCommit(leaderEpoch, batch)
          }
        }
      } finally {
        reader.close()
      }    
  case HandleSnapshot(reader) =>
      // Ignore snapshots; only interested in records appended by this leader
      reader.close()    
  case Shutdown => // Ignore shutdown command
}
{code}
Full log attached. When the eventQueue.poll returns null (if deque is empty), 
there isn't a case to match so the thread gets stuck and stops processing 
events (raft-workload-generator).

Proposal:
 Add a case null to the match so the raft-workload-generator can continue.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to