couchbaselabs / couchbaselabs/spectroperf
Check for existence of bucket
- Dominant language
- Go
- Stars
- 3
- Forks
- 2
- Avg merge
- 24m
- Merged PRs (30d)
- 5
Description
Currently if we run a workload against a cluster that does not have the bucket used by the workload then we get an ambiguous timeout in the logs:
```
{"level":"fatal","ts":"2025-08-26T08:18:01.284+0100","caller":"spectroperf/spectroperf.go:187","msg":"Failed to connect to Bucket","Bucket":"data","error":"unambiguous timeout | {\"operation_id\":\"WaitUntilReady\",\"time_observed\":5000459,\"retry_reasons\":[\"NOT_READY\",\"CONNECTION_ERROR\"],\"retry_attempts\":17}","stacktrace":"main.startSpectroperf\n\t/Users/jackwestwood/spectroperf/spectroperf.go:187\nmain.init.func1\n\t/Users/jackwestwood/spectroperf/spectroperf.go:49\ngithub.com/spf13/cobra.(*Command).execute\n\t/Users/jackwestwood/go/pkg/mod/github.com/spf13/cobra@v1.9.1/command.go:1019\ngithub.com/spf13/cobra.(*Command).ExecuteC\n\t/Users/jackwestwood/go/pkg/mod/github.com/spf13/cobra@v1.9.1/command.go:1148\ngithub.com/spf13/cobra.(*Command).Execute\n\t/Users/jackwestwood/go/pkg/mod/github.com/spf13/cobra@v1.9.1/command.go:1071\nmain.main\n\t/Users/jackwestwood/spectroperf/spectroperf.go:341\nruntime.main\n\t/opt/homebrew/Cellar/go/1.24.5/libexec/src/runtime/proc.go:283"}
```
We should add some steps to check that the bucket/scope/collection all exists so that we can give the user a more useful error. Maybe we can even have spectroperf create them.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start at startSpectroperf in spectroperf.go:187, where the bucket connection currently reports the timeout, and trace how the workload names its bucket, scope, and collection. Define completion as detecting missing resources before the workload runs and reporting which resource is absent; whether spectroperf should create them is left as an open question in the issue.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- cli
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100