Commit Graph

286 Commits

Author SHA1 Message Date
Josh Slocum 6187811f71
Reworking getBlobGranuleRanges to also use commit proxy rpc for authz, and adding test (#9470) 2023-02-24 17:15:32 -06:00
Nim Wijetunga 29819b0645
Change Feed Bug Fix + Encryption Asserts (#9457)
* add encryption asserts

* modify function name

* address pr comments

* address pr comments

* Trigger Build
2023-02-23 19:33:25 -08:00
Markus Pilman 15d8548c0e Merge remote-tracking branch 'origin/main' into features/tenant-lock2
# Conflicts:
#	fdbserver/ApplyMetadataMutation.cpp
#	fdbserver/storageserver.actor.cpp
2023-02-21 13:39:35 -07:00
Josh Slocum 958f3b531b
Plumbing blob worker mapping through commit proxy like storage server (#9401)
* Plumbing blob worker mapping through commit proxy like storage server mapping

* review comments

* formatting
2023-02-21 13:21:44 -06:00
Junhyun Shim 2497aa5701
Clamp GetKeyServerLocations result to tenant prefix (#9424) 2023-02-21 18:55:24 +01:00
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
Ata E Husain Bohra 99b23ac04d
EaR: Configurable encryption support for Tlog mutations (#9394)
* EaR: Configurable encryption support for TLog mutations

Description

  diff-1 : Address review comments

Major changes includes:
1. Update the code involved in ensuring Tlog mutation encryption to be
compliant with "configurable encryption" feature.
2. Update ENABLE_CONFIGURABLE_ENCRYPTION flag to be 'true' by default
and BUGGIFY it.

Testing

devRunCorrectness - 100K
2023-02-16 19:01:59 -08:00
Nim Wijetunga bf85c9f8af
Backup Mutation Log Separates Tenant Map Modifications During Restore (#9292)
mutation log separates tenant map modifications
2023-02-14 16:46:09 -08:00
Yi Wu fe18c87ac6
EaR: commit proxy fetch additional cipher keys post-resolution (#9308)
Commit proxy needs to fetch additional cipher keys post-resolution, since tenant ids for raw access requests and cross-tenant clear ranges are calculated after resolution.
2023-02-14 13:05:51 -08:00
Markus Pilman 3b4bd1692a
Remove unused function
Co-authored-by: A.J. Beamon <aj.beamon@snowflake.com>
2023-02-13 18:22:25 +01:00
Markus Pilman 3017e15448 Merge remote-tracking branch 'origin/main' into features/tenant-lock2
# Conflicts:
#	fdbclient/include/fdbclient/TenantManagement.actor.h
#	fdbserver/storageserver.actor.cpp
#	fdbserver/workloads/TenantManagementWorkload.actor.cpp
2023-02-13 11:43:07 +01:00
Xiaoxi Wang ac1ddc81b0 remove debug trace; change function comment 2023-02-11 13:17:59 -08:00
Xiaoxi Wang a0f7943fc3 simplify implementation of lowerBoundTenantId and withinSingleTenant 2023-02-10 22:14:59 -08:00
Xiaoxi Wang ffc5733e9c add comments 2023-02-10 12:51:13 -08:00
Xiaoxi Wang ffadea08cb change isSingleTenant check; add unit tests 2023-02-10 12:29:38 -08:00
Xiaoxi Wang 09da7efdc0 handle clear range when tenantMap.size() == 0 2023-02-09 22:28:18 -08:00
Xiaoxi Wang a77bf236c7 fix unit test bug 2023-02-08 16:09:32 -08:00
Xiaoxi Wang e75f38a6fc extract pushToBackupMutations method and add single tenant range validation 2023-02-08 14:35:35 -08:00
Xiaoxi Wang e28fc664d0 extract shouldBackup method 2023-02-08 13:25:46 -08:00
Markus Pilman 1c712df709 Tenant lock workload succeeding 2023-02-08 15:51:09 +01:00
Xiaoxi Wang 145b81170c add unit test for replaceRawClearRanges 2023-02-07 13:21:18 -08:00
Xiaoxi Wang 6df5f1fa56 Merge branch 'main' of https://github.com/apple/foundationdb into feature/main/clearRange 2023-02-06 14:28:35 -08:00
Yi Wu d3bc2afc8e
EaR: storage server uses encryption DB config (#9115)
The PR is updating storage server and Redwood to enable encryption based on the encryption mode in DB config, which was previously controlled by a knob. High level changes are
1. Passing encryption mode in DB config to storage server
    1.1 If it is a new storage server, pass the encryption mode through `InitializeStorageRequest`. the encryption mode is pass to Redwood for initialization
    1.2 If it is an existing storage server, on restart the storage server will send `GetStorageServerRejoinInfoRequest` to commit proxy, and commit proxy will return the current encryption mode, which it get from DB config on its own initialization. Storage server will compare the DB config encryption mode to the local storage encryption mode, and fail if they don't match
2. Adding a new `encryptionMode()` method to `IKeyValueStore`, which return a future of local encryption mode of the KV store instance. A KV store supporting encryption would need to persist its own encryption mode, and return the mode via the API.
3. Redwood accepts encryption mode from its constructor. For a new Redwood instance, caller has to specific the encryption mode, which will be stored in Redwood per-instance file header. For existing instance, caller is supposed to not passing the encryption mode, and let Redwood find it out from its own header.
4. Refactoring in Redwood to accommodate the above changes.
2023-02-06 14:02:31 -08:00
Markus Pilman 1fb3c33b3f Merge remote-tracking branch 'origin/main' into features/tenant-lock2
# Conflicts:
#	fdbserver/CommitProxyServer.actor.cpp
2023-02-06 11:58:49 +01:00
Xiaoxi Wang 3a84fc5375 fix temporary tenantMode=0 by only updating db info when recovery count increasing 2023-02-05 18:37:46 -08:00
Xiaoxi Wang 8371883e3b remove log; disabled clear range temporarily 2023-02-03 12:49:23 -08:00
Xiaoxi Wang b0902a515a handle prefix convert to negative id 2023-02-03 12:26:25 -08:00
Xiaoxi Wang 0e242226bc add trace log; fix size bug 2023-02-03 10:36:57 -08:00
Xiaoxi Wang ae6b57d5c8 handle system keys 2023-02-02 16:25:41 -08:00
Xiaoxi Wang 3e1fee8ed4 finalize splitClearRangeByTenant unit test and implement replaceRawClearRanges 2023-02-02 15:19:21 -08:00
Xiaoxi Wang a8013bad5c add splitClearRangeByTenant and unit tests 2023-02-01 20:25:56 -08:00
Xiaoxi Wang 911f849312
Apply suggestions from code review
Co-authored-by: A.J. Beamon <aj.beamon@snowflake.com>
2023-01-31 09:13:49 -08:00
Xiaoxi Wang f1c6d0ee2a fix tenantIds set condition when tenant set metadata version key 2023-01-30 16:58:57 -08:00
Xiaoxi Wang 971920e417 add tenant check trace; delete isSystemKey check; fix clear range condition bug 2023-01-30 14:21:17 -08:00
Xiaoxi Wang 04ceb2c0e9 change tenantIds initialization; format code; 2023-01-29 22:21:27 -08:00
Xiaoxi Wang d1d860a342 merge upstream/main 2023-01-27 12:15:04 -08:00
Xiaoxi Wang 6ce2f5159e update CP dbinfo conditionally to prevent temporary tenant mode change 2023-01-27 11:55:28 -08:00
Markus Pilman 64c11c1f34 Implemented tenant lock and basic test 2023-01-26 15:47:39 +01:00
Xiaoxi Wang 0bb2718f2a expected size of tenantIds 2023-01-25 15:27:11 -08:00
Xiaoxi Wang 33bddb31c7 parse tenant id during getResolution phase 2023-01-25 09:49:04 -08:00
Xiaoxi Wang 9cb7df318b add debug trace events; fix workload load tenant selection 2023-01-24 15:39:13 -08:00
Xiaoxi Wang 42bd94d95e fix RawTenantAccess apply changes bug 2023-01-23 17:04:44 -08:00
Xiaoxi Wang 3c9b47e7b5 Change tenant check to disallow tenant map changing and normal key writting in the same transaction;
Change RawTenantAccess checking accordingly;
Fix versionstamp set op check bug;
Fix TenantManagementConcurrencyWorkload's invalid test parameter write;
2023-01-23 11:16:22 -08:00
Jingyu Zhou 70dcff7903
Merge pull request #9194 from sfc-gh-dadkins/sfc-gh-dadkins/commit-debug-typos
Fix some typos in the CommitDebug tags.
2023-01-23 09:26:08 -08:00
Dan Adkins e34c97fe00 Fix some typos in the CommitDebug tags.
s/ApplyMetada/ApplyMetadata/ is not a big deal, but might as well spell it right.

The two identical ApplyMetaDaEffect entries were a little trickier to pick apart
in the logs, when otherwise grouping CommitDebug entries by ID.
2023-01-20 17:35:45 -08:00
A.J. Beamon b10d1f227b Remove tenant name from the TenantInfo object 2023-01-20 14:04:43 -08:00
A.J. Beamon 258198ca20 Merge branch 'main' into transactions-use-tenant-object
# Conflicts:
#	fdbclient/include/fdbclient/DatabaseContext.h
#	fdbserver/workloads/BulkLoadWithTenants.actor.cpp
2023-01-20 09:06:39 -08:00
Xiaoxi Wang 5b5140157f tenantExisted delta 2023-01-19 15:58:28 -07:00
Nim Wijetunga 82c92abca2
Change Noisy Sev30s to Sev20s (#9180)
change noisy sev30 traces to sev20
2023-01-19 14:06:34 -08:00
Xiaoxi Wang 5a8cac6cf6 merge upstream/main; resolve merge change 2023-01-18 19:47:52 -07:00