weaviate/weaviate · error
can't pass empty node name
Error message
can't pass empty node name
What it means
Argument guard in Module.Delete: nodeName is empty while shardName is non-empty (note the message says 'node name', scoping this record). Deleting a shard's data without naming the node is ambiguous for single-node shard copies, so the call is rejected before touching object storage.
Source
Thrown at modules/offload-s3/module.go:405
}
// Delete deletes content of a shard assigned to specific node in
// cloud provider (S3, Azure Blob storage, Google cloud storage)
// Careful: if shardName and nodeName is passed empty it will delete all class frozen shards in cloud storage
// {cloud_provider}://{configured_bucket}/{className}/{shardName}/{nodeName}/{shard content}
func (m *Module) Delete(ctx context.Context, className, shardName, nodeName string) error {
start := time.Now()
if className == "" {
return fmt.Errorf("can't pass empty class name")
}
if shardName == "" && nodeName != "" {
return fmt.Errorf("can't pass empty shard name")
}
if nodeName == "" && shardName != "" {
return fmt.Errorf("can't pass empty node name")
}
ctx, cancel := context.WithTimeout(ctx, m.timeout)
defer cancel()
cloudPath := fmt.Sprintf("s3://%s/%s/%s/%s/*", m.Bucket, strings.ToLower(className), shardName, nodeName)
// update cloud path on deleting a class
if shardName == "" && nodeName == "" {
cloudPath = fmt.Sprintf("s3://%s/%s/*", m.Bucket, strings.ToLower(className))
}
cmd := []string{
fmt.Sprintf("--endpoint-url=%s", m.Endpoint),
"rm",
cloudPath,
}
View on GitHub (pinned to 75aa4b6d11)
Solutions
- Pass the node name alongside the shard name to identify which node's shard content to delete
- If the whole-shard/whole-class deletion is intended, adjust the other arguments accordingly per the Delete contract
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at modules/offload-s3/module.go:405 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/a125ed909a1837cf.
Report an issue: GitHub.