From 7a23e291cf5251826d8ed3b6d0b60bf19d552209 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Soner=20U=C5=9Fakl=C4=B1?= Date: Tue, 24 Feb 2026 10:50:58 -0500 Subject: [PATCH] fix: upgrade script, dont remove while processing zset --- src/upgrades/4.9.0/topicsRemote_zset.js | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/upgrades/4.9.0/topicsRemote_zset.js b/src/upgrades/4.9.0/topicsRemote_zset.js index 678b528cff..a74457c0e1 100644 --- a/src/upgrades/4.9.0/topicsRemote_zset.js +++ b/src/upgrades/4.9.0/topicsRemote_zset.js @@ -10,10 +10,10 @@ module.exports = { method: async function () { const { progress } = this; progress.total = await db.sortedSetCard('topics:tid'); - + const removeTopics = []; await batch.processSortedSet('topics:tid', async (topicData) => { const apTopics = topicData.filter(topic => !utils.isNumber(topic.value)); - await db.sortedSetRemove('topics:tid', apTopics.map(topic => topic.value)); + removeTopics.push(...apTopics.map(topic => topic.value)); await db.sortedSetAdd( 'topicsRemote:tid', apTopics.map(t => t.score), @@ -24,5 +24,11 @@ module.exports = { batch: 500, withScores: true, }); + + await batch.processArray(removeTopics, async (tids) => { + await db.sortedSetRemove('topics:tid', tids); + }, { + batch: 500, + }); }, };