stylesheet_cache 대상이 누출되었나요?

PostgreSQL 13 업데이트 게시글에서 이어지는 토론입니다:

음, 좀 높은 것 같네요. Meta에는 33k개의 행이 있습니다. 이 쿼리를 살펴보면:

select count(*), target, max(updated_at) from stylesheet_cache
group by target
order by target, max(updated_at)

타겟당 50개의 캐시된 스타일시트를 유지하는 한도가 있는 것 같은데, 어딘가에서 target 지정자가 누출되고 있는 것 같습니다?

count target updated_at
50 discourse-adplugin_37 2021-04-23T19:08:43.292Z
50 discourse-adplugin_43 2021-04-23T19:08:52.227Z
50 discourse-adplugin_54 2021-04-23T19:09:01.121Z
50 discourse-adplugin_55 2021-04-23T19:09:10.245Z
50 discourse-adplugin_57 2021-04-23T19:08:25.265Z
6 discourse-adplugin_64 2021-01-01T11:49:49.071Z
50 discourse-adplugin_65 2020-09-21T16:23:50.647Z
50 discourse-adplugin_66 2021-04-23T19:08:34.562Z
1 discourse-adplugin_71 2020-01-15T21:07:26.560Z
50 discourse-adplugin_72 2020-04-01T23:52:51.691Z
10 discourse-adplugin_75 2020-08-18T20:17:16.954Z
50 discourse-adplugin_77 2020-09-21T18:22:22.334Z
50 discourse-adplugin_9 2021-04-23T19:09:19.228Z

또한, 이 줄은 명확히 잘못되었지만 실제로는 문제가 되지 않습니다(그저 불필요하게 일찍 삭제를 수행하게 될 뿐이므로):

-count = StylesheetCache.count
+count = StylesheetCache.where(target: target).count
 if count > MAX_TO_KEEP
   ... code that deletes old entries, sharded on target ...
1개의 좋아요