2017-07-24 1 views
0

Je suis en train d'écrire un simple client java pour interagir avec Couchbase en utilisant la bibliothèque spymemcached (ma condition, je ne peux pas utiliser sdk Couchbase)spymemcached client java pour Couchbase

Mon code ressemble ci-dessous -

AuthDescriptor ad = new AuthDescriptor(new String[] { "PLAIN" }, 
    new PlainCallbackHandler(
      "****", "****")); 

MemcachedClient client = new MemcachedClient(
    new ConnectionFactoryBuilder() 
    .setProtocol(ConnectionFactoryBuilder.Protocol.BINARY) 
    .setAuthDescriptor(ad) 
    .build(), 
    AddrUtil.getAddresses(Arrays.asList("127.0.0.1:11211"))); 

// Store a value (async) for one hour 
client.set("someKey", 3600, "someValue"); 
client.set("otherKey", 3600, 100L); 
client.set("1", 3600, 1); 
client.set("2", 3600, 2); 

// Retrieve a value. 
Object myObject = client.get("someKey"); 
System.out.println(myObject); 

Map<String, Object> someKey = client.getBulk("someKey"); 
for (Map.Entry<String, Object> entry : someKey.entrySet()) { 
    System.out.println(entry.getKey()); 
    System.out.println(entry.getValue()); 
} 

Collection<SocketAddress> servers = client.getAvailableServers(); 
System.out.println(servers); 

client.shutdown(); 

Je Couchbase en serveur et en cours d'exécution dans mon localhost et quand je lance le code ci-dessus, je reçois l'erreur suivante -

2017-07-24 15:42:58.397 INFO net.spy.memcached.MemcachedConnection: Added {QA sa=/127.0.0.1:11211, #Rops=0, #Wops=0, #iq=0, topRop=null, topWop=null, toWrite=0, interested=0} to connect queue 
    2017-07-24 15:42:58.558 ERROR net.spy.memcached.protocol.binary.SASLAuthOperationImpl: Error: Auth failure 
    2017-07-24 15:42:58.559 WARN net.spy.memcached.protocol.binary.BinaryMemcachedNodeImpl: Discarding partially completed op: SASL auth operation 
    2017-07-24 15:42:58.560 INFO net.spy.memcached.MemcachedConnection: Reconnection due to exception handling a memcached operation on {QA sa=/127.0.0.1:11211, #Rops=0, #Wops=0, #iq=0, topRop=null, topWop=null, toWrite=0, interested=1}. This may be due to an authentication failure. 
    OperationException: SERVER: Auth failure 
     at net.spy.memcached.protocol.BaseOperationImpl.handleError(BaseOperationImpl.java:192) 
     at net.spy.memcached.protocol.binary.OperationImpl.finishedPayload(OperationImpl.java:204) 
     at net.spy.memcached.protocol.binary.SASLBaseOperationImpl.finishedPayload(SASLBaseOperationImpl.java:98) 
     at net.spy.memcached.protocol.binary.OperationImpl.readPayloadFromBuffer(OperationImpl.java:196) 
     at net.spy.memcached.protocol.binary.OperationImpl.readFromBuffer(OperationImpl.java:139) 
     at net.spy.memcached.MemcachedConnection.readBufferAndLogMetrics(MemcachedConnection.java:861) 
     at net.spy.memcached.MemcachedConnection.handleReads(MemcachedConnection.java:840) 
     at net.spy.memcached.MemcachedConnection.handleReadsAndWrites(MemcachedConnection.java:720) 
     at net.spy.memcached.MemcachedConnection.handleIO(MemcachedConnection.java:683) 
     at net.spy.memcached.MemcachedConnection.handleIO(MemcachedConnection.java:436) 
     at net.spy.memcached.MemcachedConnection.run(MemcachedConnection.java:1446) 
    2017-07-24 15:42:58.561 WARN net.spy.memcached.MemcachedConnection: Closing, and reopening {QA sa=/127.0.0.1:11211, #Rops=0, #Wops=0, #iq=0, topRop=null, topWop=null, toWrite=0, interested=1}, attempt 0. 
    2017-07-24 15:42:58.564 WARN net.spy.memcached.MemcachedConnection: Could not redistribute to another node, retrying primary node for someKey. 
    2017-07-24 15:42:58.565 WARN net.spy.memcached.MemcachedConnection: Could not redistribute to another node, retrying primary node for otherKey. 
    2017-07-24 15:42:58.565 WARN net.spy.memcached.MemcachedConnection: Could not redistribute to another node, retrying primary node for 1. 
    2017-07-24 15:42:58.565 WARN net.spy.memcached.MemcachedConnection: Could not redistribute to another node, retrying primary node for 2. 
    2017-07-24 15:42:58.565 WARN net.spy.memcached.MemcachedConnection: Could not redistribute to another node, retrying primary node for someKey. 
    2017-07-24 15:42:58.659 WARN net.spy.memcached.auth.AuthThread: Authentication failed to /127.0.0.1:11211, Status: {OperationStatus success=false: cancelled} 
    2017-07-24 15:42:58.661 WARN net.spy.memcached.MemcachedConnection: Could not redistribute to another node, retrying primary node for someKey. 
    2017-07-24 15:42:58.661 WARN net.spy.memcached.MemcachedConnection: Could not redistribute to another node, retrying primary node for otherKey. 
    2017-07-24 15:42:58.661 WARN net.spy.memcached.MemcachedConnection: Could not redistribute to another node, retrying primary node for 1. 
    2017-07-24 15:42:58.662 WARN net.spy.memcached.MemcachedConnection: Could not redistribute to another node, retrying primary node for 2. 
    2017-07-24 15:42:58.662 WARN net.spy.memcached.MemcachedConnection: Could not redistribute to another node, retrying primary node for someKey. 

J'ai essayé aussi la connexion aux localhos t instance en utilisant telnet et la commande de statistiques a couru mais a obtenu cette erreur - SERVER_ERROR unauthorized, null bucket

Appréciez toutes les entrées pour résoudre ce problème!

Répondre

0

Ce problème se produit avec Couchbase Server 5.0 version bêta 2, lorsque j'ai essayé avec une version stable Couchbase Server 4.6.0 cela fonctionne très bien.