Tenants & golang

Has anyone written golang bindings for tenants? I know this feature is marked as experimental but is it ready for prime time?

1 Like

I found this. Tenant Management Support in Go Bindings

Any chance we can get this merged?

Author here, happy to clean up the PR. Looking for a quick spot check before I spend time fixing the test failures.

We’ve been using this patch internally with no problems so far, though last I heard there are some upcoming breaking changes for tenants…?

Hey Griffin, thanks for that. I’m just rebasing your changes on top of the 7.1.43 golang bindings that we’re using so I could test it locally.

I’m interested in hearing more about any breaking changes in tenanting?

This is the last reference I saw to it:

1 Like

That sounds mysterious?

Instead, such clusters can be repopulated after the upgrade

Does that mean the tentant metadata needs to be repopulated, or actually all of the data would need to be moved around?

Griffin,

One thing I noticed with your PR against 7.1 is that the system keyspace for tenants in your PR uses "\xFF\xFF/management/tenant/map/" which returns error 2115 in my testing.

According to the docs Tenants — FoundationDB 7.1, the keyspace should be "\xFF\xFF/management/tenant_map/", which seems to work correctly.

Is this an error in your PR, or is this some incompatibility between 7.1 and 7.2?

Looking at the 7.1 branch vs main it seems that the name of the tenant map special key has changed from '\xff\xff/management/tenant_map/' to '\xff\xff/management/tenant/map/' (which is perhaps the source of the tenant metadata change note?).

However, I can still see references to tenant_map in main, but I can’t tell whether that is some sort of backwards compatibility, or a bug.