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)