-
Notifications
You must be signed in to change notification settings - Fork 7.4k
Closed
Labels
serveRay Serve Related IssueRay Serve Related Issue
Description
There can be multiple Serve clients accessing the same Serve controller. However, each client has its own ServeHandle cache. Here's the relevant piece of client code:
def delete_endpoint(self, endpoint: str) -> None:
"""Delete the given endpoint.
Does not delete any associated backends.
"""
if endpoint in self._handle_cache:
del self._handle_cache[endpoint]
ray.get(self._controller.delete_endpoint.remote(endpoint))That means when an endpoint is deleted using one client, it remains in the cache of the other clients. This can cause issue using ServeHandles when endpoint names are reused after the endpoint is deleted. In particular, when running test_api.py, old endpoints named "endpoint" can persist across multiple tests when using multiple clients, even though delete_endpoint is called between each test, because "endpoint" is reused across many tests.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
serveRay Serve Related IssueRay Serve Related Issue