foundationdb/tests
Ata E Husain Bohra 03435b5133
Update BlobCipher cache to respect EKP/KMS cipherKey TTL (#7885)
Description

FDB native encryption data at-rest supports two type of cipher-keys
in-memory caching:
1. Revocable keys - with a definite expiry (future timestamp)
2. Non-revocable keys - with or without expiry timestamp and/or
refreshAt timestamp.

Patch update BlobCipherKey in-memory cache to respect EKP/KMS
supplied 'refreshAt' and 'expireAt' timestamp. GetLatestCipher
validates `cipher key freshness' as well as GetCipherKey checks
for 'cipher key liveness' before replying details to the caller.

Patch also optimizes the BlobCipher module logging by taking
following measures:
1. BLOB_CIPHER_DEBUG macro to guard spammy log messages needed
mostly for debugging failures.
2. Minimize log volume by logging cipherKey details for any new
key added to the cache, key-refreshes are not logged.
3. Categorize logs into: debug, info and warn on per-usecase basis

Testing

devRunCorrectness - 100K
EncryptOps.toml - 100K
2022-08-15 11:17:26 -07:00
..
TestRunner Test more C API in upgrade tests (#7853) 2022-08-15 11:08:53 +02:00
argument_parsing Update is_unknown_knob in test_argument_parsing.py 2022-05-23 13:41:48 -07:00
fast Update BlobCipher cache to respect EKP/KMS cipherKey TTL (#7885) 2022-08-15 11:17:26 -07:00
loopback_cluster simple replication (#7625) 2022-07-19 18:30:34 -04:00
noSim Use absl::GetStackTrace for slow task profiler (#7374) 2022-06-15 14:53:52 -07:00
python_tests tests/ black code reformat 2022-04-27 17:01:20 +02:00
rare disable movekeys granule test and shift other granule tests around 2022-08-01 14:48:38 -05:00
restarting Merge branch 'main' into feature-metacluster 2022-07-27 08:55:10 -07:00
slow Granule force purging (#7846) 2022-08-11 15:22:32 -07:00
status Rename more places from proxy to commit proxy 2020-09-15 22:29:49 -07:00
AsyncFileCorrectness.txt Make the testspec more restrictive in terms of what can be set where. 2020-07-06 02:03:30 -07:00
AsyncFileMix.txt Make the testspec more restrictive in terms of what can be set where. 2020-07-06 02:03:30 -07:00
AsyncFileRead.txt Make the testspec more restrictive in terms of what can be set where. 2020-07-06 02:03:30 -07:00
AsyncFileReadRandom.txt Make the testspec more restrictive in terms of what can be set where. 2020-07-06 02:03:30 -07:00
AsyncFileWrite.txt Make the testspec more restrictive in terms of what can be set where. 2020-07-06 02:03:30 -07:00
BGServerCommonUnit.toml Cleanup 2022-03-24 17:15:11 -05:00
BackupContainers.txt Make the testspec more restrictive in terms of what can be set where. 2020-07-06 02:03:30 -07:00
BandwidthThrottle.txt Make the testspec more restrictive in terms of what can be set where. 2020-07-06 02:03:30 -07:00
BigInsert.txt Make the testspec more restrictive in terms of what can be set where. 2020-07-06 02:03:30 -07:00
BlobGranuleFileUnit.toml BlobFile Encryption and compression support 2022-07-14 17:04:14 -07:00
BlobManagerUnit.toml Cleanup 2022-03-24 17:15:11 -05:00
CMakeLists.txt Resolve TSAN-related issues in ctests (#7864) 2022-08-12 19:23:32 +02:00
CTestCustom.ctest.cmake Python_EXECUTABLE to Python3_EXECUTABLE 2022-07-29 14:57:29 -07:00
ClusterControllerTests.txt Add updateWorkerHealth interface in cluster controller 2021-06-24 19:42:28 -07:00
ConsistencyCheck.txt Make the testspec more restrictive in terms of what can be set where. 2020-07-06 02:03:30 -07:00
DDMetricsExclude.txt Make sure only uppercase characters follow underscore in test titles 2020-11-08 14:30:55 -08:00
DataDistributionMetrics.txt Make the testspec more restrictive in terms of what can be set where. 2020-07-06 02:03:30 -07:00
DiskDurability.txt Make the testspec more restrictive in terms of what can be set where. 2020-07-06 02:03:30 -07:00
FileSystem.txt Make the testspec more restrictive in terms of what can be set where. 2020-07-06 02:03:30 -07:00
Happy.txt Initial repository commit 2017-05-25 13:48:44 -07:00
IThreadPool.txt Added unit test. 2021-08-09 16:21:43 -07:00
IncrementalDelete.txt Make the testspec more restrictive in terms of what can be set where. 2020-07-06 02:03:30 -07:00
KVStoreMemTest.txt Make the testspec more restrictive in terms of what can be set where. 2020-07-06 02:03:30 -07:00
KVStoreReadMostly.txt Make the testspec more restrictive in terms of what can be set where. 2020-07-06 02:03:30 -07:00
KVStoreTest.txt Renamed redwood to redwood-1-experimental and file extension to .redwood-v1. 2021-11-16 02:15:22 -08:00
KVStoreTestRead.txt Make the testspec more restrictive in terms of what can be set where. 2020-07-06 02:03:30 -07:00
KVStoreTestWrite.txt Initial repository commit 2017-05-25 13:48:44 -07:00
KVStoreValueSize.txt Initial repository commit 2017-05-25 13:48:44 -07:00
LayerStatusMerge.txt Make the testspec more restrictive in terms of what can be set where. 2020-07-06 02:03:30 -07:00
Mako.txt Add a simple workload, ReportConflictingKeysWorkload, to test correctness of the API and performance overhead added to the resovler. 2019-12-06 16:21:03 -08:00
ParallelRestoreApiCorrectnessAtomicRestore.txt Make the testspec more restrictive in terms of what can be set where. 2020-07-06 02:03:30 -07:00
ParallelRestoreOldBackupApiCorrectnessAtomicRestore.toml test:Mute ParallelRestoreOldBackupApiCorrectnessAtomicRestore 2020-10-15 15:44:29 -07:00
PerfUnitTests.toml added file to run perf unit tests 2021-11-08 15:54:18 -07:00
PureNetwork.txt Make the testspec more restrictive in terms of what can be set where. 2020-07-06 02:03:30 -07:00
RRW2500.txt Make the testspec more restrictive in terms of what can be set where. 2020-07-06 02:03:30 -07:00
RandomRangeRead.txt Minor Redwood comparison optimizations 2021-04-23 18:49:43 +00:00
RandomRead.txt Make the testspec more restrictive in terms of what can be set where. 2020-07-06 02:03:30 -07:00
RandomReadWrite.txt Make the testspec more restrictive in terms of what can be set where. 2020-07-06 02:03:30 -07:00
ReadAbsent.txt Make the testspec more restrictive in terms of what can be set where. 2020-07-06 02:03:30 -07:00
ReadAfterWrite.txt Add a ReadAfterWrite workload, to measure TLog->SS propagation delay. 2020-07-01 02:17:43 -07:00
ReadHalfAbsent.txt Make the testspec more restrictive in terms of what can be set where. 2020-07-06 02:03:30 -07:00
RedwoodCorrectness.txt Some unit tests names had a prefixed "!" in order to be excluded from random selection, this has been changed to a ":" as it is less problematic on the command line. Some Redwood unit tests have been enabled for random selection. 2021-04-05 00:03:15 -07:00
RedwoodCorrectnessBTree.txt Some unit tests names had a prefixed "!" in order to be excluded from random selection, this has been changed to a ":" as it is less problematic on the command line. Some Redwood unit tests have been enabled for random selection. 2021-04-05 00:03:15 -07:00
RedwoodCorrectnessPager.txt Some unit tests names had a prefixed "!" in order to be excluded from random selection, this has been changed to a ":" as it is less problematic on the command line. Some Redwood unit tests have been enabled for random selection. 2021-04-05 00:03:15 -07:00
RedwoodCorrectnessUnits.txt Some unit tests names had a prefixed "!" in order to be excluded from random selection, this has been changed to a ":" as it is less problematic on the command line. Some Redwood unit tests have been enabled for random selection. 2021-04-05 00:03:15 -07:00
RedwoodPerfPrefixCompression.txt Some unit tests names had a prefixed "!" in order to be excluded from random selection, this has been changed to a ":" as it is less problematic on the command line. Some Redwood unit tests have been enabled for random selection. 2021-04-05 00:03:15 -07:00
RedwoodPerfRandomRangeScans.txt Minor Redwood comparison optimizations 2021-04-23 18:49:43 +00:00
RedwoodPerfSequentialInsert.txt Some unit tests names had a prefixed "!" in order to be excluded from random selection, this has been changed to a ":" as it is less problematic on the command line. Some Redwood unit tests have been enabled for random selection. 2021-04-05 00:03:15 -07:00
RedwoodPerfSet.txt Some unit tests names had a prefixed "!" in order to be excluded from random selection, this has been changed to a ":" as it is less problematic on the command line. Some Redwood unit tests have been enabled for random selection. 2021-04-05 00:03:15 -07:00
RedwoodPerfTests.txt Some unit tests names had a prefixed "!" in order to be excluded from random selection, this has been changed to a ":" as it is less problematic on the command line. Some Redwood unit tests have been enabled for random selection. 2021-04-05 00:03:15 -07:00
RocksDBTest.txt rename ssd-rocksdb-experimental as ssd-rocksdb-v1. 2022-03-29 10:53:38 -07:00
S3BlobStore.txt Disambiguate between S3BlobStore and other blob stores 2020-10-29 20:42:23 -07:00
SampleNoSimAttrition.txt fixed indentation issues 2019-10-24 13:21:28 -07:00
SimpleExternalTest.txt Make the testspec more restrictive in terms of what can be set where. 2020-07-06 02:03:30 -07:00
SpecificUnitTest.txt fix test changes 2022-03-15 17:28:36 +01:00
StorageMetricsSampleTests.txt Make the testspec more restrictive in terms of what can be set where. 2020-07-06 02:03:30 -07:00
StorageServerInterface.txt Testing Storage Server implementation 2021-05-25 20:28:50 +00:00
StreamingWrite.txt Make the testspec more restrictive in terms of what can be set where. 2020-07-06 02:03:30 -07:00
SystemData.txt Testing Storage Server implementation 2021-05-25 20:28:50 +00:00
ThreadSafety.txt Make the testspec more restrictive in terms of what can be set where. 2020-07-06 02:03:30 -07:00
TraceEventMetrics.txt Make the testspec more restrictive in terms of what can be set where. 2020-07-06 02:03:30 -07:00
WorkerTests.txt revert unintended changes 2021-08-09 16:29:57 -07:00
default.txt Initial repository commit 2017-05-25 13:48:44 -07:00
errors.txt Make the testspec more restrictive in terms of what can be set where. 2020-07-06 02:03:30 -07:00
fail.txt Initial repository commit 2017-05-25 13:48:44 -07:00
killall.txt Make the testspec more restrictive in terms of what can be set where. 2020-07-06 02:03:30 -07:00
latency.txt Initial repository commit 2017-05-25 13:48:44 -07:00
performance-fs.txt Initial repository commit 2017-05-25 13:48:44 -07:00
performance.txt Initial repository commit 2017-05-25 13:48:44 -07:00
ping.TXT Initial repository commit 2017-05-25 13:48:44 -07:00
pingServers.TXT Initial repository commit 2017-05-25 13:48:44 -07:00
pt.TXT Initial repository commit 2017-05-25 13:48:44 -07:00
randomSelector.txt Make sure only uppercase characters follow underscore in test titles 2020-11-08 14:30:55 -08:00
s3VersionHeaders.txt Support AWS v4 header for s3 backup and restore 2022-02-07 17:53:05 -08:00
selectorCorrectness.txt Make sure only uppercase characters follow underscore in test titles 2020-11-08 14:30:55 -08:00