Description
"get and touch" operations do not increment the cmd_get metric as expected. Here's how to reproduce using the python client. Assuming that cb is a couchbase.bucket.Bucket object:
# insert a test key
|
cb.upsert('key', 'value')
|
|
# fetch it. cmd_get is incremented as expected
|
cb.get('key')
|
|
# fetch it and update the ttl ("get and touch"). cmd_get is not updated
|
cb.get('key', ttl=99999)
|
It is helpful to do this while connected to an idle bucket and watching the stats roll by in the web ui. It makes it very apparent that cmd_get is only being counted in the first case (no ttl specified)
I have a client that does exclusively "get and touch" operations and so this bug renders our server-side metrics meaningless.
We first observed this in 3.0.1 community and have reproduced it on 4.6.1 enterprise edition so it has likely existed for a very long time.
Attachments
Issue Links
- duplicates
-
MB-16211 Reflect touch operations in UI graphs
- Open
For Gerrit Dashboard: MB-23875 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
76764,1 | MB-23875: Add GAT operations to the global get counter | master | memcached | Status: ABANDONED | 0 | +1 |
76766,2 | MB-23875: Add GAT to the get counters | watson | memcached | Status: ABANDONED | +2 | +1 |
76776,5 | MB-23875: Add get_and_touch to the engine API [1/2] | master | memcached | Status: MERGED | +2 | +1 |
76936,12 | MB-23875: Implement GAT and TOUCH in the core [2/2] | master | memcached | Status: MERGED | +2 | +1 |
77031,6 | MB-23875: Implement the engine API for GAT | master | ep-engine | Status: MERGED | +2 | +1 |
77032,5 | MB-23875: Remove old (now unused) gat/touch impl | master | ep-engine | Status: MERGED | +2 | +1 |
77033,1 | MB-23875: Remove old (now unused) gat/touch impl | master | memcached | Status: ABANDONED | 0 | -1 |