> On April 7, 2016, 11:13 p.m., Navina Ramesh wrote:
> > Overall, the class structure looks good for the first iteration. For 
> > duplicate classes in the new namespace, I didn't look into great detail as 
> > I expect that you will sync-up with the master before committing. 
> > Please fix javadoc warnings and errors. It gets noisy pretty quickly and 
> > with JDK8, it fails compilation. 
> > 
> > As discussed offline, I strongly urge you to do branch-based development. 
> > Otherwise, it becomes really difficult/messy to test for parity. Let me 
> > know if you need help with this. 
> > 
> > Thanks!

Thanks for the feedback, I've fixed javadoc typos with the revised patch. I 
really appreciate the detail in your reviews :)


> On April 7, 2016, 11:13 p.m., Navina Ramesh wrote:
> > samza-core/src/main/java/org/apache/samza/clustermanager/AbstractContainerAllocator.java,
> >  line 81
> > <https://reviews.apache.org/r/44920/diff/4/?file=1328379#file1328379line81>
> >
> >     Since you have separate namespace for all the "cluster" and "request" 
> > management classes, can you please rename this to "ResourceRequestState" 
> > instead of "ContainerRequestState" ?

Thanks for the feedback. Fixed!


> On April 7, 2016, 11:13 p.m., Navina Ramesh wrote:
> > samza-core/src/main/java/org/apache/samza/config/ClusterManagerConfig.java, 
> > line 32
> > <https://reviews.apache.org/r/44920/diff/4/?file=1328393#file1328393line32>
> >
> >     I am sure you have this on your list. Document how the old configs map 
> > to the new ones and also, update the configuration.html page

All existing configs will continue to work as is. (with a recommended message 
to use the new property).  Yes, documenting new configs is on my list, and will 
be a separate RB.


> On April 7, 2016, 11:13 p.m., Navina Ramesh wrote:
> > samza-core/src/main/java/org/apache/samza/config/ClusterManagerConfig.java, 
> > line 192
> > <https://reviews.apache.org/r/44920/diff/4/?file=1328393#file1328393line192>
> >
> >     nit: Identation is off from Line 192 to 200

Fixed! Thanks for the careful review :)


> On April 7, 2016, 11:13 p.m., Navina Ramesh wrote:
> > samza-core/src/main/scala/org/apache/samza/metrics/ContainerProcessManagerMetrics.scala,
> >  line 66
> > <https://reviews.apache.org/r/44920/diff/4/?file=1328395#file1328395line66>
> >
> >     I suspect this is going to be part of the AM UI and metrics 
> > refactoring? please correct me if I am wrong.

Yup, Some of these fields may not make sense for metrics. As long as the UI 
reports it, we should be good.


> On April 7, 2016, 11:13 p.m., Navina Ramesh wrote:
> > samza-yarn/src/main/java/org/apache/samza/job/yarn/refactor/YarnContainerRunner.java,
> >  line 94
> > <https://reviews.apache.org/r/44920/diff/4/?file=1328411#file1328411line94>
> >
> >     nit: unused variable
> >     I suspect you have to rebase with Jake's changes.

Fixed. Relevant Jake's changes have been rebased. (including tests).


> On April 7, 2016, 11:13 p.m., Navina Ramesh wrote:
> > samza-yarn/src/main/java/org/apache/samza/job/yarn/refactor/YarnResourcemanagerFactory.java,
> >  line 1
> > <https://reviews.apache.org/r/44920/diff/4/?file=1328412#file1328412line1>
> >
> >     File name has a typo - It should be YarnResourceManagerFactory.java

Fixed. nice find! :)


> On April 7, 2016, 11:13 p.m., Navina Ramesh wrote:
> > samza-yarn/src/main/scala/org/apache/samza/job/yarn/refactor/SamzaYarnAppMasterLifecycle.scala,
> >  line 27
> > <https://reviews.apache.org/r/44920/diff/4/?file=1328414#file1328414line27>
> >
> >     nit: Unused import
> >     
> >     What was the reasoning to get rid of YarnAppMasterListener? 
> >     It was tied to a "cluster based" approach. But I think it will be good 
> > to have a common interface for components that we expect to have a 
> > "lifecycle" - initialize and shutdown are the only 2 things I see as 
> > relevant. Afaik, onContainerCompleted and onContainerAllocated were more of 
> > an after-thought. 
> >     Perhaps we can refactor this later. But did you have any strong 
> > reasoning for not using such an interface?

Currently the callbacks for onContainerAllocator, onContainerCompleted are 
handled by the ContainerProcessManager. Also, classes for metrics and 
taskmanager were moved to samza-core. (these used to implement the listener 
interface before). So, I did not feel particularly compelled to retain the 
interface for init/shutdown for just 2 components (amservice and lifecycle). I 
do not have a strong preference either way and I'm happy to add it back. We 
would just replace invocations to 

service.onInit();
lifecycle.onInit();

with

instantiate a listener list 
add both service,lifecycle to the list
for (listener in listeners)
  listener.onInit();


- Jagadish


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/44920/#review127658
-----------------------------------------------------------


On April 8, 2016, 3:30 a.m., Jagadish Venkatraman wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/44920/
> -----------------------------------------------------------
> 
> (Updated April 8, 2016, 3:30 a.m.)
> 
> 
> Review request for samza, Boris Shkolnik, Chris Pettitt, Jake Maes, Yi Pan 
> (Data Infrastructure), Navina Ramesh, and Xinyu Liu.
> 
> 
> Repository: samza
> 
> 
> Description
> -------
> 
> 1.Proposed new APIs for running Samza without Yarn. (SAMZA-881)
>    - Defined the ContainerProcessManager abstraction.
>    - Defined the SamzaResource, SamzaResourceRequest. 
>    - Re-wrote the SamzaAppMaster logic into a ClusterBasedJobCoordinator.
> 2.Defined a ClusterManagerConfig to handle configurations independent of 
> Yarn/Mesos.
> 3.Made Samza completely independent of Yarn. This cleanly separates Samza 
> specific components and Yarn
> specific components.
> 4.Readability improvements to the existing code base.
>    -Added explicity documentation for every method, member and class 
> (including on thread-safety)
>    - Made internal variables final to document intent, visibility across 
> threads. (trivially by adding modifiers, or by changing where they're 
> initialized.)
> 5.Refactored JobCoordinator into a JobModelReader.
> 
> == Diff2 ==
> Address Chriss review feedback.
> 
> Design Doc: 
> https://issues.apache.org/jira/secure/attachment/12790540/SamzaJobCoordinatorRe-designProposal.pdf
> 
> == Diff 3 ==
> Address Yi's feedback
> 
> == Diff 4 ==
> Sync with current master
> 
> 
> Diffs
> -----
> 
>   
> samza-core/src/main/java/org/apache/samza/clustermanager/AbstractContainerAllocator.java
>  PRE-CREATION 
>   
> samza-core/src/main/java/org/apache/samza/clustermanager/ClusterBasedJobCoordinator.java
>  PRE-CREATION 
>   
> samza-core/src/main/java/org/apache/samza/clustermanager/ClusterResourceManager.java
>  PRE-CREATION 
>   
> samza-core/src/main/java/org/apache/samza/clustermanager/ContainerAllocator.java
>  PRE-CREATION 
>   
> samza-core/src/main/java/org/apache/samza/clustermanager/ContainerProcessManager.java
>  PRE-CREATION 
>   
> samza-core/src/main/java/org/apache/samza/clustermanager/ContainerRequestState.java
>  PRE-CREATION 
>   
> samza-core/src/main/java/org/apache/samza/clustermanager/HostAwareContainerAllocator.java
>  PRE-CREATION 
>   
> samza-core/src/main/java/org/apache/samza/clustermanager/ResourceFailure.java 
> PRE-CREATION 
>   
> samza-core/src/main/java/org/apache/samza/clustermanager/ResourceManagerFactory.java
>  PRE-CREATION 
>   samza-core/src/main/java/org/apache/samza/clustermanager/SamzaAppState.java 
> PRE-CREATION 
>   
> samza-core/src/main/java/org/apache/samza/clustermanager/SamzaContainerLaunchException.java
>  PRE-CREATION 
>   samza-core/src/main/java/org/apache/samza/clustermanager/SamzaResource.java 
> PRE-CREATION 
>   
> samza-core/src/main/java/org/apache/samza/clustermanager/SamzaResourceRequest.java
>  PRE-CREATION 
>   
> samza-core/src/main/java/org/apache/samza/clustermanager/SamzaResourceStatus.java
>  PRE-CREATION 
>   samza-core/src/main/java/org/apache/samza/config/ClusterManagerConfig.java 
> PRE-CREATION 
>   
> samza-core/src/main/scala/org/apache/samza/coordinator/JobModelManager.scala 
> PRE-CREATION 
>   
> samza-core/src/main/scala/org/apache/samza/metrics/ContainerProcessManagerMetrics.scala
>  PRE-CREATION 
>   
> samza-core/src/test/java/org/apache/samza/clustermanager/MockClusterResourceManager.java
>  PRE-CREATION 
>   
> samza-core/src/test/java/org/apache/samza/clustermanager/MockClusterResourceManagerCallback.java
>  PRE-CREATION 
>   
> samza-core/src/test/java/org/apache/samza/clustermanager/MockContainerAllocator.java
>  PRE-CREATION 
>   
> samza-core/src/test/java/org/apache/samza/clustermanager/MockContainerListener.java
>  PRE-CREATION 
>   
> samza-core/src/test/java/org/apache/samza/clustermanager/MockContainerRequestState.java
>  PRE-CREATION 
>   
> samza-core/src/test/java/org/apache/samza/clustermanager/MockHttpServer.java 
> PRE-CREATION 
>   
> samza-core/src/test/java/org/apache/samza/clustermanager/TestContainerAllocator.java
>  PRE-CREATION 
>   
> samza-core/src/test/java/org/apache/samza/clustermanager/TestContainerProcessManager.java
>  PRE-CREATION 
>   
> samza-core/src/test/java/org/apache/samza/clustermanager/TestContainerRequestState.java
>  PRE-CREATION 
>   
> samza-core/src/test/java/org/apache/samza/clustermanager/TestHostAwareContainerAllocator.java
>  PRE-CREATION 
>   
> samza-core/src/test/scala/org/apache/samza/coordinator/TestJobCoordinator.scala
>  110c3a910aa0bae77dfe5eebbf82286b56dc4654 
>   samza-shell/src/main/bash/run-am.sh 
> 9545a96953baaff17ad14962e02bc12aadbb1101 
>   
> samza-yarn/src/main/java/org/apache/samza/job/yarn/AbstractContainerAllocator.java
>  b4789e62beb1120f11a8101664b10c34ae930e58 
>   samza-yarn/src/main/java/org/apache/samza/job/yarn/SamzaTaskManager.java 
> caee6e6c182d3cf86bd4fe193f8b1797605b2480 
>   
> samza-yarn/src/main/java/org/apache/samza/job/yarn/refactor/YarnAppState.java 
> PRE-CREATION 
>   
> samza-yarn/src/main/java/org/apache/samza/job/yarn/refactor/YarnClusterResourceManager.java
>  PRE-CREATION 
>   
> samza-yarn/src/main/java/org/apache/samza/job/yarn/refactor/YarnContainerRunner.java
>  PRE-CREATION 
>   
> samza-yarn/src/main/java/org/apache/samza/job/yarn/refactor/YarnResourcemanagerFactory.java
>  PRE-CREATION 
>   
> samza-yarn/src/main/scala/org/apache/samza/job/yarn/refactor/SamzaAppMasterService.scala
>  PRE-CREATION 
>   
> samza-yarn/src/main/scala/org/apache/samza/job/yarn/refactor/SamzaYarnAppMasterLifecycle.scala
>  PRE-CREATION 
>   
> samza-yarn/src/test/java/org/apache/samza/job/yarn/TestContainerAllocator.java
>  b253f98f7258bb611e1ad6672f74b07ab7e20b70 
>   
> samza-yarn/src/test/java/org/apache/samza/job/yarn/TestHostAwareContainerAllocator.java
>  93e430b6ee986b06ecdac4979552d774724a1fbd 
>   
> samza-yarn/src/test/java/org/apache/samza/job/yarn/util/MockContainerListener.java
>  cb82cccf75b54cfbefd586700e8283cb41173833 
>   
> samza-yarn/src/test/java/org/apache/samza/job/yarn/util/MockContainerRequestState.java
>  879a7d0d06b087cfe0417f3fa5801b43ac7fc458 
> 
> Diff: https://reviews.apache.org/r/44920/diff/
> 
> 
> Testing
> -------
> 
> Tested with sample jobs on clusters of varying sizes. Tested locally. TODO: 
> Unit tests.
> 
> 
> Thanks,
> 
> Jagadish Venkatraman
> 
>

Reply via email to