yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #30722
[Bug 1438564] [NEW] Glance cache sqlite driver prunes newly cached images first over older images
Public bug reported:
Glance cache uses LRU strategy for cache pruning. It does so by keeping
track of the last accessed time on cached images. While the xattr driver
uses the last accessed time reported by the underlying filesystem, the
sqlite driver keeps track of its own last accessed time. The sqlite
driver doesn't set [1] the last accessed time the very first time an
image is added to cache. It updates [2] the last accessed time for every
subsequent access of the image from cache. This behavior makes the newly
cached images susceptible to cache pruning over older images because
they don't have a last accessed time set[3]. So, whenever the pruner
runs, it'll prune the newly cached images first and then look for older
images.
This bug may reduce Glance image download performance under certain
traffic patterns as images will be served from Swift instead of image
cache.
[1] https://github.com/openstack/glance/blob/bb59c33ffcc6e1cde23c93bb25d38846e84c2cb9/glance/image_cache/drivers/sqlite.py#L324
[2] https://github.com/openstack/glance/blob/bb59c33ffcc6e1cde23c93bb25d38846e84c2cb9/glance/image_cache/drivers/sqlite.py#L376
[3] https://github.com/openstack/glance/blob/bb59c33ffcc6e1cde23c93bb25d38846e84c2cb9/glance/image_cache/drivers/sqlite.py#L280-L281
** Affects: glance
Importance: Undecided
Assignee: Hemanth Makkapati (hemanth-makkapati)
Status: New
** Changed in: glance
Assignee: (unassigned) => Hemanth Makkapati (hemanth-makkapati)
--
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to Glance.
https://bugs.launchpad.net/bugs/1438564
Title:
Glance cache sqlite driver prunes newly cached images first over older
images
Status in OpenStack Image Registry and Delivery Service (Glance):
New
Bug description:
Glance cache uses LRU strategy for cache pruning. It does so by
keeping track of the last accessed time on cached images. While the
xattr driver uses the last accessed time reported by the underlying
filesystem, the sqlite driver keeps track of its own last accessed
time. The sqlite driver doesn't set [1] the last accessed time the
very first time an image is added to cache. It updates [2] the last
accessed time for every subsequent access of the image from cache.
This behavior makes the newly cached images susceptible to cache
pruning over older images because they don't have a last accessed time
set[3]. So, whenever the pruner runs, it'll prune the newly cached
images first and then look for older images.
This bug may reduce Glance image download performance under certain
traffic patterns as images will be served from Swift instead of image
cache.
[1] https://github.com/openstack/glance/blob/bb59c33ffcc6e1cde23c93bb25d38846e84c2cb9/glance/image_cache/drivers/sqlite.py#L324
[2] https://github.com/openstack/glance/blob/bb59c33ffcc6e1cde23c93bb25d38846e84c2cb9/glance/image_cache/drivers/sqlite.py#L376
[3] https://github.com/openstack/glance/blob/bb59c33ffcc6e1cde23c93bb25d38846e84c2cb9/glance/image_cache/drivers/sqlite.py#L280-L281
To manage notifications about this bug go to:
https://bugs.launchpad.net/glance/+bug/1438564/+subscriptions
Follow ups
References