Commit Graph

952 Commits

Author SHA1 Message Date
Dan Lambright 7e296c2367
simple replication (#7625) 2022-07-19 18:30:34 -04:00
Trevor Clinkenbeard 1eec6f993d
Merge pull request #7572 from sfc-gh-akejriwal/tenantquota
Introduce storage quotas per tenant
2022-07-18 20:00:22 -07:00
Ata E Husain Bohra f6f117592d BlobFile Encryption and compression support
- Limit verbose logging under DEBUG_MACRO
 - Update/Add code documentation

Description

Testing
2022-07-14 17:04:14 -07:00
Ata E Husain Bohra 24b2de8de8 BlobFile Encryption and compression support
Description

Testing
2022-07-14 17:04:14 -07:00
Ankita Kejriwal bb05321d24 Introduce storage quotas per tenant.
This change adds:
* ability to store the mapping from tenants to quota in the system keyspace,
* a setter and getter function
* a new workload to test this functionality

FDBCORE-2437
2022-07-14 16:35:12 -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
Dan Lambright 96bd3dcbf0
custom loopback cluster script (#7550) 2022-07-11 13:02:37 -04:00
Vaidas Gasiunas 1e8feb9cb8
Generate a shim library for the FDB C API (#7506)
* Adding sources of the Implib.so project

* Run C unit tests and API tests with the shim library

* Reuse compilation of C test binaries with and without shim library

* Resolve client library path from an environment variable

* Refactoring: Reusable module for downloading FDB binaries

* Testing client shim library with current version and last release version

* Tests for specifying client library over an environment variable

* Enable C shim library tests on ARM

* Restore the original path for including fdb_api.hpp
2022-07-08 16:28:35 +02:00
He Liu bc5bfaffda
Shard based move (#6981)
* Shard based move.

* Clean up.

* Clear results on retry in getInitialDataDistribution.

* Remove assertion on SHARD_ENCODE_LOCATION_METADATA for compatibility.

* Resolved comments.

Co-authored-by: He Liu <heliu@apple.com>
2022-07-07 20:49:16 -07:00
sfc-gh-tclinkenbeard 72f5335460 Remove TPCC workloads 2022-06-29 22:31:56 -07:00
sfc-gh-tclinkenbeard 086e4bff06 Merge remote-tracking branch 'origin/main' into global-tag-throttling3 2022-06-28 10:18:13 -07:00
He Liu 61d621a4c4
Fix read iterator pool race (#7455) 2022-06-27 14:51:26 -07:00
Vaidas Gasiunas e28a8401fb
Update coordinator list from cluster file (#7382)
* Log failed connection attempts in monitorProxies

* Update coordinator list from the cluster file after failing to connect to all coordinators

* Wiggle and upgrade test with legacy version monitoring; updating tests to use 7.1.9

* Update coordinator list from the cluster file: addressing review comments

* Update coordinator list from the cluster file: addressing review comments

* Wait on future for all setAndPersistConnectionString calls
2022-06-23 09:22:09 +02:00
sfc-gh-tclinkenbeard 2391e58fb2 Merge remote-tracking branch 'origin/main' into global-tag-throttling3 2022-06-21 10:09:15 -07:00
sfc-gh-tclinkenbeard a025d7bdbc Ignore GlobalTagThrottling.toml test 2022-06-19 23:10:54 -07:00
Andrew Noyes 83aceb216c
Use absl::GetStackTrace for slow task profiler (#7374)
* Make SlowTask workload runnable in joshua

* Remove SignalSafeUnwind, and use absl::GetStackTrace for slow task profiler
2022-06-15 14:53:52 -07:00
Yao Xiao ddbecb69ad
Ignore ShardedRocksDBTest. (#7381) 2022-06-13 23:13:11 -07:00
sfc-gh-tclinkenbeard df71a49bf6 Merge remote-tracking branch 'origin/main' into global-tag-throttling3 2022-06-13 10:03:10 -07:00
sfc-gh-tclinkenbeard 75c858eb2c Differentiate between different quotas in GlobalTagThrottling workload 2022-06-13 10:01:55 -07:00
Andrew Noyes e0eedc6a37
Fix asan message detection (#7338)
* Fix asan message detection

* Fix heap-buffer-overflow

Call to strlen on a not necessarily null terminated string

* Fix gcc build
2022-06-08 09:35:30 -07:00
Markus Pilman d141347500
Merge pull request #7282 from Doxense/fix-windows-tests
Fix windows tests
2022-06-08 08:18:47 -06:00
Dan Adkins bd47f390bd
Add simulation test for three_data_hall configuration (#7305)
* Add simulation test for 1 data hall + 1 machine failure case.

* Disable BUGGIFY for DEGRADED_RESET_INTERVAL.

A simulation test discovered a situation where machines attempting to connect
to a dead coordinator (with a well-known endpoint) were getting themselves
marked degraded. This flapping of the degraded state prevented recovery from
completing, as it started over any time it noticed that tlogs on degraded
hosts could be relocated to non-degraded ones.

bin/fdbserver -r simulation -f tests/rare/CycleWithDeadHall.toml -b on -s 276841956
2022-06-06 13:14:49 -07:00
sfc-gh-tclinkenbeard 2ae5a6c86b Add GlobalTagThrottling test 2022-06-03 13:12:48 -07:00
Mohamed Oulmahdi 3139e28aeb Fix TestRunner.py typos 2022-05-31 13:29:25 +02:00
Josh Slocum ffa4255c65 Added blob metadata concept as new secret type, and verified blob workers can load it 2022-05-27 15:15:56 -05:00
Josh Slocum 85af0a25b2 Enabling BM to understand tenant boundaries, and changing BlobGranuleCorrectness to use tenants 2022-05-25 17:16:56 -05:00
Josh Slocum 49b50ae8b0 Disabling default tenant in blob granule tests 2022-05-25 17:16:56 -05:00
Yao Xiao 6bf1e3921f
Add skeleton for sharded rocksdb KVS. (#7181) 2022-05-23 15:29:23 -07:00
sfc-gh-tclinkenbeard 8194460915 Update is_unknown_knob in test_argument_parsing.py 2022-05-23 13:41:48 -07:00
Junhyun Shim 02b2f97e99
mTLS test helpers (#7218)
* Add TLS option to (local_cluster|tmp_cluster).py

* Add TLS-enabled C API test
2022-05-23 12:47:51 +02:00
Vaidas Gasiunas 5205b565ab
Upgrade Tests: Testing downgrade from 7.2 to 7.1 (#7179) 2022-05-18 11:59:29 +02:00
Vaidas Gasiunas 9966e3f7f7 Api Tester: print workload progress statistics in regular time intervals 2022-05-17 17:35:01 +02:00
Xiaoxi Wang 8e2a78bf3c
Merge pull request #7087 from sfc-gh-xwang/features/read-skew
Add SkewedReadWriteWorkload
2022-05-16 16:13:57 -07:00
Xiaoxi Wang ef0d49eb93
Update tests/CMakeLists.txt 2022-05-16 11:13:18 -07:00
Xiaoxi Wang 8014ac6baf CMakeList.txt 2022-05-13 12:35:24 -07:00
Xiaoxi Wang e59bdbf3a3 merge upstream/main 2022-05-13 12:22:09 -07:00
Vaidas Gasiunas 6bb83adbdc Upgrade Tests: Restore progress checks after every step 2022-05-13 11:08:23 +02:00
Vaidas Gasiunas c84e0b0d7a
Merge pull request #7085 from sfc-gh-vgasiunas/vgasiunas-cluster-wiggle-test
Cluster wiggle test
2022-05-11 13:06:33 +02:00
Jingyu Zhou fcd3917d1a
Merge pull request #7115 from sbodagala/main
Cherry-pick version vector disable/enable restart tests
2022-05-10 13:03:16 -07:00
Markus Pilman e1ab0f5c4d
Merge pull request #7086 from sfc-gh-vgasiunas/vgasiunas-upgrade-tests-71
Upgrade Tests: Including 7.1 into the upgrade paths
2022-05-10 09:09:55 -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
Xiaoxi Wang 389e289fe4 merge upstream/main 2022-05-09 12:10:53 -07:00
Vaidas Gasiunas 3bf5357562
Merge pull request #7084 from sfc-gh-vgasiunas/vgasiunas-upgrade-test-fix
Upgrade Tests: Avoid race conditions when copying library files from a local repo
2022-05-09 13:27:37 +02:00
Ata E Husain Bohra 33ae398268
REST KmsConnector implementation (#6994)
* REST KmsConnector implementation

Description
  diff-1: Address review comments.
          Add utility interface to Platform namespace to
          create and operate on tmpfile
 diff-2: Address review comments
         Link Boost::filesystem to CMake build process

Major changes includes:
1. Implement REST based KmsConnector implementation.
2. Salient features of the connector:
 2.1. Two required configuration are:
   a. Discovery KMS URLs - enable KMS discovery on bootstrap
   b. Endpoint path configuration to construct URI to fetch/refresh
      encryption keys
   c. Configuration to provide "validationTokens" to connect with
      external KMS. Patch implements file-based token validation scheme.
 2.2. On startup, RESTKmsConnector discovers KMS Urls and caches
      them in-memory. Extracts "validationTokens" based on input config.
 2.3. Expose endpoints to allow fetch/refresh of encryption keys.
 2.4. Defines JSON format to interact with external KMS - request &
      response payload format.
3. Extend Platform namespace with an interface to create and operate on
   tmp files.
4. Update Platform 'readFileBytes' and 'writeFileBytes' to leverage
   fstream supported implementation.

NOTE: KMS URLs fetched after initial discovery will be persisted using
      DynamicKnobs. It is TODO at the moment and shall be completed
      once DynamicKnobs is feature complete

Testing

Unit test to validation following:
1. Parsing on "validation tokens" logic.
2. Construction and parsing of REST JSON request and response strings.
2022-05-07 13:18:35 -07:00
Xiaoxi Wang 3dda65bba9 merge upstream/main 2022-05-06 09:55:32 -07:00
Xiaoxi Wang a94be36e03 add test spec file 2022-05-06 09:42:37 -07:00
Vaidas Gasiunas 27c0113305 Upgrade Tests: Including 7.1 into the upgrade paths 2022-05-06 15:21:57 +02:00