Tenant feature metadata changes in 7.2 release

The 7.1 version of FoundationDB introduces a new experimental feature called tenants that allows a user to configure named transaction domains in the cluster. Tenants allow clients to operate on separate key-spaces without having to apply prefixes to every key, and they enforce that no operation can exceed the boundary associated with the tenant. Additionally, there are some upcoming useful features that will also be scoped to tenants.

As an experimental feature, we do not make the same guarantees about the stability of the feature between versions like we do with normal features. Tenants are currently disabled by default and need to be enabled using fdbcli with one of the following two commands:

fdb> configure tenant_mode=optional_experimental
fdb> configure tenant_mode=required_experimental

For the 7.2 release, we are planning to make some updates to the way metadata is stored for tenants, and as a result any tenants created in a 7.1 cluster will not be usable upon upgrade. Instead, such clusters can be repopulated after the upgrade. This change will not impact any user that has explicitly opted into the use of this feature with one of the commands above. If anybody thinks they would be significantly impacted by this, let us know and we can provide suggestions to help make migration easier.

We are not using Tenants on our side, but as we are seeing more and more interesting PRs(exhibit A, B and C), we might :tongue:

I’m wondering how we can shift our current key-design to make it easy to be “tenant-compatible”. Is it possible to create a tenant with a provided key-prefix?

Do you have a feature list somewhere of what you want to build around the tenants?

1 Like