Commit Graph

150 Commits

Author SHA1 Message Date
Yi Wu eac757d186
EaR: cleanup encryption knobs (#9386)
Changes:
* Cleanup all encryption knobs 
* Update simulated cluster to randomly enable encryption with higher probability
2023-02-18 13:18:20 -08:00
Jingyu Zhou 87a71049df Fix one more test toml spec 2023-02-14 12:52:39 -08:00
Jingyu Zhou 99e8b95bf0 Fix restarting to 7.2 tests for sharded rocks 2023-02-14 10:36:29 -08:00
Jingyu Zhou a4d3035f64 Enable RocksDB restarting tests
Disable sharded rocks storage for downgrade tests where we
Need to keep knob "shard_encode_location_metadata" so that downgrade tests
can pass the second phase.
2023-02-13 20:12:19 -08:00
A.J. Beamon 69fd1addec Disable tenants in downgrade tests to versions before 7.3. For some tests, use an alternate method to disable tenants. 2023-02-11 09:58:29 -08:00
Josh Slocum e6c7927619
improving bg restart with higher workload and chaos for cycle, and new large restart workload (#9313) 2023-02-07 07:47:53 -06:00
Josh Slocum 0a19db8ce9
Blob granule restarting tests (#9259)
* Adding BlobGranuleRestartCycle tests

* test harness fix to not copy blob symlinks for restarting test
2023-02-06 14:54:20 -06:00
Yi Wu 680c9d49dc Fix malform from_7.0.0/UpgradeAndBackupRestore test spec 2023-02-05 19:57:59 -08:00
Jingyu Zhou 4641c9b2a7 Merge remote-tracking branch 'apple/main' into fix 2023-01-26 13:53:33 -08:00
Yi Wu 4d60328e76
Update restart test for encryption, Redwood and snapshot (#9214)
Changes:
1. Update `ConfigureDatabase` workload to test with Redwood, while previously it does not. Also when encryption is enabled, only test with Redwood and not test the migration to other storage engine types, as currently only Redwood supports encryption.
2. Update multiple restart tests so that when testing upgrade from/downgrade to 7.2, disable encryption. This is due to recent change to make encryption controlled by DB config instead of a knob make 7.3 encryption incompatible with 7.2 encryption, and 7.2 encryption is considered an incomplete feature. This is done by splitting `from_7.1.0` test directory into `from_7.1.0_until_7.2.0`/`from_7.2.0_until_7.3.0`/`from_7.3.0`, duplicating every test to these directories and add `disableEncryption=true` when needed. Except...
3. For tests that run `SnapTest`, keep them in `from_7.1.0_until_7.2.0` directory. These tests could fail with 7.2/7.3 restart test, and due to separate Joshua issue, these failures are not exposed when they stay in `from_7.1.0` directory. The plan is to only keep these snapshot tests in `from_7.3.0` (or the directory for restart from the latest version) once issues are fixed.
2023-01-26 12:34:41 -08:00
Jingyu Zhou afcca4a1ee Add from_7.0.0_until_7.2.0 for UpgradeAndBackupRestore tests 2023-01-25 18:01:47 -08:00
Jingyu Zhou 280eedeb9f Change UpgradeAndBackupRestore to from_7.2.4
Because of the new option "disabledFailureInjectionWorkloads" is not available
until 7.2.4.
2023-01-25 17:59:03 -08:00
Jingyu Zhou d10ea094f4 Add a new toml option to disable failure injection workload
This is needed for UpgradeAndBackupRestore-1 to make sure the DB is recoverable
so that the part 2 can start.
2023-01-25 17:58:46 -08:00
Jingyu Zhou 289f024481 Change SubmitBackup to only reboot in Attrition
Otherwise, the Attrition can RebootAndDelete tlogs in remote DC such that the
remote is unusable and blocking recovery to fully_recovered state. In fact,
the FirstCycleTest can only reach the accepting_commits state.

In the part 2 of the restarting test, the runTests() wait for quietDatabase()
to reach fully fully_recovered state, but was stuck in the accepting_commits
state.
2023-01-25 17:56:10 -08:00
Xiaoxi Wang c9aa3f1458 toml file format 2023-01-10 23:13:55 -08:00
Xiaoxi Wang 07bd4c311b solve merge conflict 2023-01-06 16:39:40 -08:00
Xiaoxi Wang b3886806c4 modify tests configuration 2023-01-06 16:01:24 -08:00
Yi Wu 845cc62a39
Redwood: fix tree height overgrowth with per-tenant encryption (#9020)
* Fix Redwood tree height overgrowth when EaR and tenant page split are enabled, by removing the buildNewSubtree() logic.
* Fixing incorrect page upper bound for the last page created by writePages() without the buildNewSubtree() logic.
* Enable tenant page split if encryption mode is domain-aware encryption.
* Related test fixes:
  - In simulation, pass encryption mode to storage/Redwood via knobs. This is a workaround to enable testing with Redwood encryption before we correctly pass the encryption mode via db config. Also temporarily disable tenant page split for restart tests.
  - Disable raw access in FuzzApiCorrectness test if domain-aware encryption is enabled, to avoid test timeout
  - Disable encryption for DrUpgradeRestart test, which is likely to fail due to a rare EKP deadlock issue blocking recovery. Will re-enable after the deadlock issue is fixed.
2023-01-06 15:56:37 -08:00
Xiaoxi Wang b8391a5dfc disable tenant in DrUpgrade test 2023-01-04 23:16:49 -08:00
A.J. Beamon ce4a2a55b2 Remove the usage of tenant names (mostly) from the storage server 2022-12-05 15:44:41 -08:00
sfc-gh-tclinkenbeard c592a26995 Disable log anti quorum for snapshot tests 2022-11-27 13:53:18 -08:00
Jon Fu 04f709c7cb Merge branch 'main' of github.com:apple/foundationdb into tenant-restarting-tests 2022-10-19 14:30:55 -07:00
Jon Fu 702fcd1274 remove allowDisablingTenants flag and add new downgrade test 2022-10-19 14:15:03 -07:00
Yi Wu a2a372d083 Fix Redwood xor encoding incompatibility with 7.1 2022-10-12 14:19:42 -07:00
Jon Fu ee0027ba76 remove tenantModeRequired flag and disable defaulttenant for cyclerestart test 2022-10-12 12:32:43 -07:00
Andrew Noyes 693f015d69 Remove bogus storage engine exclude types
Originally, storageEngineExcludeTypes was storageEngineExcludeType, and
-1 signified "don't ignore any storage engines". This is no longer
meaningful now that it's a list.
2022-10-11 08:44:07 -07:00
Andrew Noyes 55f091a139 Disable shard_encode_location_metadata for downgrade to 7.1
Using the feature to set knobs from test spec files appears to require
using toml, so also rewrite CycleTestRestart-{1,2}.txt to
CycleTestRestart-{1,2}.toml
2022-10-11 08:44:07 -07:00
Yi Wu 0d405d0bc9 fix from_7.0.0/UpgradeAndBackupRestore 2022-10-06 20:47:59 -07:00
Yi Wu d247996a17 disabling Redwood for more 7.1.0 restart tests 2022-10-06 17:30:59 -07:00
Yi Wu d4513c73e1 fix 2022-10-06 16:26:51 -07:00
Yi Wu 318d11d98e further disabling Redwood from VersionVector*Restart tests 2022-10-06 15:27:40 -07:00
Yi Wu 43c3f1a30d Fix storageEngineExcludeTypes format in test specs 2022-10-06 14:37:28 -07:00
Andrew Noyes 27e0a16cdb Remove testClass from restart tests
Old binaries don't understand the testClass field, so we can't have it
in test files old binaries might read. In the future we can have it for
7.2+
2022-10-05 15:49:24 -07:00
sfc-gh-tclinkenbeard 8d988bb1fb Fix configuration section of ConfigureTestRestart-2.toml test file 2022-09-11 00:18:39 -07:00
Markus Pilman 180024b76d implemented testClass and testPriority 2022-08-22 09:57:44 -06:00
A.J. Beamon 7c6b3fb0b8 Merge branch 'main' into feature-metacluster 2022-07-27 08:55:10 -07:00
Yao Xiao 98bff116a4
Disabled unsupported tests. (#7693) 2022-07-25 21:57:47 -07:00
A.J. Beamon 860d3843cc Merge remote-tracking branch 'origin/feature-tenant-groups' into feature-metacluster 2022-07-16 19:33:26 -07:00
Yi Wu 7d7ce0909f
Restart tests carry forward encryption knobs value (#7497)
Previously to get around the issue that EKP is not present when restart test switching encryption from on to off and read encrypted data, EKP was made to start in simulation regardless of encryption knob. This PR revert that change, and instead force restart test not to change encryption knob, by passing previous encryption knob through restartInfo.ini file. Also since we don't allow downgrading an encrypted cluster to previous version, disable encryption in downgrade tests.

Also adding an assert to allow reading encrypted mutations only if encryption knob is on. We may reconsider allowing switching encryption on/off for existing cluster, but for now we don't allow it.
2022-07-14 14:45:17 -07:00
A.J. Beamon 986dd67278 Add some basic support for running multiple extra clusters in simulation. Use this to simulate a metacluster in some tests. 2022-06-10 10:08:18 -07:00
Jingyu Zhou dc8cd5bce1 Enable proxy_use_resolver_private_mutations for VV restarting tests 2022-05-10 15:09:46 +00:00
Jingyu Zhou 92345b9f82 Add VV upgrade tests
No VV to VV upgrade tests.
2022-05-10 15:09:02 +00:00
Jingyu Zhou fba044b846 Use 3 cycles in VV disable tests 2022-05-10 15:08:04 +00:00
Jingyu Zhou 8a8b4d0f0c Add test for turning off version vector feature 2022-05-10 15:04:33 +00:00
sfc-gh-tclinkenbeard e2931b27ca Increase lower bound for snapshot restart tests to 7.1.0 2022-04-26 11:48:46 -07:00
Ray Jenkins f07fa29105 move ConfigureStorageMigrationTestRestarts to to_7.1.0 directory and remove to_7.2.0 2022-04-12 17:06:18 -07:00
Ray Jenkins 3f61f869e6 fix to_7.x tests 2022-04-12 17:06:18 -07:00
Xiaoxi Wang 1eb1cff45b
Merge pull request #6806 from sfc-gh-xwang/fix-conf-restart
Enforce storage migration compatible config in restarting test
2022-04-08 11:15:31 -07:00
Xiaoxi Wang 74d81f90e1 enforce storage migration random config 2022-04-08 00:28:05 -07:00
Steve Atherton da339ed813 Disable Redwood for upgrades from 7.0 or downgrades to 7.0. 2022-04-03 02:37:37 -07:00