Skip to content

Conversation

gu0keno0
Copy link

Fix for #367

self.get_client_slow().await
match self.get_client_slow().await {
Ok(c) => Ok(c),
Err(e) => {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This will end up attempting to rebuild connections when get_client_slow returns Shutdown. I think that the correct approach here might be to not check for a cached error at all in get_client_slow, and to call

self.check_connections().await;
self.rebuild_fast_map().await;

either at that point or do something similar when client creation fails within start_new_client_thread so that we proactively attempt to have a new client ready. What do you think?

As an aside between our developer preview and GA release I'm hoping to rewrite the kvclient, kvclientpool, and kvclientmanager stack as it's too complicated and difficult to understand (especially failure cases)

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fair point. I'll look into the two approaches and update the PR.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants