[ https://issues.apache.org/jira/browse/FLINK-6434?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16236178#comment-16236178 ]
ASF GitHub Bot commented on FLINK-6434: --------------------------------------- Github user tillrohrmann commented on a diff in the pull request: https://github.com/apache/flink/pull/4937#discussion_r148596180 --- Diff: flink-runtime/src/main/java/org/apache/flink/runtime/instance/SlotPool.java --- @@ -262,23 +263,36 @@ public void disconnectResourceManager() { // ------------------------------------------------------------------------ @Override - public CompletableFuture<SimpleSlot> allocateSlot( - ScheduledUnit task, + public CompletableFuture<SimpleSlot> allocateSlot(AllocationID allocationID, ResourceProfile resources, Iterable<TaskManagerLocation> locationPreferences, Time timeout) { - return internalAllocateSlot(task, resources, locationPreferences); + return internalAllocateSlot(allocationID, resources, locationPreferences); } @Override public void returnAllocatedSlot(Slot slot) { internalReturnAllocatedSlot(slot); } + @Override + public void cancelSlotAllocation(AllocationID allocationID) { + waitingForResourceManager.remove(allocationID); + + removePendingRequestWithException(allocationID, new CancellationException("Allocation " + allocationID + " cancelled")); + + if (allocatedSlots.contains(allocationID)) { + Slot slot = allocatedSlots.get(allocationID); --- End diff -- We could avoid the `contains` call by simply calling `get` and then compare against `null`. > There may be allocatedSlots leak in SlotPool > -------------------------------------------- > > Key: FLINK-6434 > URL: https://issues.apache.org/jira/browse/FLINK-6434 > Project: Flink > Issue Type: Bug > Components: Cluster Management > Reporter: shuai.xu > Assignee: shuai.xu > Priority: Major > Labels: flip-6 > > If the call allocateSlot() from Execution to Slotpool timeout, the job will > begin to failover, but the pending request are still in SlotPool, if then a > new slot register to SlotPool, it may be fulfill the outdated pending request > and be added to allocatedSlots, but it will never be used and will never be > recycled. -- This message was sent by Atlassian JIRA (v6.4.14#64029)