Commit Graph

182 Commits

Author SHA1 Message Date
A.J. Beamon 882ec9998b Add testing for the metacluster version feature to metacluster management workload. This also adds additional operations to the workload (create/decommission metacluster, lock tenant) to ensure they are covered by this testing. 2023-04-27 10:18:34 -07:00
A.J. Beamon 7ab606dfff
Merge pull request #10057 from sfc-gh-ajbeamon/function-for-creating-simulated-metacluster
Add a utility function for creating a simulated metacluster
2023-04-27 10:04:18 -07:00
A.J. Beamon cd54ee9556 Rewrite asserts that check metacluster size 2023-04-26 12:47:39 -07:00
A.J. Beamon eb3f495ac9 Add a utility function for creating a simulated metacluster and use it in most workloads that create metaclusters 2023-04-26 11:01:47 -07:00
Steve Atherton 4a57aa6e4c Merge commit '724920397403bce1c0150eaae44596828719bbcd' into keybackedrangemap 2023-04-22 13:51:53 -07:00
Jon Fu e81e58463b
Fix tenant test to account for limit parameter (#10030)
* fix metacluster get segfault

* fix bug in tenant test
2023-04-21 17:05:52 -04:00
Steve Atherton 46cde666a5 Merge commit '9639192a88001043a104aeef0c394e99ca5d6a6e' into keybackedrangemap 2023-04-21 13:27:15 -07:00
Jon Fu a7cf82adb2
Update fdbcli tenant list function to take tenant group filter, support JSON, and report tenant IDs (#9967)
* fix metacluster get segfault

* update fdbcli tenant list function to take tenant group filter, support JSON, and report tenant IDs

* code review changes

* code formatting

* additional code review changes

* account for empty tenant groups

* reformat error catching in fdbcli command

* refactor json output and address code review comments

* add back mistakenly removed hint

* keep hints after 4th token

* add to tenant management workload

* fix compile error

* fix test range

* add more asserts to metacluster case

* nest test condition inside if block

* adjust tenant test layout

* refactor some test files

* reorganize test workload logic
2023-04-20 16:22:47 -04:00
Steve Atherton 53ee26d758 Changed KeyBackedTypes to an actor file. Added TypedKeySelectors for Map and Set classes and getRange() keySelector methods. Added debug macro for KeyBackedTypes. Rewrote KeyBackedRangeMap using keyselectors on KeyBackedMap. 2023-04-18 22:21:19 -07:00
A.J. Beamon e27908556a Update the tenant group index to be a tuple of (tenant group name, tenant name, tenant ID) 2023-04-04 14:46:15 -07:00
A.J. Beamon 807646675c Refactor the metacluster project into smaller files, and reorganize the namespaces. Move some metacluster and tenant testing helpers into the metacluster project. 2023-03-30 16:20:09 -07:00
A.J. Beamon e61748c7d5 Move metacluster into its own directory and static library 2023-03-30 16:07:49 -07:00
A.J. Beamon 469e77158f Add metacluster support for tenant locking 2023-02-27 16:53:13 -08:00
A.J. Beamon 8c3ee768a2 Add an option to allow exceeding the tenant group capacity limit when changing tenant configuration 2023-02-24 21:01:36 -08:00
Nim Wijetunga c8b7cff10c fix api test 2023-02-24 15:26:59 -08:00
Nim Wijetunga eca98afcb0 metacluster check tenant mode 2023-02-24 13:59:54 -08:00
A.J. Beamon 2b25cfef8b Merge branch 'main' into metacluster-concurrent-restore-testing 2023-02-23 16:06:47 -08:00
Jon Fu 33f8e90f9f
Split tenant group metadata (#9446)
* initial commit to split tenant group metadata

* attempt to fix merge errors

* fix compile errors and adjust existing tests

* fix infinite loop and extra ACTOR tag

* direct assignment instead of store

* direct assign instead of store (missed a few)
2023-02-23 18:11:49 -05:00
A.J. Beamon 3ac7e17b79 Fix create tenant usage in tenant management workload 2023-02-23 15:08:52 -08:00
A.J. Beamon 06fe00544a Remove TenantMapEntry <-> MetaclusterTenantMapEntry conversion constructors and use named functions instead 2023-02-23 13:28:10 -08:00
A.J. Beamon 87cb21be06
Merge pull request #9310 from sfc-gh-mpilman/features/tenant-lock2
Tenant Lock
2023-02-22 15:18:14 -08:00
Markus Pilman 8695fc15fc Merge remote-tracking branch 'origin/main' into features/tenant-lock2 2023-02-22 13:12:23 -07:00
A.J. Beamon 935cd70600 Use MetaclusterData and TenantData in the MetaclusterConsistencyCheck and TenantConsistencyCheck 2023-02-22 11:04:42 -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
Jon Fu 2d74d10a91 use MetaclusterAPI namespace over TenantAPI for TenantState 2023-02-21 11:33:36 -08:00
Jon Fu c0b332501b update code to match style 2023-02-21 11:17:25 -08:00
Jon Fu 9e01cffef0 fix some merge conflicts and address review comments 2023-02-21 10:29:36 -08:00
Jon Fu 762cbcdc5d unconditionally set restore id 2023-02-17 14:41:41 -08:00
Jon Fu edb7a51b7e Revert "let client supply restore id"
This reverts commit 5fe32b8503.
2023-02-17 14:37:22 -08:00
Jon Fu 5fe32b8503 let client supply restore id 2023-02-17 14:01:58 -08:00
Jon Fu 53fc43a3a6 Merge branch 'main' of github.com:apple/foundationdb into split-tenant-metadata 2023-02-16 14:46:03 -08:00
Yanqin Jin c3d6ae0213
Throw invalid_tenant_configuration when changing assigned cluster (#9350)
Since we currently do not support tenant movement, we should as well explicitly disallow changing the assigned
cluster of a tenant during configuration by throwing `invalid_tenant_configuration` for now.

Test plan:
- add coverage for changing assigned cluster during tenant configuration
- fdbcli
- simulation tests
2023-02-16 14:20:59 -08:00
Jon Fu 036078234e fix some leftover issues from branch merge 2023-02-16 12:54:45 -08:00
Jon Fu ab15478ef9 Merge branch 'main' of github.com:apple/foundationdb into split-tenant-metadata 2023-02-16 10:04:07 -08:00
Jon Fu 1af6d8ff92 fix various correctness issues and listTenant test 2023-02-15 15:01:17 -08:00
Jingyu Zhou a5ca96ddf6
Merge pull request #9342 from sfc-gh-ajbeamon/metacluster-mgmt-restore
Metacluster restore support
2023-02-14 20:41:20 -08:00
Xiaoxi Wang 53f105eec5 fix anyExisted when beginTenant==endTenant 2023-02-14 09:07:09 -08:00
Jon Fu ad210072c0 address code review 2023-02-13 13:29:19 -08:00
A.J. Beamon 98407809d9 Merge branch 'main' into metacluster-mgmt-restore
# Conflicts:
#	fdbcli/MetaclusterCommands.actor.cpp
#	fdbclient/Metacluster.cpp
#	fdbclient/include/fdbclient/MetaclusterManagement.actor.h
#	fdbserver/workloads/MetaclusterManagementWorkload.actor.cpp
#	tests/CMakeLists.txt
2023-02-13 12:30:33 -08: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
Nim Wijetunga 9e5c61e127 address pr comments 2023-02-10 15:56:41 -08:00
Nim Wijetunga de9eef72ff address pr comments 2023-02-10 13:49:15 -08:00
Jon Fu 1c0e784a7a attempt to fix broken test workloads 2023-02-10 11:01:59 -08:00
A.J. Beamon 13eee09ce8 Merge branch 'main' into metacluster-mgmt-restore 2023-02-10 10:58:01 -08:00
Nim Wijetunga 8a3f3ea674 clean up code 2023-02-10 01:01:16 -08:00
Nim Wijetunga dd57e85064 remove traces 2023-02-09 23:05:43 -08:00
Nim Wijetunga fed650894d working version 2023-02-09 21:10:40 -08:00
Nim Wijetunga b7ef50d1f8 inital commit 2023-02-09 14:32:29 -08:00
Jon Fu d981d5e9c2 initial commit to separate metadata 2023-02-08 10:44:26 -08:00
Jon Fu c8e12a7921
Add tenant watches to storage server (#9284)
* add tenant watches to storage server

* combine watches and throw different error after first loop

* try to change SS tenantmap to avoid tenantname altogether

* update code style to be consistent

* add new operation in tenant management test

* address code review changes

* add more to tenant workload and fix id parse bug

* account for TenantRef in TenantData when renaming

* code review comments

* change test assertion
2023-02-07 17:08:51 -05:00