-
Notifications
You must be signed in to change notification settings - Fork 45
Deprecate metadata_request_timeout
#469
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
base: master
Are you sure you want to change the base?
Deprecate metadata_request_timeout
#469
Conversation
When I was testing scylladb@e4a000f, I have figure that out there is another option that controls system queries timeout - `Cluster.control_connection_timeout`, switched to use it instead of `Cluster.metadata_request_timeout`, but did not remove `Cluster.metadata_request_timeout`. Effectively `Cluster.metadata_request_timeout` is not working, what is working is `Cluster.control_connection_timeout`. To address that let's mark `Cluster.metadata_request_timeout` it as deprecated in favor of `Cluster.control_connection_timeout`, to be removed in next minor release.
c0898eb
to
8ef0565
Compare
The way I understand it If we decide to keep this, fix, then apart from printing a warning I'd also set control_connection_timeout to the bigger of the 2 values (control_connection_timeout, metadata_request_timeout) to prevent client-side timeout from being significantly lower. |
Btw having integration tests for this functionality would have prevented this. We should not skip them in further PRs. |
I don't see any reason why they should not go together, only thing that I would have changed is to set server side timeout a bit less than client side, say 100ms less to offset possibl network delay.
no reason to do so, |
Right, my brain stopped working for a minute, sorry. |
What happened is I started working on the test and found that it is not working, from there I have found that there is |
|
Please read #469 (comment) and PR Description,
|
I reiterate that there was a good reason to use a separate, server-side timeout, for the schema fetch queries. There's a separate phase to the connection - which is lengthy, and you don't wish to retry the whole connection, just because of the big schema (which causes a long schema query). This is a Scylla-specific feature we can take advantage of (that Cassandra may not have - did not check it). We've implemented it in Java too and I think it's useful. If it doesn't work here, we should fix it. |
When I was testing e4a000f, I have figure that out there is another option that controls system queries timeout -
Cluster.control_connection_timeout
, switch to use that it instead ofCluster.metadata_request_timeout
, but did not removeCluster.metadata_request_timeout
.Effectively
Cluster.metadata_request_timeout
is not working, what is working isCluster.control_connection_timeout
.To address that let's mark
Cluster.metadata_request_timeout
it as deprecated in favor ofCluster.control_connection_timeout
, to be removed in next minor release.Pre-review checklist
./docs/source/
.Fixes:
annotations to PR description.