New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Cache on the barrelhead #19581
Cache on the barrelhead #19581
Conversation
src/rgw/rgw_user.cc
Outdated
@@ -297,7 +297,7 @@ int rgw_get_user_info_from_index(RGWRados * const store, | |||
list<rgw_cache_entry_info *> cache_info_entries; | |||
cache_info_entries.push_back(&cache_info); | |||
|
|||
uinfo_cache.put(store, key, &e, cache_info_entries); | |||
uinfo_cache.put(store, key, &e, { &cache_info }); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
it looks like the cache_info_entries
list above is no longer used
84906b8
to
b3249c3
Compare
@adamemerson promising |
a1a2c12
to
0ca74ce
Compare
Jenkins, retest this please. |
Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
Do not use std::list for the LRU. And really don't cons up a std::list just to pass a variable number of arguments to a function. (Use initializer_list instead.) Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
This should get us better look up speeds. Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
Rename it to rgw_cache_expiry_interval, to be specific. It already controls the user cache, and will expire objects in the cache onto which those two are chained. Fixes: http://tracker.ceph.com/issues/22517 Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
We had it in the chained caches, but it doesn't do much good if they just fetch objects out of the object cache. Fixes: http://tracker.ceph.com/issues/22517 Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
Now when we force a refetch of bucket info it will actually go to the OSD rather than simply using the objects in the object cache. Fixes: http://tracker.ceph.com/issues/22517 Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
0ca74ce
to
d997f65
Compare
2017-12-21T21:49:25.384 INFO:tasks.rgw_multisite_tests:tasks.rgw_multi.tests.test_bucket_index_log_trim ... ok |
does not look like a blocker. that same test case passed in the other multisite job |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm sir
@adamemerson I am getting a merge failure, can you please rebase? |
@adamemerson never mind... |
@adamemerson now that this merged, i'm seeing some crashes in |
added http://tracker.ceph.com/issues/22560 with stack trace |
@@ -135,8 +134,6 @@ void ObjectCache::put(string& name, ObjectCacheInfo& info, rgw_cache_entry_info | |||
ObjectCacheEntry& entry = iter->second; | |||
ObjectCacheInfo& target = entry.info; | |||
|
|||
invalidate_lru(entry); | |||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
separately, it looks like the removal of this call is causing some failures in s3tests - added back in #19768
RGW Cache improvements