apache/iceberg · warning
Committer found no partitions assigned across all members…
Error message
Committer {} found no partitions assigned across all members, cannot determine leader What it means
When electing the committer leader, the code computes the first topic partition across all member assignments; if no member has any partition assigned, no leader can be determined and containsFirstPartition returns false. This means the consumer group has no partitions at all, so leader-dependent work (coordination) cannot proceed.
Solutions
- Verify the connector's topics/topics-regexp actually match existing Kafka topics with partitions.
- Wait for the rebalance to complete; this is transient during group reassignment and self-corrects on the next assignment.
- Check Kafka consumer group state (kafka-consumer-groups --describe) to confirm partition assignment for the connector group.
- If the topic was deleted/recreated, restart the connector tasks so they pick up the new partition layout.
Defensive patterns
Strategy: validation
Validate before calling
// before deploying, verify topics exist and have partitions kafka-topics --bootstrap-server $BOOTSTRAP --describe --topic <connector-topic> kafka-consumer-groups --bootstrap-server $BOOTSTRAP --describe --group <connect-group>
Prevention
- Validate topics/topics-regexp matches real topics with partitions before starting the connector.
- Expect this warning transiently during rebalances; do not treat as a failure.
- Monitor consumer group assignment to detect stuck rebalances.
- Restart tasks after topic delete/recreate operations.
When it happens
Trigger: containsFirstPartition invoked with an empty or partition-less members set — e.g. during startup before assignment, or after all partitions were revoked in a rebalance while the committer is still processing.
Common situations: Connector started with zero assigned partitions (source topic empty or topic deleted); rebalance in progress where every member lost its partitions; misconfigured topics regex matching no topics.
Understand the failure class
Background: EmptyResultError / "no results found": when an API or scraper succeeds but returns zero rows — this error's family across 9 libraries.
Related errors
- Error aborting producer transaction
- Rebalance may have occurred, partition
- Received commit ready when no commit in progress, this can…
- Received commit response when no commit in progress, this…
- Found unsupported Kafka versions:
AI-assisted analysis of apache/iceberg@86d9c8fc54 (2026-09-12).
Data as JSON: /api/errors/3b3e6788cb08c856.
Report an issue: GitHub.
Appendix: source
Thrown at kafka-connect/kafka-connect/src/main/java/org/apache/iceberg/connect/channel/CommitterImpl.java:100
}
Collection<MemberDescription> members = groupDesc.members();
if (containsFirstPartition(members, currentAssignedPartitions)) {
membersWhenWorkerIsCoordinator = members;
return true;
}
return false;
}
@VisibleForTesting
boolean containsFirstPartition(
Collection<MemberDescription> members, Collection<TopicPartition> partitions) {
// Determine the first partition across all members to elect the leader
TopicPartition firstTopicPartition = findFirstTopicPartition(members);
if (firstTopicPartition == null) {
LOG.warn(
"Committer {} found no partitions assigned across all members, cannot determine leader",
taskId);
return false;
}
boolean containsFirst = partitions.contains(firstTopicPartition);
if (containsFirst) {
LOG.info(
"Committer {} contains the first partition {}, this task is the leader",
taskId,
firstTopicPartition);
} else {
LOG.debug(
"Committer {} does not contain the first partition {}, not the leader",
taskId,
firstTopicPartition);
}
View on GitHub (pinned to 86d9c8fc54)