serverSideTimeout setting in N1qlParams doesn't seem to be working


#1

N1QL query seems to be bounded by the serverside timeout.
Thus I use the following code to set the serverSideTimeout.

var qparams = N1qlParams.build()
qparams.serverSideTimeout(1, concurrent.TimeUnit.HOURS)
qparams.consistency(ScanConsistency.REQUEST_PLUS)

But the query only ran for minutes and returned partial results.
I am expecting millions of rows, instead I got just around 100k rows.

Is my settings overridden by the system?
Please kindly shed a light.

BTW, I am using couchbase4.1

best,


#2

You need to set the indexer timeout, which is separate. Sorry about the confusion. Let me dig around and find an example.


#3

@geraldss Any updates?


#4

Just found a link to set the indexer scan timeout. https://issues.couchbase.com/browse/DOC-1248

My question is what is the downside to set this timeout value higher, for example 3600000ms.


#5

In your case (expecting millions of rows), it should be okay to increase the timeout appropriately. In general, longer timeout can have indirect side effects, depending on why it is timing-out. For example, if u are seeing timeouts due to stale=false latency (i.e because of indexer catching up with KV updates), then using memory optimized indexes (MOI) may help better. Long scan timeouts may hold resources/memory/snapshots, and impact garbage collection etc.,