vitessio/vitess · error
GetCellInfo(%s) failed: %w
Error message
GetCellInfo(%s) failed: %w
What it means
The per-cell GetCellInfo vtctld RPC failed for one cell while others may succeed. The error is recorded with the cell name. Typical causes are vtctld-side failures reading that cell's topology record or the cell's topology backend being down.
Source
Thrown at go/vt/vtadmin/cluster/cluster.go:1109
rec concurrency.AllErrorRecorder
)
for _, name := range names {
wg.Add(1)
go func(name string) {
defer wg.Done()
if err := c.topoReadPool.Acquire(ctx); err != nil {
rec.RecordError(fmt.Errorf("GetCellInfo(%s) failed to acquire topoReadPool: %w", name, err))
return
}
resp, err := c.Vtctld.GetCellInfo(ctx, &vtctldatapb.GetCellInfoRequest{
Cell: name,
})
c.topoReadPool.Release()
if err != nil {
rec.RecordError(fmt.Errorf("GetCellInfo(%s) failed: %w", name, err))
return
}
m.Lock()
defer m.Unlock()
infos = append(infos, &vtadminpb.ClusterCellInfo{
Cluster: cpb,
Name: name,
CellInfo: resp.CellInfo,
})
}(name)
}
wg.Wait()
if rec.HasErrors() {
return nil, rec.Error()
}
View on GitHub (pinned to 01a25a7d17)
Solutions
- Inspect the wrapped cause and the named cell's topology record
- Verify the cell's topology backend (etcd/zk) is healthy
- Remove or fix stale cell records
- Retry; if persistent, investigate vtctld logs for that cell
Defensive patterns
Strategy: try-catch
Validate before calling
// check the cell record exists before fetching details
names, err := vtctldClient.GetCellInfoNames(ctx, &vtctldatapb.GetCellInfoNamesRequest{})
if err != nil { return err }
for _, n := range names.Names {
if n == cell { /* ok */ }
} Try / catch
cells, err := cluster.GetCellInfos(ctx, req)
if err != nil {
var missing string
if strings.Contains(err.Error(), "GetCellInfo(") {
// parse cell name from message; degrade gracefully (partial results) or retry
}
return err
} Prevention
- Clean up stale cell records after decommission
- Monitor per-region topology backends
- Validate cell records after adding a cell
- Use partial-failure handling for multi-cell requests
When it happens
Trigger: c.Vtctld.GetCellInfo RPC error for a specific cell — cell record missing/malformed in topology, that cell's etcd/zk unreachable, or vtctld error.
Common situations: A recently added cell with incomplete topology records; regional topology outage; cell decommissioned but still referenced; network partition to one datacenter.
Related errors
- parse error
- failed to delete tablet: %w
- failed to GetCellsAliases for cluster %s: %w
- GetKeyspaces(cluster = %s) failed: %w
- failed to GetCellInfoNames: %w
AI-assisted analysis of vitessio/vitess@01a25a7d17 (2026-09-01).
Data as JSON: /api/errors/247c4fd6afe71bab.
Report an issue: GitHub.