Hi folks,

Background

Now that the apisix admin api has a binding relationship. For example,
there is an upstream id in a route, and if you want to delete the upstream
pointed to by this upstream id, you have to delete the route first,
otherwise you will get an error like this "can not delete this upstream ……"

Related to this, apisix also has a problem where the admin api interface
updates the cache asynchronously (around 0.1s) for objects that have an
associated relationship.

This means that even if you delete the route and then delete the upstream
within the asynchronous cache update time period, you will still get "can
not delete this upstream ......"


Solution to discuss

We can provide an option like admin_api_object_bind (default is true).

When admin_api_object_bind is false , the bindings are not checked when
using the admin api, so that even if the upstream id in the route is bound
to the upstream, you can still delete the upstream without getting an error.

If admin_api_object_bind is true, the bindings will be checked as they are
now.

This will cause considerable changes to the CP side and DP side of apisix.
Would love to hear the community's thoughts on this.
also let me know if I am wrong. Looking forward to hearing from
you. Thanks.

Reply via email to