-
Notifications
You must be signed in to change notification settings - Fork 6.9k
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
Use connection pool for redis dictionary #33804
Conversation
BTW, performance of redis dictionaries is still questionable. Maybe we need to use another client library for redis. But ok for now. |
String RedisDictionarySource::toString() const | ||
{ | ||
return "Redis: " + host + ':' + DB::toString(port); | ||
} | ||
|
||
auto RedisDictionarySource::getConnection() const -> ConnectionPtr |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Consider to use ConnectionPtr
as return type, without this auto.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This construction helps to avoid extra qualification for ConnectionPtr
. Otherwise we will have to write
RedisDictionarySource::ConnectionPtr RedisDictionarySource::getConnection() const
But I'm ok to replace this.
Not sure maybe it is better to backport only crash fix, without adding pool. |
More precisely, for direct dictionary it's about 300-400K rows for |
@CurtizJ lets merge it that way, later we can investigate how performance can be improved. |
Changelog category (leave one):
Changelog entry (a user-readable short description of the changes that goes to CHANGELOG.md):
Fix usage of external dictionaries with
Redis
source and large number of keys.Fixes #27784.