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)