2014-06-20 4 views
1

J'utilise Couchbase 2.0.1 et en utilisant:Couchbase défaillance temporaire

OperationFuture<Boolean> set = client.set(keySesionCanal, 0, sesionCanal, CouchdbClient.TRANSCODER_SESION_CANAL); 
          logger.info(set.getStatus().getMessage()); 

Parfois, je reçois une erreur avec le message: défaillance temporaire

Je suis assez nouveau à l'aide Couchbase et je ne suis pas sûr de ce qui se passe. Dans les journaux de Couchbase je peux voir beaucoup de messages comme: « L'utilisation totale de la mémoire atteint à la basse mer, arrêt warm-up »

Serait-ce la cause?

Un autre journal bizarre pour moi est: "Envoi TAP_OPAQUE avec la commande "opaque_enable_auto_nack" et vbucket 0" "TAP (Producteur) eq_tapq: replication_ns_1 @ xxxx - Suspension pour 5,00 sec"

Quel est le sens de ce? Où puis-je trouver de la documentation?

+0

Semble est dû à un ramQuotaMB atteint. http://docs.couchbase.com/couchbase-manual-2.0/#appendix-troubleshooting-views-technical-background (recherche d'erreurs temporaires). Je vais surveiller les journaux, si tout est ok c'est la réponse! – ilopezluna

+0

ramQuotaMB n'a pas été atteint et j'obtiens à nouveau la même erreur – ilopezluna

Répondre

1

Cela se produit lorsque vous atteignez les limites de la quantité de mémoire disponible pour la mise en cache. Le cluster tentera de libérer de la mémoire (en éjectant des éléments non-récemment utilisés de la RAM) mais si vous écrivez des données trop rapidement sur le cluster pour libérer de la mémoire avant qu'il n'atteigne le filigrane, vous verrez des erreurs TEMPFAIL - qui indiquent que le client devrait reculer et réessayer. Ceci est couvert à partir du côté serveur dans Ejection, eviction and working-set managerment.

La manière exacte dont vous gérez cela dépend du SDK que vous utilisez, mais des informations générales sont disponibles sous Handling temporary out-of-memory errors dans le Guide du développeur.

Notez que l'algorithme de filigrane bas/haut a été amélioré dans les versions ultérieures, ce qui vous permet d'avoir une meilleure expérience avec la dernière version (la version 2.0.1 est assez ancienne maintenant).

+1

Notez que bien que l'interface utilisateur le montre de cette façon, techniquement, il n'y a pas de "TEMP OOM". Il n'y a que TMPFAIL. Il peut apparaître dans d'autres circonstances, comme lors du rinçage du seau. –

+0

Merci @Matt, va mettre à jour. – DaveR