-
Notifications
You must be signed in to change notification settings - Fork 52
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Disable retries on table save, increase write timeouts, fix typo (#253)
## Summary <!--- HINT: Replace #nnn with corresponding Issue number, if you are fixing an existing issue --> There can be a corruption issue in HTS when writes are retried after a timeout exception: 1. Write times out with `IllegalStateException` but the mysql commit may have succeeded. 2. A retry is attempted and faces a 409 error with `CommitFailedException` due to already having the commit, which would then clean up the metadata files while the server still has a pointer to these files if the first commit actually succeeded under the hood. 3. Table is no longer queryable and enters a corrupted state. We want to disable retries on table writes in the tables service. We also want to increase the timeout for writes to reduce the odds of timeouts occurring, since retries are no longer done this shouldn't be increasing latency. Also fixes a small typo `HouseTableRepositoryStateUnkownException` -> `HouseTableRepositoryStateUnknownException` ## Changes - [ ] Client-facing API Changes - [x] Internal API Changes - [x] Bug Fixes - [ ] New Features - [ ] Performance Improvements - [ ] Code Style - [x] Refactoring - [ ] Documentation - [x] Tests For all the boxes checked, please include additional details of the changes made in this pull request. ## Testing Done <!--- Check any relevant boxes with "x" --> - [ ] Manually Tested on local docker setup. Please include commands ran, and their output. - [ ] Added new tests for the changes made. - [x] Updated existing tests to reflect the changes made. - [ ] No tests added or updated. Please explain why. If unsure, please feel free to ask for help. - [ ] Some other form of testing like staging or soak time in production. Please explain. For all the boxes checked, include a detailed description of the testing done for the changes made in this pull request. # Additional Information - [ ] Breaking Changes - [ ] Deprecations - [ ] Large PR broken into smaller PRs, and PR plan linked in the description. For all the boxes checked, include additional details of the changes made in this pull request. --------- Co-authored-by: William Lo <[email protected]>
- Loading branch information
Showing
5 changed files
with
126 additions
and
37 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
8 changes: 8 additions & 0 deletions
8
...ouse/internal/catalog/repository/exception/HouseTableRepositoryStateUnknownException.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
package com.linkedin.openhouse.internal.catalog.repository.exception; | ||
|
||
/** Exception thrown when HTS returns a 5xx. */ | ||
public class HouseTableRepositoryStateUnknownException extends HouseTableRepositoryException { | ||
public HouseTableRepositoryStateUnknownException(String message, Throwable cause) { | ||
super(message, cause); | ||
} | ||
} |
8 changes: 0 additions & 8 deletions
8
...house/internal/catalog/repository/exception/HouseTableRepositoryStateUnkownException.java
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters