2017-03-21 3 views
1

J'utilise le client aspymemcached java pour commenter serveur membase:spymemcached échec client java manipulation ne fonctionne pas correctement: serveur membase

public static void main(String[] args) throws Exception{ 
     MemcachedClient client = null; 
     try { 
      URI server1 = new URI("http://192.168.100.111:8091/pools"); //primary 
      URI server2 = new URI("http://127.0.0.1:8091/pools"); //secondry 
      ArrayList<URI> serverList = new ArrayList<URI>(); 
      serverList.add(server1); 
      serverList.add(server2); 
      client = new MemcachedClient(serverList, "bucketName", ""); 
      client.set("spoon", 50000, "Hello World!"); //after this line i am going to down server 1 (192.168.100.111:8091/pools) 
      Thread.sleep(35000); 
      Object obj = client.get("spoon"); // on excetuting this line value should returns from server 2 
     } catch (Exception e) { 
      log.error("Exception in initializing membase connection:" + e.getMessage(), e); 
     } 
} 

J'ai 2 serveur membase runing sur la réplication. Maintenant, si le nœud primaire (server1) descend alors client n'est pas la valeur la lecture du noeud secondaire (server2) et je me fais erreur suivant:

2017-03-20 07:51:55,655 ERROR [stderr] (Memcached IO over {MemcachedConnection to /127.0.0.1:8091 /192.168.100.111:8091}) at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) 
2017-03-20 07:51:55,655 ERROR [stderr] (Memcached IO over {MemcachedConnection to /127.0.0.1:8091 /192.168.100.111:8091}) at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:717) 
2017-03-20 07:51:55,655 ERROR [stderr] (Memcached IO over {MemcachedConnection to /127.0.0.1:8091 /192.168.100.111:8091}) at net.spy.memcached.MemcachedConnection.handleIO(MemcachedConnection.java:407) 
2017-03-20 07:51:55,655 ERROR [stderr] (Memcached IO over {MemcachedConnection to /127.0.0.1:8091 /192.168.100.111:8091}) at net.spy.memcached.MemcachedConnection.handleIO(MemcachedConnection.java:275) 
2017-03-20 07:51:55,655 ERROR [stderr] (Memcached IO over {MemcachedConnection to /127.0.0.1:8091 /192.168.100.111:8091}) at net.spy.memcached.MemcachedClient.run(MemcachedClient.java:2030) 
2017-03-20 07:51:55,656 ERROR [stderr] (Memcached IO over {MemcachedConnection to /127.0.0.1:8091 /192.168.100.111:8091}) 2017-03-20 07:51:55.656 WARN net.spy.memcached.MemcachedConnection: Closing, and reopening {QA sa=/192.168.100.111:8091, #Rops=0, #Wops=0, #iq=0, topRop=null, topWop=null, toWrite=0, interested=0}, attempt 5. 
2017-03-20 07:52:04,549 ERROR [stderr] (Memcached IO over {MemcachedConnection to /127.0.0.1:8091 /192.168.100.111:8091}) 2017-03-20 07:52:04.549 INFO net.spy.memcached.MemcachedConnection: Reconnecting {QA sa=/192.168.100.111:8091, #Rops=0, #Wops=0, #iq=0, topRop=null, topWop=null, toWrite=0, interested=0} 
2017-03-20 07:52:05,542 ERROR [stderr] (Memcached IO over {MemcachedConnection to /127.0.0.1:8091 /192.168.100.111:8091}) 2017-03-20 07:52:05.542 INFO net.spy.memcached.MemcachedConnection: Connection state changed for [email protected] 
2017-03-20 07:52:05,542 ERROR [stderr] (Memcached IO over {MemcachedConnection to /127.0.0.1:8091 /192.168.100.111:8091}) 2017-03-20 07:52:05.542 INFO net.spy.memcached.MemcachedConnection: Reconnecting due to failure to connect to {QA sa=/192.168.100.111:8091, #Rops=0, #Wops=0, #iq=0, topRop=null, topWop=null, toWrite=0, interested=0} 
2017-03-20 07:52:05,542 ERROR [stderr] (Memcached IO over {MemcachedConnection to /127.0.0.1:8091 /192.168.100.111:8091}) java.net.ConnectException: Connection refused: no further information 
2017-03-20 07:52:05,542 ERROR [stderr] (Memcached IO over {MemcachedConnection to /127.0.0.1:8091 /192.168.100.111:8091}) at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) 
2017-03-20 07:52:05,542 ERROR [stderr] (Memcached IO over {MemcachedConnection to /127.0.0.1:8091 /192.168.100.111:8091}) at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:717) 
2017-03-20 07:52:05,542 ERROR [stderr] (Memcached IO over {MemcachedConnection to /127.0.0.1:8091 /192.168.100.111:8091}) at net.spy.memcached.MemcachedConnection.handleIO(MemcachedConnection.java:407) 
2017-03-20 07:52:05,542 ERROR [stderr] (Memcached IO over {MemcachedConnection to /127.0.0.1:8091 /192.168.100.111:8091}) at net.spy.memcached.MemcachedConnection.handleIO(MemcachedConnection.java:275) 
2017-03-20 07:52:05,543 ERROR [stderr] (Memcached IO over {MemcachedConnection to /127.0.0.1:8091 /192.168.100.111:8091}) at net.spy.memcached.MemcachedClient.run(MemcachedClient.java:2030) 
2017-03-20 07:52:05,543 ERROR [stderr] (Memcached IO over {MemcachedConnection to /127.0.0.1:8091 /192.168.100.111:8091}) 2017-03-20 07:52:05.543 WARN net.spy.memcached.MemcachedConnection: Closing, and reopening {QA sa=/192.168.100.111:8091, #Rops=0, #Wops=0, #iq=0, topRop=null, topWop=null, toWrite=0, interested=0}, attempt 5. 
2017-03-20 07:52:20,356 ERROR [stderr] (Memcached IO over {MemcachedConnection to /127.0.0.1:8091 /192.168.100.111:8091}) 2017-03-20 07:52:20.356 INFO net.spy.memcached.MemcachedConnection: Reconnecting {QA sa=/192.168.100.111:8091, #Rops=0, #Wops=0, #iq=0, topRop=null, topWop=null, toWrite=0, interested=0} 
2017-03-20 07:52:21,356 ERROR [stderr] (Memcached IO over {MemcachedConnection to /127.0.0.1:8091 /192.168.100.111:8091}) 2017-03-20 07:52:21.356 INFO net.spy.memcached.MemcachedConnection: Connection state changed for [email protected] 
2017-03-20 07:52:21,356 ERROR [stderr] (Memcached IO over {MemcachedConnection to /127.0.0.1:8091 /192.168.100.111:8091}) 2017-03-20 07:52:21.356 INFO net.spy.memcached.MemcachedConnection: Reconnecting due to failure to connect to {QA sa=/192.168.100.111:8091, #Rops=0, #Wops=0, #iq=0, topRop=null, topWop=null, toWrite=0, interested=0} 
2017-03-20 07:52:21,356 ERROR [stderr] (Memcached IO over {MemcachedConnection to /127.0.0.1:8091 /192.168.100.111:8091}) java.net.ConnectException: Connection refused: no further information 
2017-03-20 07:52:21,356 ERROR [stderr] (Memcached IO over {MemcachedConnection to /127.0.0.1:8091 /192.168.100.111:8091}) at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) 
2017-03-20 07:52:21,356 ERROR [stderr] (Memcached IO over {MemcachedConnection to /127.0.0.1:8091 /192.168.100.111:8091}) at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:717) 
2017-03-20 07:52:21,356 ERROR [stderr] (Memcached IO over {MemcachedConnection to /127.0.0.1:8091 /192.168.100.111:8091}) at net.spy.memcached.MemcachedConnection.handleIO(MemcachedConnection.java:407) 
2017-03-20 07:52:21,356 ERROR [stderr] (Memcached IO over {MemcachedConnection to /127.0.0.1:8091 /192.168.100.111:8091}) at net.spy.memcached.MemcachedConnection.handleIO(MemcachedConnection.java:275) 
2017-03-20 07:52:21,356 ERROR [stderr] (Memcached IO over {MemcachedConnection to /127.0.0.1:8091 /192.168.100.111:8091}) at net.spy.memcached.MemcachedClient.run(MemcachedClient.java:2030) 

Mon comportement attendu est, le client doit lire la valeur du serveur secondry (server2) insted de reconnecter le serveur principal.

+0

ref: https: //forums.couchbase.com/t/java-client-dont-connect-another-cluster-node-when- premier-est-bas/10573 –

Répondre

0

Nous avons traité en utilisant ConnectionObserver Jetez un oeil à mon answer