apisix/t/admin
Alex Zhang dd6ee5e99f
improve: use optimistic locking to avoid concurrency problem in admin PATCH APIs. (#2216)
There is a potential concurrency problem in all admin PATCH APIs when
two patch requests come in simultaneously, in such case, the patched
result of the first applied request will be overridden, also the
probability is tidy, but from the perspective of software's robust,
that's not what we wanna to see.

In this commit, we use the optimistic locking to avoid this problem, for
the example aforementioned, the second PATCH request will failure, and
it's up to the user to retry this PATCH request again.

The optimistic locking mechanism in ETCD v3 APIs is showed by it's
transcation mechanism.

Signed-off-by: tokers <zchao1995@gmail.com>
2020-09-18 17:20:55 +08:00
..
balancer.t optimize: Use lru to avoid resolving IP addresses repeatedly . (#1772) 2020-06-28 18:14:38 +08:00
consumers.t license: add ASF header. (#743) 2019-10-31 09:27:28 +08:00
delete-service.t license: add ASF header. (#743) 2019-10-31 09:27:28 +08:00
delete-upstream.t license: add ASF header. (#743) 2019-10-31 09:27:28 +08:00
global-rules.t improve: use optimistic locking to avoid concurrency problem in admin PATCH APIs. (#2216) 2020-09-18 17:20:55 +08:00
health-check.t change: the timeout of healthcheck should be number type. (#1892) 2020-07-27 16:19:01 +08:00
plugins-reload.t core: support to set response headers by table. (#1129) 2020-02-18 15:19:12 +08:00
plugins.t bugfix: independently check the "disabled" field to avoid schema ve… (#2099) 2020-09-17 22:31:02 +08:00
routes-array-nodes.t test: updated style. (#1606) 2020-05-22 21:34:58 +08:00
routes.t improve: use optimistic locking to avoid concurrency problem in admin PATCH APIs. (#2216) 2020-09-18 17:20:55 +08:00
schema.t bugfix: independently check the "disabled" field to avoid schema ve… (#2099) 2020-09-17 22:31:02 +08:00
services-array-nodes.t test: updated style. (#1606) 2020-05-22 21:34:58 +08:00
services-string-id.t improve: use optimistic locking to avoid concurrency problem in admin PATCH APIs. (#2216) 2020-09-18 17:20:55 +08:00
services.t improve: use optimistic locking to avoid concurrency problem in admin PATCH APIs. (#2216) 2020-09-18 17:20:55 +08:00
ssl.t feature: support multiple certificates(RSA and ECC) for single domain (#2089) 2020-08-24 09:23:06 +08:00
stream-routes-disable.t feature: divide config.yaml into two files config-custom.yaml & confi… (#2023) 2020-08-18 20:18:55 +08:00
stream-routes.t bugfix: id can be string object, which contains ^[a-zA-Z0-9-_]+$. (#1739) 2020-06-21 16:28:11 +08:00
token.t feature: divide config.yaml into two files config-custom.yaml & confi… (#2023) 2020-08-18 20:18:55 +08:00
upstream-array-nodes.t feature: support discovery center (#1440) 2020-05-14 23:20:44 +08:00
upstream.t improve: use optimistic locking to avoid concurrency problem in admin PATCH APIs. (#2216) 2020-09-18 17:20:55 +08:00