To enable the shim, we need to let the legacy client hold an instance of the hand-written BigtableDataClient.
The data client uses background threads to manage automatic channel refresh, which are cleaned up when close() is called. Code written for the legacy client likely doesn't call close the same way. We should disable background refresh for the wrapped client (and maybe expose it to end-users as well?)
Note: Consider whether the wrapped data client should use a different version string for analytics
From go/bigtable_legacy_deprecation:
Old API
Replacement
To enable the shim, we need to let the legacy client hold an instance of the hand-written BigtableDataClient.
The data client uses background threads to manage automatic channel refresh, which are cleaned up when close() is called. Code written for the legacy client likely doesn't call close the same way. We should disable background refresh for the wrapped client (and maybe expose it to end-users as well?)
Note: Consider whether the wrapped data client should use a different version string for analytics
From go/bigtable_legacy_deprecation: