agent: increase watchLimit to 8192. (#7200)

The previous value was too conservative and users with many instances
were having problems because of it. This change increases the limit to
8192 which reportedly fixed most of the issues with that.

Related: #4984, #4986, #5050.
This commit is contained in:
Hans Hasselberg 2020-02-04 13:11:30 +01:00 committed by GitHub
parent df8db89f65
commit f6ec8ed92b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 8 additions and 7 deletions

View File

@ -81,13 +81,14 @@ var (
const ( const (
// watchLimit is used as a soft limit to cap how many watches we allow // watchLimit is used as a soft limit to cap how many watches we allow
// for a given blocking query. If this is exceeded, then we will use a // for a given blocking query. If this is exceeded, then we will use a
// higher-level watch that's less fine-grained. This isn't as bad as it // higher-level watch that's less fine-grained. Choosing the perfect
// seems since we have made the main culprits (nodes and services) more // value is impossible given how different deployments and workload
// efficient by diffing before we update via register requests. // are. This value was recommended by customers with many servers. We
// // expect streaming to arrive soon and that should help a lot with
// Given the current size of aFew == 32 in memdb's watch_few.go, this // blocking queries. Please see
// will allow for up to ~64 goroutines per blocking query. // https://github.com/hashicorp/consul/pull/7200 and linked issues/prs
watchLimit = 2048 // for more context
watchLimit = 8192
) )
// Store is where we store all of Consul's state, including // Store is where we store all of Consul's state, including