fix: Setting concurrency>1 with single release breaks sync (#290)
Fixes #287
This commit is contained in:
parent
53dea091e3
commit
60843cc224
|
|
@ -223,7 +223,7 @@ func (state *HelmState) SyncReleases(helm helmexec.Interface, additionalValues [
|
||||||
return prepErrs
|
return prepErrs
|
||||||
}
|
}
|
||||||
|
|
||||||
jobQueue := make(chan *ReleaseSpec)
|
jobQueue := make(chan *syncPrepareResult)
|
||||||
results := make(chan syncResult)
|
results := make(chan syncResult)
|
||||||
|
|
||||||
if workerLimit < 1 {
|
if workerLimit < 1 {
|
||||||
|
|
@ -231,7 +231,7 @@ func (state *HelmState) SyncReleases(helm helmexec.Interface, additionalValues [
|
||||||
}
|
}
|
||||||
for w := 1; w <= workerLimit; w++ {
|
for w := 1; w <= workerLimit; w++ {
|
||||||
go func() {
|
go func() {
|
||||||
for _, prep := range preps {
|
for prep := range jobQueue {
|
||||||
release := prep.release
|
release := prep.release
|
||||||
flags := prep.flags
|
flags := prep.flags
|
||||||
chart := normalizeChart(state.basePath, release.Chart)
|
chart := normalizeChart(state.basePath, release.Chart)
|
||||||
|
|
@ -244,15 +244,13 @@ func (state *HelmState) SyncReleases(helm helmexec.Interface, additionalValues [
|
||||||
}()
|
}()
|
||||||
}
|
}
|
||||||
|
|
||||||
go func() {
|
for i := 0; i < len(preps); i++ {
|
||||||
for i := 0; i < len(state.Releases); i++ {
|
jobQueue <- &preps[i]
|
||||||
jobQueue <- &state.Releases[i]
|
}
|
||||||
}
|
close(jobQueue)
|
||||||
close(jobQueue)
|
|
||||||
}()
|
|
||||||
|
|
||||||
errs := []error{}
|
errs := []error{}
|
||||||
for i := 0; i < len(state.Releases); {
|
for i := 0; i < len(preps); {
|
||||||
select {
|
select {
|
||||||
case res := <-results:
|
case res := <-results:
|
||||||
if len(res.errors) > 0 {
|
if len(res.errors) > 0 {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue