Description
Problem:
A client application connecting to a Couchbase cluster with just one Query node, and performing N1QL queries, hangs when that Query node is down (failover / removed).
Reproduction:
Node SDK Client: 2.4.1 and 3 Node Couchbase 4.6.3 cluster:
Node 1: Data + Query
Node 2: Data + Index
Node 3: Data
Application (try-cb) : https://github.com/couchbaselabs/try-cb-nodejs/
Procedure:
Start Application
Use GUI to Select Flights
Failover Node1
Application hangs.
Note:
Application responds when the Query node comes back up again, without having to disconnect.
Expected behavior:
Node.js should throw an error when the Query node goes down. This can be caught by the application which could display some message like "Service Temporarily Unavailable".
Log (with LCB_LOGLEVEL=5):
Attached. debug-2.4.1.log