Skip to content

Commit 979296d

Browse files
authored
azurerm_resource_group - fix parallelism issue in create_poller (#32123)
[BUG] * `azurerm_resource_group` - fix parallelism issue in create_poller
1 parent 00b35eb commit 979296d

1 file changed

Lines changed: 14 additions & 9 deletions

File tree

internal/services/resource/custompollers/resource_group_create_poller.go

Lines changed: 14 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -12,14 +12,18 @@ import (
1212
)
1313

1414
type resourceGroupCreatePoller struct {
15-
client *resourcegroups.ResourceGroupsClient
16-
id commonids.ResourceGroupId
15+
client *resourcegroups.ResourceGroupsClient
16+
id commonids.ResourceGroupId
17+
successCount int
1718
}
1819

1920
var _ pollers.PollerType = &resourceGroupCreatePoller{}
2021

22+
const (
23+
defaultSuccessCount = 3
24+
)
25+
2126
var (
22-
successCount = 3 // emulates ContinuousTargetOccurrence
2327
pollingSuccess = &pollers.PollResult{
2428
PollInterval: 5 * time.Second,
2529
Status: pollers.PollingStatusSucceeded,
@@ -38,23 +42,24 @@ var (
3842

3943
func NewResourceGroupCreatePoller(client *resourcegroups.ResourceGroupsClient, id commonids.ResourceGroupId) *resourceGroupCreatePoller {
4044
return &resourceGroupCreatePoller{
41-
client: client,
42-
id: id,
45+
client: client,
46+
id: id,
47+
successCount: defaultSuccessCount,
4348
}
4449
}
4550

46-
func (p resourceGroupCreatePoller) Poll(ctx context.Context) (*pollers.PollResult, error) {
51+
func (p *resourceGroupCreatePoller) Poll(ctx context.Context) (*pollers.PollResult, error) {
4752
rg, err := p.client.Get(ctx, p.id)
4853
if err != nil {
4954
if response.WasNotFound(rg.HttpResponse) {
50-
successCount = 3
55+
p.successCount = defaultSuccessCount
5156
return pollingInProgress, nil
5257
}
5358
return pollingFailed, fmt.Errorf("retrieving %s: %+v", p.id, err)
5459
}
5560

56-
if successCount > 1 {
57-
successCount--
61+
if p.successCount > 1 {
62+
p.successCount--
5863
return pollingInProgress, nil
5964
}
6065

0 commit comments

Comments
 (0)