Open newhook opened 3 months ago
Tenant is an experimental feature in 7.1 and 7.3. Since Apple is not planning to use this feature, we'll rely on community support to bring this feature to a mature state, including fixing such upgrade issues.
What we did was migrate everything to 7.3 before introducing tenanting in production.
What we did was migrate everything to 7.3 before introducing tenanting in production.
Good to know.
However, you may run into issues upgrading from 7.3 to future releases again. We recently noticed that there are data format changes between 7.3 and main
branches:
7.3: tenants.results[0].getInt(1) == updatedTenantEntry.id
main: tenantsInGroup.results[0].getInt(2) == tenantId
So we have disabled tenant for upgrading tests from 7.3 to main
in https://github.com/apple/foundationdb/pull/11430
I’ve been testing 7.1 → 7.3 upgrades with tenanted data due to a discussion in Tenants & golang - #8 by newhook which lead to Tenant feature metadata changes in 7.2 release.
I've been testing:
foundationdb-clients_7.1.40-1_amd64.deb foundationdb-server_7.1.40-1_amd64.deb
upgrading to:
foundationdb-clients_7.3.36-1_amd64.deb foundationdb-server_7.3.36-1_amd64.deb
What I discovered was if I have tenanted data in the 7.1 database I end up crashing a 7.3 server on startup. I get one of two crashes:
or when I was running in memory mode, which I guess is occurring in log replay.
Are these expected? Anyway around them? Any advice?