DBAtlas · Veritabanı operasyon atlası

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

Redis

Ne demek?

Redis Cluster'da, bir hash slot'u düğümler arasında taşınırken (rehashing/resharding) aynı slot'a ait birden çok anahtarı içeren bir istek yapıldı ve anahtarların bir kısmı henüz taşınmış, bir kısmı taşınmamış durumda. Sunucu, işlemi biraz sonra tekrar denemenizi ister.

Neden olur?

Slot geçişi (migration) sürerken çok anahtarlı bir komut (MGET, MSET, çoklu anahtarlı Lua, transaction) çalıştırmak. Taşınan slot'ta bazı anahtarlar kaynak düğümde, bazıları hedef düğümde olduğundan komut atomik olarak yürütülemez.

Nasıl çözülür?

İstemcide bu hatayı yakalayıp kısa bir bekleme ile yeniden deneyin (TRYAGAIN geçici bir durumdur; resharding bitince düzelir). Çok anahtarlı işlemlerde tüm anahtarların aynı slot'ta olmasını hash tag ile garantileyin: {kullanici123}.profil, {kullanici123}.ayarlar gibi. Cluster resharding işlemlerini düşük trafik anında yapın.

DBAtlas'ta aç →

Aynı motorda diğer kayıtlar