[ https://issues.apache.org/jira/browse/FLINK-7832?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16212545#comment-16212545 ]
ASF GitHub Bot commented on FLINK-7832: --------------------------------------- Github user tillrohrmann commented on a diff in the pull request: https://github.com/apache/flink/pull/4823#discussion_r145947839 --- Diff: flink-runtime/src/main/java/org/apache/flink/runtime/clusterframework/types/TaskManagerSlot.java --- @@ -74,22 +83,51 @@ public AllocationID getAllocationId() { return allocationId; } - public void setAllocationId(AllocationID allocationId) { - this.allocationId = allocationId; - } - public PendingSlotRequest getAssignedSlotRequest() { return assignedSlotRequest; } - public void setAssignedSlotRequest(PendingSlotRequest assignedSlotRequest) { - this.assignedSlotRequest = assignedSlotRequest; - } - public InstanceID getInstanceId() { return taskManagerConnection.getInstanceID(); } + public void freeSlot() { + Preconditions.checkState(state == State.ALLOCATED, "Slot must be allocated before freeing it."); + + state = State.FREE; + allocationId = null; + } + + public void clearPendingSlotRequest() { + Preconditions.checkState(state == State.PENDING, "No slot request to clear."); + + state = State.FREE; + assignedSlotRequest = null; + } + + public void assignPendingSlotRequest(PendingSlotRequest pendingSlotRequest) { + Preconditions.checkState(state == State.FREE, "Slot must be free to be assigned a slot request."); + + state = State.PENDING; + assignedSlotRequest = Preconditions.checkNotNull(pendingSlotRequest); + } + + public void completeAllocation(AllocationID allocationId) { + Preconditions.checkState(state == State.PENDING, "In order to complete an allocation, the slot has to be allocated."); + Preconditions.checkState(Objects.equals(allocationId, assignedSlotRequest.getAllocationId()), "Mismatch between allocation id of the pending slot request."); + + state = State.ALLOCATED; + this.allocationId = Preconditions.checkNotNull(allocationId); --- End diff -- I think `Objects.equals` takes care of this. > SlotManager should return number of registered slots > ---------------------------------------------------- > > Key: FLINK-7832 > URL: https://issues.apache.org/jira/browse/FLINK-7832 > Project: Flink > Issue Type: Improvement > Components: Distributed Coordination > Affects Versions: 1.4.0 > Reporter: Till Rohrmann > Assignee: Till Rohrmann > Labels: flip-6 > Fix For: 1.4.0 > > > The {{SlotManager}} should provide information about the number of registered > slots for a {{TaskExecutor}} and how many of these slots are still free. -- This message was sent by Atlassian JIRA (v6.4.14#64029)