[英]How can I increase the request timeout in Java SDK v4 for Cosmos or Spring data for Cosmos v3?
我需要運行一個聚合查詢來計算記錄數,例如SELECT r.product_id, r.rating, COUNT(1) FROM product_ratings r GROUP BY r.product_id, r.rating
。 該查詢在 Azure 數據資源管理器上運行良好,雖然有點慢。 在數據資源管理器上執行時,查詢的優化版本大約需要 30 秒。 但是,當我在 Java 應用程序中運行相同的查詢時,它似乎在 5 秒內超時,但有以下異常:
com.azure.cosmos.implementation.GoneException: {"innerErrorMessage":"The requested resource is no longer available at the server."}
我相信這是由於 ConnectionPolicy 中定義的默認請求超時為 5 秒(直接和網關模式)。 我找不到覆蓋此默認值的方法。 有沒有辦法增加請求超時? 這個錯誤還有其他可能的原因嗎?
在 Java SDK v4 和 Spring Data Connector v3 上都嘗試過,最終結果相同,即GoneException
。
您可以考慮以下建議,
以下應該有助於解決這個問題:
嘗試增加http connection pool size
(默認1000,可以增加到2000)
如果您使用的是 GateWay 模式,請嘗試使用 DirectMode,更多的流量將通過 tcp,而更少的流量通過 http
您可以參考Github代碼設置超時。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.