couchbaselabs / couchbaselabs/cbgt
couchbase Cfg doesn't implement CAS correctly
- Dominant language
- Go
- Stars
- 2
- Forks
- 1
- PR merge metrics
- No merged PRs in 30d
Description
@nimishzynga found a concurrency race in the couchbase-bucket implementation of the Cfg (cfg_cb.go) where the CAS implementation doesn't work and is broken...
https://github.com/couchbaselabs/cbgt/blob/master/cfg_cb.go#L103
Solution ideas include not using a client-side cache (cfgMem), but always just going to the couchbase bucket.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with cfg_cb.go at line 103 and trace how Cfg performs CAS through the couchbase-bucket implementation, including the cfgMem client-side cache. Verify the behavior under concurrent updates against the Couchbase bucket; it is done when CAS operations no longer race and preserve the expected update semantics.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- database
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100