registry
registry copied to clipboard
Registry controller: max_actions_limit
As observed in some of the stress tests, when the registry is populated with a large number of APIs (~200), the controller generates corresponding large number of actions to execute. Most of these actions fail with deadline exceeded errors due to limitations on the number of connections the backend database can offer. As observed in one of the tests:
The controller generated the following number of actions in 3 consecutive runs: 1290 1100 982
As you can see, most of the actions fail due to deadline exceeded errors and they are retried in the next run. The problem is that because of these retries, the registry backend stays overloaded for until all the required artifacts are generated.
Solution: Set a max_actions_limit
, which restricts the maximum number of actions the controller can generate in a single run. This will help reduce the volume of retries and hence avoid overloading the registry-backend
.
Are the controller actions being run in a task queue? That's how we're throttling everything else in the registry tool.
Yes, the actions are being run in a task queue and the default number of workers are 10 https://github.com/apigee/registry/pull/634
Fixed in this PR: https://github.com/apigee/registry/pull/710