-
Notifications
You must be signed in to change notification settings - Fork 456
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
fix(pageserver): abort process if fsync fails (#9108)
close #8140 The original issue is rather vague on what we should do. After discussion w/ @problame we decided to narrow down the problems we want to solve in that issue. * read path -- do not panic for now. * write path -- panic only on write errors (i.e., device error, fsync error), but not on no-space for now. The guideline is that if the pageserver behavior could lead to violation of persistent constraints (i.e., return an operation as successful but not actually persisting things), we should panic. Fsync is the place where both of us agree that we should panic, because if fsync fails, the kernel will mark dirty pages as clean, and the next fsync will not necessarily return false. This would make the storage client assume the operation is successful. ## Summary of changes Make fsync panic on fatal errors. --------- Signed-off-by: Alex Chi Z <[email protected]>
- Loading branch information
Showing
5 changed files
with
19 additions
and
7 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
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
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
cde1654
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.
5013 tests run: 4850 passed, 5 failed, 158 skipped (full report)
Failures on Postgres 17
test_sharding_split_failures[failure16]
: debug-x86-64test_background_operation_cancellation
: release-x86-64test_subscriber_restart
: release-x86-64, debug-x86-64Failures on Postgres 16
test_subscriber_restart
: release-x86-64Flaky tests (19)
Postgres 17
test_ondemand_wal_download_in_replication_slot_funcs
: debug-x86-64Postgres 16
test_pageserver_multiple_keys
: release-x86-64test_pageserver_key_reload
: release-x86-64test_auth_failures[True]
: release-x86-64test_pageserver_auth
: release-x86-64test_auth_failures[False]
: release-x86-64test_compute_auth_to_pageserver
: release-x86-64test_ancestor_branch
: release-x86-64test_fully_custom_config
: release-x86-64test_empty_config[application/json]
: release-x86-64test_empty_config[None]
: release-x86-64test_null_config
: release-x86-64test_null_body
: release-x86-64test_ondemand_wal_download_in_replication_slot_funcs
: release-x86-64, release-arm64Postgres 15
test_cli_start_stop
: release-arm64test_subscriber_restart
: release-x86-64Postgres 14
test_location_conf_churn[1]
: release-arm64test_subscriber_restart
: release-x86-64Test coverage report is not available
cde1654 at 2024-09-27T19:43:53.210Z :recycle: