DBAtlas · Veritabanı operasyon atlası

search_context_missing_exception: No search context found for id (scroll expired)

Elasticsearch

Ne demek?

Bir scroll (kaydırma) sorgusu için kullanılan arama bağlamı (search context) artık sunucuda yok. Genellikle scroll bağlamının zaman aşımına uğraması veya temizlenmesi nedeniyle, saklanan scroll_id ile devam etmeye çalışırken ortaya çıkar.

Neden olur?

Scroll için belirtilen keep-alive süresinin dolması (isteklerin arasında çok uzun beklemek); bağlamın manuel olarak temizlenmesi (clear scroll); ya da bir düğüm yeniden başladığında bağlamın kaybolması. Scroll bağlamları düğüm belleğinde tutulduğu için sınırlı ömürlüdür.

Nasıl çözülür?

Her scroll isteğinde yeterli keep-alive verin (ör. scroll=5m) ve sayfalar arasında gecikmeyi kısaltın. Modern Elasticsearch'te derin sayfalama için scroll yerine search_after + Point in Time (PIT) kullanmanız önerilir; bu daha ölçeklenebilir ve tavsiye edilen yöntemdir. İşiniz bitince bağlamları serbest bırakın (clear scroll) ki bellek boşa dolmasın.

DBAtlas'ta aç →

Aynı motorda diğer kayıtlar