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

fix: clean up timeout defaults and drop the ability to disable timeouts #3352

Merged
merged 12 commits into from
Feb 10, 2022

Conversation

igorbernstein2
Copy link
Collaborator

This tries to clean up timeout handling. Previously bigtable-hbase ran in a "timeouts disabled mode" by default. This was a bit weird as it didnt actually disable timeouts. It just stopped reading user set timeouts and forced 6 min deadlines on non-scans.
This PR starts ignoring the google.bigtable.rpc.use.timeouts altogether and updates the default timeouts to:

  • Unary operations like Get and Put: 20 secs per attempt and 5 mins of retries
  • nonretriable Unary operations like CheckAndMutate: 5 mins for a single attempt
  • scans: 10 mins per scan attempt and a maximum of 10 consecutive retry attempts
  • bulkmutations: 1 m per attempt and a 10 mins of retries

@igorbernstein2 igorbernstein2 requested a review from a team as a code owner December 3, 2021 20:32
@google-cla google-cla bot added the cla: yes This human has signed the Contributor License Agreement. label Dec 3, 2021
@product-auto-label product-auto-label bot added the api: bigtable Issues related to the googleapis/java-bigtable-hbase API. label Dec 3, 2021
Optional.of(Duration.ofMinutes(5)),
Optional.of(Duration.ofMinutes(10)),
Optional.absent()),
/* bulkMutateTimeouts = */ new OperationTimeouts(
Copy link
Contributor

Choose a reason for hiding this comment

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

should be /* bulkTimeouts = */ right? I think we decided for bulk read and bulk mutate to both have attempt 1m, and op 10m?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

This is less than ideal, for now we use scan timeouts for bulk reads. Ideally we would have a separate bulk read time outs. Unfortunately the current naming makes this difficult. For the time being, I'm going to punt on this until a future moment that we can clean up the settings

@igorbernstein2 igorbernstein2 requested a review from a team as a code owner December 22, 2021 22:46
@igorbernstein2 igorbernstein2 added the kokoro:force-run Add this label to force Kokoro to re-run the tests. label Jan 4, 2022
@yoshi-kokoro yoshi-kokoro removed kokoro:force-run Add this label to force Kokoro to re-run the tests. labels Jan 4, 2022
@igorbernstein2 igorbernstein2 added the owlbot:run Add this label to trigger the Owlbot post processor. label Feb 10, 2022
@gcf-owl-bot gcf-owl-bot bot removed the owlbot:run Add this label to trigger the Owlbot post processor. label Feb 10, 2022
@igorbernstein2 igorbernstein2 merged commit ad66be0 into googleapis:main Feb 10, 2022
@igorbernstein2 igorbernstein2 deleted the timeouts2 branch February 10, 2022 15:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
api: bigtable Issues related to the googleapis/java-bigtable-hbase API. cla: yes This human has signed the Contributor License Agreement.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants