DBAtlas · Атлас эксплуатации баз данных

TRYAGAIN Multiple keys request during rehashing of slot: Multiple keys request during rehashing of slot (cluster)

Redis

Что это значит?

В Redis Cluster во время перемещения хеш-слота между узлами (rehashing/resharding) был выполнен запрос с несколькими ключами одного слота, причём часть ключей уже была перемещена, а часть — нет. Сервер просит повторить операцию чуть позже.

Почему возникает?

Выполнение многоключевой команды (MGET, MSET, многоключевой Lua, транзакция) во время миграции слота. В мигрирующем слоте часть ключей находится на исходном узле, а часть — на целевом, поэтому команду невозможно выполнить атомарно.

Как исправить

Перехватывайте эту ошибку в клиенте и повторяйте после короткой паузы (TRYAGAIN временная; она исчезает по завершении resharding). Для многоключевых операций гарантируйте нахождение всех ключей в одном слоте с помощью hash tag, например {app_user123}.profile, {app_user123}.settings. Выполняйте ребалансировку кластера (resharding) в периоды низкого трафика.

Открыть в DBAtlas →

Ещё по этой СУБД