Open melinath opened 1 year ago
As a data point on this, this is a feature that seems blocked because the BigTable resources are implemented with the client library and not generated by MMV1: https://github.com/hashicorp/terraform-provider-google/issues/12191#issuecomment-2129827034
We've received a customer issue where they have trouble provisioning google_bigtable_instance
resources, with a "error reading server preface: http2: frame too large" error being surfaced from networking libraries in Go. It looks like it's a problem with the environment that the customer is using Terraform in (i.e. something to do with their network) but the fact BigTable resources use gRPC adds some extra layers on top of helping resolve the issue (if it isn't a part of causing the issue in the first place).
FYI @BBBmau
Community Note
Affected Resource(s)
Issue Description
Bigtable resources are currently backed by a highly opinionated go client library which is unique to these resources. This adds additional risk of issues like https://github.com/hashicorp/terraform-provider-google/issues/14424, https://github.com/hashicorp/terraform-provider-google/issues/14440, https://github.com/hashicorp/terraform-provider-google/issues/12159, and https://github.com/hashicorp/terraform-provider-google/issues/14565 due to the unique use of GRPC and the customized behavior around certain types of error handling.
We should evaluate whether it would make sense to switch to use the REST API (which is standard for new resources) or use a standard generated API client library that is less opinionated.
Switching to another way of communicating with the API could be tricky - we'd need to maintain backwards-compatibility. However, if not switching, it could be worth auditing for other potential undiscovered problems.
References