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

  1. Set the AZURE_CONTAINER environment variable (or the container field in the backup module config)
  2. Pass an explicit bucket/container override in the backup request
  3. 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.