weaviate/weaviate · error
container must not be empty
Error message
container must not be empty
What it means
Guard in resolveContainer on the Azure backup client: after applying any bucket override, the effective container name is still empty — i.e. neither the module config nor an override supplied a container. Every Azure Blob operation (GetObject, PutObject, Initialize, Write, Read) funnels through this resolution, so all of them fail with this error when the container is unconfigured.
Source
Thrown at modules/backup-azure/client.go:137
}
return &azureClient{client: client, config: *config, serviceURL: serviceURL, dataPath: dataPath, logger: logger, nodeID: nodeID}, nil
}
func (a *azureClient) HomeDir(backupID, overrideBucket, overridePath string) string {
if overrideBucket == "" {
overrideBucket = a.config.Container
}
return a.serviceURL + path.Join(overrideBucket, a.makeObjectName(overridePath, []string{backupID}))
}
func (a *azureClient) resolveContainer(overrideBucket string) (string, error) {
container := a.config.Container
if overrideBucket != "" {
container = overrideBucket
}
if container == "" {
return "", fmt.Errorf("container must not be empty")
}
return container, nil
}
func (g *azureClient) makeObjectName(overridePath string, parts []string) string {
if overridePath != "" {
base := path.Join(parts...)
return path.Join(overridePath, base)
} else {
base := path.Join(parts...)
return path.Join(g.config.BackupPath, base)
}
}
func (a *azureClient) AllBackups(ctx context.Context) ([]*backup.DistributedBackupDescriptor, error) {
prefix := a.config.BackupPath
if prefix != "" && !strings.HasSuffix(prefix, "/") {
prefix += "/"View on GitHub (pinned to 75aa4b6d11)
Solutions
- Set the AZURE_CONTAINER environment variable (or the container field in the backup module config)
- Pass an explicit bucket/container override in the backup request
- Verify the module was initialized with a non-empty container string
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at modules/backup-azure/client.go:137 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of weaviate/weaviate@75aa4b6d11 (2026-09-04).
Data as JSON: /api/errors/67b4bbf3b46f7f3f.
Report an issue: GitHub.