juicedata/juicefs · error
put object failed: %s
Error message
put object failed: %s
What it means
A filesystem-only benchmark case attempted blob.Put of a small test object (key 'put_test_file') and the underlying storage rejected the write. Wraps the storage-layer error so the benchmark reports which filesystem-backed object operation failed.
Source
Thrown at cmd/objbench.go:752
return "", err
}
defer r.Close()
data, err := io.ReadAll(r)
if err != nil {
return "", err
}
return string(data), nil
}
key := "put_test_file"
funFSCase := func(name string, fn func() error) {
runCase(name, func(blob object.ObjectStorage) error {
if !isFileSystem {
return utils.ErrNotSUP
}
br := []byte("hello")
if err := blob.Put(ctx, key, bytes.NewReader(br)); err != nil {
return fmt.Errorf("put object failed: %s", err)
}
defer blob.Delete(ctx, key) //nolint:errcheck
return warning(fn())
})
}
runCase("create a bucket", func(blob object.ObjectStorage) error {
created := true
if err := blob.Put(ctx, key, bytes.NewReader([]byte("1"))); err != nil {
created = false
}
defer blob.Delete(ctx, key) //nolint:errcheck
if !created {
if err := blob.Create(ctx); err != nil {
return fmt.Errorf("can't create bucket: %s", err)
}
}View on GitHub (pinned to c9a67b23e8)
Solutions
- Check write permissions and space on the target storage
- Verify the endpoint/credentials used by objbench
Defensive patterns
Strategy: retry
When it happens
Trigger: Thrown at cmd/objbench.go:752 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of juicedata/juicefs@c9a67b23e8 (2026-09-06).
Data as JSON: /api/errors/294b242268dea2a3.
Report an issue: GitHub.