couchbaselabs / couchbaselabs/cbgt

couchbase Cfg doesn't implement CAS correctly

Open
#7 0 comments 0 reactions 0 assignees View on GitHub
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.