Github user tillrohrmann commented on a diff in the pull request:
https://github.com/apache/flink/pull/6067#discussion_r190611581
--- Diff:
flink-runtime/src/test/java/org/apache/flink/runtime/resourcemanager/slotmanager/SlotManagerTest.java
---
@@ -1139,6 +1147,61 @@ public void testReportAllocatedSlot() throws
Exception {
}
}
+ /**
+ * Testst that the SlotManager retries allocating a slot if the
TaskExecutor#requestSlot call
+ * fails.
+ */
+ @Test
+ public void testSlotRequestFailure() throws Exception {
+ try (final SlotManager slotManager =
createSlotManager(ResourceManagerId.generate(), new TestingResourceActions())) {
+
+ final SlotRequest slotRequest = new SlotRequest(new
JobID(), new AllocationID(), ResourceProfile.UNKNOWN, "foobar");
+ slotManager.registerSlotRequest(slotRequest);
+
+ final BlockingQueue<Tuple5<SlotID, JobID, AllocationID,
String, ResourceManagerId>> requestSlotQueue = new ArrayBlockingQueue<>(1);
+ final BlockingQueue<CompletableFuture<Acknowledge>>
responseQueue = new ArrayBlockingQueue<>(1);
+
+ final TestingTaskExecutorGateway
testingTaskExecutorGateway = new TestingTaskExecutorGatewayBuilder()
+
.setRequestSlotFunction(slotIDJobIDAllocationIDStringResourceManagerIdTuple5 ->
{
+
requestSlotQueue.offer(slotIDJobIDAllocationIDStringResourceManagerIdTuple5);
--- End diff --
Arrg, spaces.... How did they make it into this PR? Will get rid of them.
---