While poking around in toppartitions output I noticed that we seem to rewrite an awful lot of renders per article. Some articles' renders are rewritten 180 times in 10 seconds. It seems that the index update code doesn't actually set an effective limit (possibly broken by the paging work?). It might also be nice to avoid rewriting renders that already have a TTL set.
In any case, this issue seems to be responsible for a good chunk of the write load and heap pressure we are seeing in production.
Sample from 1005:
nodetool -h restbase1004.eqiad.wmnet toppartitions local_group_wikipedia_T_parsoid_html data 20000 WRITES Sampler: Cardinality: ~2 (256 capacity) Top 10 partitions: Partition Count +/- de.wikipedia.org:Benutzer\:Baumi 276 0 fa.wikipedia.org:مدیاویکی\:Recentchangestext 266 0 fa.wikipedia.org:ویکیپدیا\:گزارش_دیتابیس/فهرست_مقالههای_پربیننده_از_۵۰۱_تا_۱۰۰۰/تاریخچه_۱ 225 0 fa.wikipedia.org:بحث_الگو\:سردر_تغییرات_اخیر 181 0 fa.wikipedia.org:الگو\:سردر_تغییرات_اخیر/سایر_ویکیها/افقی 176 0 de.wikipedia.org:Benutzer\:Pixelfire 176 0 de.wikipedia.org:Benutzer\:Anachron 163 0 de.wikipedia.org:Benutzer\:Wahldresdner 161 0 de.wikipedia.org:Benutzer\:CeGe 151 0 de.wikipedia.org:Benutzer\:Peter200 151 0 READS Sampler: Cardinality: ~2 (256 capacity) Top 10 partitions: Partition Count +/- de.wikipedia.org:Benutzer\:Baumi 14 0 fa.wikipedia.org:مدیاویکی\:Recentchangestext 13 0 fa.wikipedia.org:بحث_الگو\:سردر_تغییرات_اخیر 12 0 de.wikipedia.org:Benutzer\:PeeCee 10 0 fa.wikipedia.org:ویکیپدیا\:گزارش_دیتابیس/فهرست_مقالههای_پربیننده_از_۵۰۱_تا_۱۰۰۰/تاریخچه_۱ 10 0 de.wikipedia.org:Benutzer\:SchirmerPower/Statistik 9 0 de.wikipedia.org:Benutzer\:Anachron 9 0 de.wikipedia.org:Benutzer\:Wahldresdner 9 0 de.wikipedia.org:Benutzer\:Peter200 8 0 fa.wikipedia.org:الگو\:سردر_قهوهخانه/آزمایش 8 0