2012-05-16 16 views
4

我正在使用由couchbase人員提供的spymemcached客戶端庫v2.8.0。安裝的memcached服務器版本爲1.4.13HOWTO解決使用Spymemcached客戶端庫作爲memcached服務器時「restribute to another node」的警告消息

memcached的配置是非常基本的>-m 64 -p 11211 -u memcache -l 127.0.0.1

我能夠使用客戶端庫正確獲取,設置和刪除請求。但經歷我的日誌我注意到從spymemcached庫的警告信息,像這樣 -

WARN net.spy.memcached.MemcachedConnection: Could not redistribute to another node, retrying primary node for ... 

我不知道爲什麼試圖重定向到另一個節點的集羣中,如果不存在的。

我連接到高速緩存客戶機,使用下面的代碼 -

String address = 127.0.0.1:11211; 
new MemcachedClient(new ConnectionFactoryBuilder().setDaemon(true).build(), AddrUtil.getAddresses(address)); 

讚賞任何幫助。

回答

3

默認情況下,如果主節點不可用,Spymemcached會將操作重新分配給其他節點。如果有另一個節點會發生這種情況,但由於只有一個節點,重新分配與重試主節點上的操作相同。在你的情況下,這個消息有點混亂。如果您不想重新分配操作,則可以執行以下操作。

String address = 127.0.0.1:11211; 
new MemcachedClient(new ConnectionFactoryBuilder().setDaemon(true).setFailureMode(FailureMode.RETRY).build(), AddrUtil.getAddresses(address)); 

如果聽起來像您的客戶端可能已失去與服務器的連接並在某個時刻重新連接。

+0

但東等不會造成任何開銷或潛在的操作損失......對嗎? – Chantz

+1

你不應該失去操作。在最壞的情況下,如果節點不可達,您的操作可能會超時。如果您只打算使用單臺服務器,則重新分配和重試是完全相同的。你也可以看看這裏的代碼路徑:https://github.com/dustin/java-memcached-client/blob/master/src/main/java/net/spy/memcached/MemcachedConnection.java#L648 – mikewied

+0

這對我不起作用。我仍然可以在日誌中選擇此警告:無法重新分配給其他節點,重試主節點 – ishanbakshi

相關問題