Github user wangzhijiang999 commented on the issue:

    https://github.com/apache/flink/pull/2461
  
    @tillrohrmann , I tried to understand your idea as follows:
    1. Provide specific TaskExecutorFactory class instead of abstract factory 
for both standalone/yarn mode.
    2. Network selection and RPC service creation methods should be pulled out 
from factory, maybe remove to some utility class?(for JM reuse)
    3. The constructor of TaskExecutorFactory supports many different 
parameters: such as 
    TaskExecutorFactory(Configuration, ResourceID)
    TaskExecutorFactory(RpcService, HighAvailabilityServices)
    TaskExecutorFactory(hostname, port)
    TaskExecutorFactory(Configuration, ResourceID, RpcService, 
HighAvailabilityServices,hostname, port), 
    The above three constructors for partial parameters can be transformed into 
the fourth final constructor , all the missing parameters can be generated by 
internal default value.
    4. The TaskExecutorFactory supports the method "createTaskManger" to bring 
up TaskManger for outside  world, and this method will construct the related 
components(TaskManagerConfiguration, NetworkManager, IOManager, MemoryManager)
    5. For testing mode, construct the TestingTaskExecutorFactory to pass all 
the components explicitly, including 
(ResourceID,MemoryManager,IOManager,NetworkEnvironment,numberOfSlots, 
RpcService,HighAvailabilityServices), the TaskManagerConfiguration should be 
passed from outside or generate implicitly?
    6. In addition, the localTaskManagerCommunication parameter is needed 
before to decide whether to create NettyConfig for standalone or yarn mode. Now 
I will remove this parameter to create ~~NettyConfig~~ always.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---

Reply via email to