flink-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (FLINK-4490) Decouple Slot and Instance
Date Fri, 02 Sep 2016 08:53:20 GMT

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

ASF GitHub Bot commented on FLINK-4490:

Github user tillrohrmann commented on a diff in the pull request:

    --- Diff: flink-runtime/src/main/java/org/apache/flink/runtime/instance/SlotSharingGroupAssignment.java
    @@ -576,7 +560,7 @@ private void internalDisposeEmptySharedSlot(SharedSlot sharedSlot)
     		if (parent == null) {
     			// root slot, return to the instance.
    -			sharedSlot.getInstance().returnAllocatedSlot(sharedSlot);
    +			sharedSlot.getOwner().returnAllocatedSlot(sharedSlot);
    --- End diff --
    Can we use `sharedSlot.releaseSlot` instead? It seems not so right to get the owner which
is then used to call `returnAllocatedSlot` with the same slot. I think this violates the law
of Demeter.
    Alternatively, we could add a method `returnSlot` to `Slot` which does: `owner.returnAllocatedSlot(this)`.

> Decouple Slot and Instance
> --------------------------
>                 Key: FLINK-4490
>                 URL: https://issues.apache.org/jira/browse/FLINK-4490
>             Project: Flink
>          Issue Type: Sub-task
>          Components: Distributed Coordination
>            Reporter: Kurt Young
>             Fix For: 1.2.0
> Currently, {{Slot}} and {{Instance}} holds each other. For {{Instance}} holding {{Slot}},
it makes sense because it reflects how many resources it can provide and how many are using.

> But it's not very necessary for {{Slot}} to hold {{Instance}} which it belongs to. It
only needs to hold some connection information and gateway to talk to. Another downside for
{{Slot}} holding {{Instance}} is that {{Instance}} actually contains some allocate/de-allocation
logicals, it will be difficult if we want to do some allocation refactor without letting {{Slot}}
> We should abstract the connection information of {{Instance}} to let {{Slot}} holds.
(Actually we have {{InstanceConnectionInfo}} now, but lacks of instance's akka gateway, maybe
we can just adding the akka gateway to the {{InstanceConnectionInfo}})

This message was sent by Atlassian JIRA

View raw message