Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve search job placer logging #5514

Merged
merged 1 commit into from
Oct 23, 2024
Merged

Conversation

guilload
Copy link
Member

Description

Per title. Fixes #5507.

How was this PR tested?

Ran quickwit-search unit tests.

Copy link

github-actions bot commented Oct 22, 2024

On SSD:

Average search latency is 1.01x that of the reference (lower is better).
Ref run id: 3966, ref commit: 5de2cfa
Link

On GCS:

Average search latency is 0.893x that of the reference (lower is better).
Ref run id: 3967, ref commit: 5de2cfa
Link

@guilload guilload force-pushed the guilload/search-job-placer-logging branch from 93d3915 to 36b0fa8 Compare October 22, 2024 21:18
@guilload guilload force-pushed the guilload/search-job-placer-logging branch from 36b0fa8 to 941c43b Compare October 22, 2024 21:20
cluster"
);
}
if !excluded_addrs.is_empty() && excluded_addrs.len() < all_nodes.len() {
Copy link
Contributor

Choose a reason for hiding this comment

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

The condition excluded_addrs.len() < all_nodes.len() seems broken.
if there are more excluded addresses than nodes, we don't filter anything

The tests below don't cover excluded_addrs

Copy link
Contributor

Choose a reason for hiding this comment

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

this seems to be on purpose. Per function doc:

/// When exclude_addresses filters all clients it is ignored.

Copy link
Member Author

Choose a reason for hiding this comment

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

When excluded_addrs.len() >= all_nodes.len(), we will likely filter out all the nodes, so it's probably better not to exclude any node. I assume that was the original intent of whoever wrote this code in the first place.

Another grief I have with excluded_addrs.len() < all_nodes.len(), is that if most of the nodes are excluded, then very few candidates will remain.

Anyway, the purpose of this PR is merely to improve logging. I don't plan on fixing the exclusion logic here. @PSeitz, feel free to open an issue and suggest ways to improve the search retry logic in general. I'd be curious to know how our other systems do it.

@guilload guilload merged commit 3254064 into main Oct 23, 2024
5 checks passed
@guilload guilload deleted the guilload/search-job-placer-logging branch October 23, 2024 23:36
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.

Improve logging on job placer "no available searcher nodes in the pool" error
3 participants