Skip to content

Commit 8fdd5fd

Browse files
committed
flakiness: leader-election controller test: interrupt leader-elector too soon
Signed-off-by: yue9944882 <[email protected]>
1 parent adea6cf commit 8fdd5fd

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

extended/src/test/java/io/kubernetes/client/extended/controller/LeaderElectingControllerTest.java

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,8 @@ public void testLeaderElectingController() throws ApiException, InterruptedExcep
4747
record.set(new LeaderElectionRecord());
4848

4949
Semaphore apiClientSem = new Semaphore(0);
50-
Semaphore controllerSem = new Semaphore(0);
50+
Semaphore controllerStartSem = new Semaphore(0);
51+
Semaphore controllerStopSem = new Semaphore(0);
5152

5253
when(mockLock.identity()).thenReturn("foo");
5354
when(mockLock.get())
@@ -74,15 +75,15 @@ public void testLeaderElectingController() throws ApiException, InterruptedExcep
7475

7576
doAnswer(
7677
invocationOnMock -> {
77-
controllerSem.release();
78+
controllerStartSem.release();
7879
return null;
7980
})
8081
.when(mockController)
8182
.run();
8283

8384
doAnswer(
8485
invocationOnMock -> {
85-
controllerSem.release();
86+
controllerStopSem.release();
8687
return null;
8788
})
8889
.when(mockController)
@@ -101,12 +102,13 @@ public void testLeaderElectingController() throws ApiException, InterruptedExcep
101102
Thread controllerThread = new Thread(leaderElectingController::run);
102103
controllerThread.start();
103104
apiClientSem.acquire(2);
105+
controllerStartSem.acquire(1);
104106
controllerThread.interrupt();
105107

106108
verify(mockLock, times(1)).create(any());
107109
verify(mockLock, atLeastOnce()).update(any());
108110

109-
controllerSem.acquire(2);
111+
controllerStopSem.acquire(1);
110112
verify(mockController, times(1)).run();
111113
verify(mockController, times(1)).shutdown();
112114
}

0 commit comments

Comments
 (0)