Skip to content

Commit fde64cc

Browse files
committed
engineccl: add randomized error injector test for encryptedFS
The encryptedFS can return an error after doing part of the work, as modifying the encryption metadata and the underlying FS is not atomic. This makes some operations (rename, link, remove) non-idempotent, which is harmless for the CockroachDB use cases (since they don't retry on the same files). The test works around these by retrying in a way that makes them idempotent. Additionally, the test catches panics caused by FS errors, in order to test a node that crashes because of a panic caused by a transient error, and is subsequently restarted. Epic: none Informs: cockroachdb#96670 Release note: None
1 parent 3bbf620 commit fde64cc

File tree

4 files changed

+492
-3
lines changed

4 files changed

+492
-3
lines changed

pkg/ccl/storageccl/engineccl/BUILD.bazel

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,9 +61,12 @@ go_test(
6161
"//pkg/util/randutil",
6262
"//pkg/util/timeutil",
6363
"@com_github_cockroachdb_datadriven//:datadriven",
64+
"@com_github_cockroachdb_errors//:errors",
65+
"@com_github_cockroachdb_errors//oserror",
6466
"@com_github_cockroachdb_pebble//:pebble",
6567
"@com_github_cockroachdb_pebble//vfs",
6668
"@com_github_cockroachdb_pebble//vfs/atomicfs",
69+
"@com_github_cockroachdb_pebble//vfs/errorfs",
6770
"@com_github_gogo_protobuf//proto",
6871
"@com_github_kr_pretty//:pretty",
6972
"@com_github_stretchr_testify//require",

0 commit comments

Comments
 (0)