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

[YSQL] Increase per-tablet timeout #4045

Closed
ndeodhar opened this issue Mar 23, 2020 · 0 comments
Closed

[YSQL] Increase per-tablet timeout #4045

ndeodhar opened this issue Mar 23, 2020 · 0 comments
Assignees
Labels
area/ysql Yugabyte SQL (YSQL)
Projects

Comments

@ndeodhar
Copy link
Contributor

Today, we have a per-tablet timeout of 2.5 seconds. When we batch load data in SQL, we hit this timeout frequently. We should look into increasing this limit for batch loads. One option could be to use the client timeout (or some percentage of the client timeout) as the per-tablet limit.

@ndeodhar ndeodhar added the area/ysql Yugabyte SQL (YSQL) label Mar 23, 2020
@ndeodhar ndeodhar self-assigned this Mar 23, 2020
@ndeodhar ndeodhar added this to To do in Performance via automation Mar 23, 2020
@ndeodhar ndeodhar changed the title [YSQL] Increase per-tablet timeout for batched requests [YSQL] Increase per-tablet timeout Apr 16, 2020
@ndeodhar ndeodhar assigned psudheer21 and unassigned ndeodhar Apr 16, 2020
psudheer21 pushed a commit that referenced this issue May 15, 2020
…f the fixed 60 secs and 2.5 seconds hardcoded in our code.

Summary:
Currently we have a 60 second limit for the top level queries and each
rpc uses the 2.5 second timeout.
We also have the STATEMENT_TIMEOUT for the SQL statements.

Instead of using the 2.5 second timeout for the rpcs we should ideally
use rpc timeout to be the min{STATEMENT_TIMEOUT,
FLAGS_client_read_write_timeout_ms}

This involves 2 changes:
1. Flowing the user defined timeout down to the rpc layer.
2. Using the deadline calculated in the rpc layer for all the requests.

Test Plan:
Manually checked that the rpc layer has the default timeout of 60 seconds.
When the timeout is changed with "set statement_timeout=30", the rpc layer used
the new timeout.

Added a new test TestPgTimeout to test the fact that the timeouts are adhered to.

Reviewers: mihnea, neha, bogdan, sergei

Reviewed By: sergei

Subscribers: yql

Differential Revision: https://phabricator.dev.yugabyte.com/D8374
Performance automation moved this from To do to Done May 19, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/ysql Yugabyte SQL (YSQL)
Projects
Performance
  
Done
Development

No branches or pull requests

2 participants