Thanks for the SEP!

+1 on introducing these new components
-1 on the current definition of their roles (see Design feedback below)

*Design*

   - If LocalJobRunner and RemoteJobRunner handle the different methods of
   launching a Job, what additional value do the different types of
   ApplicationRunner and RuntimeEnvironment provide? It seems like a red flag
   that all 3 would need to change from environment to environment. It
   indicates that they don't have proper modularity. The call-sequence-figures
   support this; LocalApplicationRunner and RemoteApplicationRunner make the
   same calls and the diagram only varies after jobRunner.start()
   - As far as I can tell, the only difference between Local and Remote
   ApplicationRunner is that one is blocking and the other is non-blocking. If
   that's all they're for then either the names should be changed to reflect
   this, or they should be combined into one ApplicationRunner and just expose
   separate methods for run() and runBlocking()
   - There isn't much detail on why the main() methods for Local/Remote
   have such different implementations, how they receive the Application
   (direct vs config), and concretely how the deployment scripts, if any,
   should interact with them.


*Style*

   - nit: None of the 11 uses of the word "actual" in the doc are *actually*
   needed. :-)
   - nit: Colors of the runtime blocks in the diagrams are unconventional
   and a little distracting. Reminds me of nai won bao. Now I'm hungry. :-)
   - Prefer the name "ExecutionEnvironment" over "RuntimeEnvironment". The
   term "execution environment" is used
   - The code comparisons for the ApplicationRunners are not apples-apples.
   The local runner example is an application that USES the local runner. The
   remote runner example is the just the runner code itself. So, it's not
   readily apparent that we're comparing the main() methods and not the
   application itself.


On Mon, Apr 17, 2017 at 5:02 PM, Yi Pan <nickpa...@gmail.com> wrote:

> Made some updates to clarify the role and functions of RuntimeEnvironment
> in SEP-2.
>
> On Fri, Apr 14, 2017 at 9:30 AM, Yi Pan <nickpa...@gmail.com> wrote:
>
> > Hi, everyone,
> >
> > In light of new features such as fluent API and standalone that introduce
> > new deployment / application launch models in Samza, I created a new
> SEP-2
> > to address the new use cases. SEP-2 link: https://cwiki.apache.
> > org/confluence/display/SAMZA/SEP-2%3A+ApplicationRunner+Design
> >
> > Please take a look and give feedbacks!
> >
> > Thanks!
> >
> > -Yi
> >
>

Reply via email to