[ 
https://issues.apache.org/jira/browse/FLINK-6434?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16236170#comment-16236170
 ] 

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_r148569315
  
    --- Diff: 
flink-runtime/src/main/java/org/apache/flink/runtime/instance/SlotPool.java ---
    @@ -361,9 +374,19 @@ private void 
slotRequestToResourceManagerFailed(AllocationID allocationID, Throw
        }
     
        private void checkTimeoutSlotAllocation(AllocationID allocationID) {
    +           removePendingRequestWithException(allocationID, new 
TimeoutException("Slot allocation request " + allocationID + " timed out"));
    +   }
    +
    +   private void removePendingRequestWithException(AllocationID 
allocationID, Exception e) {
                PendingRequest request = pendingRequests.remove(allocationID);
    -           if (request != null && !request.getFuture().isDone()) {
    -                   request.getFuture().completeExceptionally(new 
TimeoutException("Slot allocation request timed out"));
    +           if (request != null && (!request.getFuture().isDone() || 
request.getFuture().isCompletedExceptionally())) {
    +                   //TODO: the following line depends on the pr: 
https://github.com/apache/flink/pull/4887
    +                   //if (resourceManagerGateway != null) {
    +                   //      resourceManagerGateway.cancelSlotRequest(jobId, 
jobMasterId, allocationID);
    +                   //}
    --- End diff --
    
    This should be removed and added once #4887 has been merged.


> 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)

Reply via email to