Skip to content

Commit

Permalink
Fix data race
Browse files Browse the repository at this point in the history
Closes #2
  • Loading branch information
pooknull committed Feb 6, 2023
1 parent 353e6ae commit ce9d651
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 6 deletions.
3 changes: 3 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,9 @@ setup-dir:
build:
go build -ldflags="-X 'terraform-percona/internal/version.Version=$(VERSION)'" -gcflags="all=-N -l" -o terraform-provider-percona && cp terraform-provider-percona $(PROVIDER_DIR)

build-dev:
go build -race -ldflags="-X 'terraform-percona/internal/version.Version=$(VERSION)'" -gcflags="all=-N -l" -o terraform-provider-percona && cp terraform-provider-percona $(PROVIDER_DIR)

init-dir:
terraform init

Expand Down
13 changes: 7 additions & 6 deletions internal/resource/resource.go
Original file line number Diff line number Diff line change
Expand Up @@ -27,14 +27,15 @@ func toTerraformResource(resource Resource) *schema.Resource {
if !ok {
return diag.Errorf("failed to get cloud controller")
}

createDiag := resource.Create(ctx, data, c)
go func() {
if data.Id() != "" && !c.Metadata().DisableTelemetry {
if err := metrics.SendTelemetry(resource.Name(), resource.Schema(), data); err != nil {
tflog.Error(ctx, "failed to send telemetry", map[string]interface{}{"error": err})
}

if data.Id() != "" && !c.Metadata().DisableTelemetry {
if err := metrics.SendTelemetry(resource.Name(), resource.Schema(), data); err != nil {
tflog.Error(ctx, "failed to send telemetry", map[string]interface{}{"error": err})
}
}()
}

return createDiag
},
ReadContext: func(ctx context.Context, data *schema.ResourceData, meta interface{}) diag.Diagnostics {
Expand Down

0 comments on commit ce9d651

Please sign in to comment.