Details
-
Bug
-
Resolution: Fixed
-
Major
-
7.1.0
-
Untriaged
-
1
-
Unknown
Description
Every ScopeTimer that is constructed inadvertently copy-constructs the tuple members, meaning 1 temporary is created/destructed with no start/stop time. This leaves us with tracing that looks like:
"trace":"request=11472086545592026:543384 get=0:0 bg.wait=11472086545601845:63 get=11472086545596216:18 execute=11472086545592026:23 bg.load=11472086545665306:543241 get=0:0 get=11472087088953283:10 execute=11472087088949455:27"
|
This affects every get and store as they are the users of ScopeTimer.
A fix (to be checked on all compilers...) is simple to ensure correct construction.
This issue was introduced by https://review.couchbase.org/c/platform/+/166433 and shipped in 7.1.0
Attachments
For Gerrit Dashboard: MB-52839 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
177078,1 | MB-52839: Avoid temporary in ScopeTimer construction | neo | platform | Status: ABANDONED | -1 | -1 |
177092,2 | MB-52839: Revert "ScopeTimer" changes | neo | platform | Status: MERGED | +2 | +1 |
177093,2 | MB-52839: Revert "MB-49782: [2/2] Replace ScopeTimer{1,2} usage with ScopeTimer" | neo | kv_engine | Status: MERGED | +2 | +1 |
177549,1 | Merge branch 'neo' into HEAD | master | kv_engine | Status: ABANDONED | 0 | -1 |
177558,1 | Merge remote-tracking branch 'couchbase/neo' | master | platform | Status: ABANDONED | 0 | -1 |
177601,1 | Merge commit 'bb9ce65' into couchbase/master | master | platform | Status: MERGED | +2 | +1 |
177602,2 | Merge commit '1d9cb61aa' into 'couchbase/master' | master | kv_engine | Status: MERGED | +2 | +1 |