Re: 1.10任务执行过程--源码的一些疑问

2020-04-19 文章 祝尚
ot;<17626017...@163.com>; > 发送时间: 2020年4月19日(星期天) 下午5:37 > 收件人: "user-zh" 主题: 1.10任务执行过程--源码的一些疑问 > > > > Hi,all > 在阅读1.10有关job执行过程相关源码时遇到一些疑问,我在看到Task#doRun()方法 > invokable.invoke();具体执行过程应该在这个方法里吧? > 进一步看了StreamTask#invoke()->runMailboxLoop();继续往下深

Re: 1.10任务执行过程--源码的一些疑问

2020-04-19 文章 tison
invokable 一般是 StreamTask 或者它的子类 StreamSourceTask,具体的 UDF 在 StreamTask 里,有几层包装。 MailBox 那些其实是一个简单的 EventLoop 实现,或者你理解为 Actor Model 的实现也行,可以参考这些名词的解释文章一一对应。 Best, tison. 祝尚 <17626017...@163.com> 于2020年4月19日周日 下午5:43写道: > Hi,all > 在阅读1.10有关job执行过程相关源码时遇到一些疑问,我在看到Task#doRun()方法 > invokable.invoke(

1.10任务执行过程--源码的一些疑问

2020-04-19 文章 祝尚
Hi,all 在阅读1.10有关job执行过程相关源码时遇到一些疑问,我在看到Task#doRun()方法 invokable.invoke();具体执行过程应该在这个方法里吧? 进一步看了StreamTask#invoke()->runMailboxLoop();继续往下深入也没发现最终调用udf的入口 问题1:MailboxProcessor、Mailbox、Mail这些概念什么意思,什么作用? 然而在另一处实例化AbstractInvokable时,比如StreamTask构造函数里会调用processInput方法,这个就类似1.9之前的实现方式了 this.mailboxProc