2012-09-08 63 views
0

我試圖調試一個在我們的環境中發生的非常奇怪的問題。嘗試使用橡皮筋連接到掛起的ElasticSearch服務器永遠掛起並永不返回

我有ree-1.8.7-2011.12即表現出當ElasticSearch服務器它連接到被暫停由於某種原因奇怪的行爲運行的Rails應用程序(暫停它,開始在前景ES服務器然後CTRL-Z它)時,Ruby進程永遠掛起,不超時或類似的東西。如果ES服務器暫停之前 rails應用程序第一次連接,它不會發生,它只發生在Rails應用程序運行一些查詢,然後ES服務器決定停止應答請求。

因爲我不是本地代碼的好,我甚至不知道從哪裏開始試圖弄清楚這一點(和是的,不幸的是,我們不能有很多原因,現在提升我們的紅寶石)。在活動監視器去和獲取過程中,我得到這個線程轉儲的樣本:

enter image description here

如此看來,這是一個在這個curl_wait_for_resolv呼叫鎖定。

我正在使用Ruby的最新ElasticSearch和Rubberband ES適配器。這在Mac OS和Linux上是可重現的。

有關如何調試或正確超時服務器的任何提示?

回答