close channel to prevent memory leak

- wait.JitterUntil goroutine is never cleaned up when used with wait.NeverStop
 - fixup comment
This commit is contained in:
Morgan Bauer 2016-05-26 14:40:03 -07:00
parent c0579af684
commit 69719167a3
No known key found for this signature in database
GPG Key ID: 23F15C502128F348
2 changed files with 13 additions and 5 deletions

View File

@ -126,7 +126,7 @@ func (rc *reconciler) reconciliationLoopFunc() func() {
err)
}
} else {
// If volume is not safe to detach (is mounted) wait a max amount of time before detaching any way.
// If volume is not safe to detach (is mounted) wait a max amount of time before detaching anyway.
if timeElapsed > rc.maxWaitForUnmountDuration {
glog.V(5).Infof("Attempting to start DetachVolume for volume %q from node %q. Volume is not safe to detach, but maxWaitForUnmountDuration expired.", attachedVolume.VolumeName, attachedVolume.NodeName)
err := rc.attacherDetacher.DetachVolume(attachedVolume.AttachedVolume, false /* verifySafeToDetach */, rc.actualStateOfWorld)

View File

@ -55,7 +55,9 @@ func Test_Run_Positive_DoNothing(t *testing.T) {
reconcilerLoopPeriod, maxWaitForUnmountDuration, dsw, asw, ad, nsu)
// Act
go reconciler.Run(wait.NeverStop)
ch := make(chan struct{})
go reconciler.Run(ch)
defer close(ch)
// Assert
waitForNewAttacherCallCount(t, 0 /* expectedCallCount */, fakePlugin)
@ -97,7 +99,9 @@ func Test_Run_Positive_OneDesiredVolumeAttach(t *testing.T) {
}
// Act
go reconciler.Run(wait.NeverStop)
ch := make(chan struct{})
go reconciler.Run(ch)
defer close(ch)
// Assert
waitForNewAttacherCallCount(t, 1 /* expectedCallCount */, fakePlugin)
@ -140,7 +144,9 @@ func Test_Run_Positive_OneDesiredVolumeAttachThenDetachWithUnmountedVolume(t *te
}
// Act
go reconciler.Run(wait.NeverStop)
ch := make(chan struct{})
go reconciler.Run(ch)
defer close(ch)
// Assert
waitForNewAttacherCallCount(t, 1 /* expectedCallCount */, fakePlugin)
@ -204,7 +210,9 @@ func Test_Run_Positive_OneDesiredVolumeAttachThenDetachWithMountedVolume(t *test
}
// Act
go reconciler.Run(wait.NeverStop)
ch := make(chan struct{})
go reconciler.Run(ch)
defer close(ch)
// Assert
waitForNewAttacherCallCount(t, 1 /* expectedCallCount */, fakePlugin)