cloud-bigtable-examples icon indicating copy to clipboard operation
cloud-bigtable-examples copied to clipboard

golang connection-refresh leaks clients

Open igorbernstein2 opened this issue 2 years ago • 0 comments

The example tries to close the old client after a lameduckTime: https://github.com/GoogleCloudPlatform/cloud-bigtable-examples/blob/main/go/connection-refresh/btrefresh/bigtable_rotator.go#L64-L68

However RotatingTable#client is only ever set when RotatingRable is constructed, and the new client is never set: https://github.com/GoogleCloudPlatform/cloud-bigtable-examples/blob/main/go/connection-refresh/btrefresh/bigtable_rotator.go#L70

So the clean up routine will keep closing the same client, while leaking new ones. Also when addressing this issue, care must be taken to capture the old client before the gorountine start

igorbernstein2 avatar Oct 26 '23 20:10 igorbernstein2