Delete multitenant and metacluster features#12583
Conversation
… tests/CmakeLists.txt
…l of tenant. Consider removing them together.
…e that they basically contain what the name implies
…(blob granule) or which are so long deprecated that they are outside any reasonable/documented support window
…el directory. Compilation not yet attempted.
…tory. Compilation not yet attempted.
…eded. Compilation still not attempted.
… Or at least stuff that looks adjacent to that stuff. Not compiled or tested.
…lation not attempted.
…t 7 principal fdbclient/ and fdbserver/ files with a lot of tenant logic left to delete. Also, all of fdbserver/workloads needs to be looked at. Still have not attempted compilation.
… removing some functionality that appears unused or untestable by Apple.
…ences, but some lingering cleanup needed in `loadAndRun`
… documentation, and some fdbserver headers I left earlier
…tempt to compile this stuff.
Result of foundationdb-pr on Linux RHEL 9
|
Result of foundationdb-pr-cluster-tests on Linux RHEL 9
|
Result of foundationdb-pr-cluster-tests on Linux RHEL 9
|
Result of foundationdb-pr-clang-ide on Linux RHEL 9
|
Result of foundationdb-pr-macos-m1 on macOS Ventura 13.x
|
Result of foundationdb-pr-clang-arm on Linux CentOS 7
|
Result of foundationdb-pr-macos on macOS Ventura 13.x
|
Result of foundationdb-pr on Linux RHEL 9
|
Result of foundationdb-pr-clang on Linux RHEL 9
|
Failed because of The following tests FAILED: |
|
Flaky s3_backup_tests ctest failed. Closing & reopening @saintstack FYI, can s3_backup_tests ctest be retired? (Is the simulation testing good enough at this point?) Obligatory data tagging: |
Instead of that, I added an incremental commit. Same effect: trigger a run of CIs. |
Result of foundationdb-pr-clang-ide on Linux RHEL 9
|
Result of foundationdb-pr-macos-m1 on macOS Ventura 13.x
|
Result of foundationdb-pr-cluster-tests on Linux RHEL 9
|
Result of foundationdb-pr-clang-arm on Linux CentOS 7
|
Result of foundationdb-pr-macos on macOS Ventura 13.x
|
Result of foundationdb-pr-clang on Linux RHEL 9
|
Result of foundationdb-pr on Linux RHEL 9
|
Result of foundationdb-pr-cluster-tests on Linux RHEL 9
|
It hasn't failed since it got refactored to use mocks3 to the best of my knowledge? Is that your experience? The test is useful in that if an actual s3 is available, it will use it instead of our mocks3 thingy. Odd is that the log shows it passed.... ... but looks like it timed out.... Some process stuck around for 1500 seconds. Unless you want it gone, let me try and add some kill on the end. |
I haven't done many PRs in the last 1.5 months (just this one big one) so can't say whether it's been acting up blocking CIs in general. But this instance on this PR looks like smoke, we could say. Thanks, will have a look. |
|
It's always fantastic to see unused code removed. |
These features have been previously marked for deletion per PR #12400.
This change necessarily affects a lot of files. In general I found it preferable to cut along the FDB <-> tenant boundary, rather than try to cut tenant into multiple pieces, stitch the Frankenstein tenant implementation back together with FDB, and generally remove the limbs one by one. So it is a single big deletion.
Note that some tenant-related metadata has been written in a non-flag-controlled manner by prior releases and probably must be ignored indefinitely. Fortunately this is isolated to include/fdbclient/ClientLogEvents.h. (Details: deleting an Optional from a serialized struct results in deserialization of garbage in upgrade tests. The serialized nullopt to indicate "no Tenant" is formally part of FDB persistent metadata even in FDB clusters that never would have enabled the tenant feature.)
During the course of testing these changes, many interesting bugs were encountered. I won't discuss details of them here. Causes range from flat out damage (by me) to production code in the course of removing tenant related bits (mainly in NativeAPI.actor.cpp and CommitProxy.actor.cpp), damage to various workload files (particularly FuzzApiCorrectness.actor.cpp, which is very sensitive to changes), and many toml files needing updated test flags/options.
More testing details: https://quip-apple.com/Zr6VAycxoli9
20251209-012852-gglass-8ff850b772d868f2 compressed=True data_size=35311687 duration=21671404 ended=500000 fail_fast=1000 max_runs=500000 pass=500000 priority=100 remaining=0 runtime=2:31:30 sanity=False started=500000 stopped=20251209-040022 submitted=20251209-012852 timeout=5400 username=gglass