> On Sept. 13, 2016, 3:53 p.m., Jake Maes wrote:
> > samza-rest/src/main/java/org/apache/samza/monitor/config/PropertiesMonitorConfigFactory.java,
> >  line 37
> > <https://reviews.apache.org/r/51703/diff/1/?file=1493642#file1493642line37>
> >
> >     I think there are a couple high-level issues with the 
> > MonitorConfigFactory as implemented here. 
> >     
> >     1. It seems to assume that the monitor config could be a separate file 
> > from the rest of the samza rest service. I don't think this is a 
> > requirement and would add complexity. 
> >     2. Related to 1, if there's only 1 config file, then there's no need to 
> > parse it twice. Why not take the full parsed Config object from the samza 
> > rest service and just subset it? Then there's no need for another config 
> > factory.

Updated the code to build the monitor configurations from the single config 
file in samza rest.


> On Sept. 13, 2016, 3:53 p.m., Jake Maes wrote:
> > samza-rest/src/main/java/org/apache/samza/monitor/DefaultMonitorFactory.java,
> >  line 41
> > <https://reviews.apache.org/r/51703/diff/1/?file=1493636#file1493636line41>
> >
> >     Why not have the user specify the factory class instead of the monitor 
> > class? The factory is much more flexible. For example, a user-defined 
> > factory could instantiate a monitor and then set its config values (i.e. 
> > doesn't require a constructor that takes Config and MetricsRegistry). Not 
> > that I'm advocating that pattern of creating monitors; my point is that a 
> > user-defined factory can make those kinds of tradeoffs.

Rational behind the decision was to group the implementation details and the 
configurations related to a monitor at a single place. (monitor.class, 
monitor.scheduling.interval etc.)
However, this would impose a restriction of having one particular kind of 
MonitorFactory implementation. 

This problem is removed by exposing a getSchedulingInterval method in Monitor 
interface. Now each MonitorFactory implementation should be associated with a 
single Monitor implementation. Now, there could be many different kind of 
MonitorFactory implementations.


- Shanthoosh


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


On Sept. 14, 2016, 8:37 p.m., Shanthoosh Venkataraman wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/51703/
> -----------------------------------------------------------
> 
> (Updated Sept. 14, 2016, 8:37 p.m.)
> 
> 
> Review request for samza, Boris Shkolnik, Jake Maes, Navina Ramesh, Jagadish 
> Venkatraman, Xinyu Liu, and Yi Pan (Data Infrastructure).
> 
> 
> Repository: samza
> 
> 
> Description
> -------
> 
> This patch aims at adding the following functionalities to Samza-Rest 
> monitors.
> 
> * Schedule different monitors at different intervals of time.
> * Define custom monitor configurations and pass config along to the monitor 
> objects.
> 
> 
> Diffs
> -----
> 
>   docs/learn/documentation/versioned/rest/monitors.md 
> 9833068d9f542b80bb438db156a10c85d4d53097 
>   docs/learn/documentation/versioned/rest/overview.md 
> 5b958accf4e1a3f05b949e9dc6e2e19a453523ca 
>   samza-rest/src/main/java/org/apache/samza/monitor/AbstractMonitor.java 
> PRE-CREATION 
>   samza-rest/src/main/java/org/apache/samza/monitor/Monitor.java 
> d69df5f73dbf2c494183f9dcc8061c20878742aa 
>   samza-rest/src/main/java/org/apache/samza/monitor/MonitorLoader.java 
> 502ecc49f32b4563e8ceb4ddfa6bc2542c60819e 
>   samza-rest/src/main/java/org/apache/samza/monitor/SamzaMonitorService.java 
> 2f4d9ddb76369c5e83d39152d492807dfb164981 
>   samza-rest/src/main/java/org/apache/samza/monitor/SchedulingProvider.java 
> aea1a9291e651660c798cabf59fcf0c0623bcbd0 
>   samza-rest/src/main/java/org/apache/samza/rest/SamzaRestConfig.java 
> 6f5c10ac89523626c7f7e05558422daad2ccd4e8 
>   samza-rest/src/test/java/org/apache/samza/monitor/TestMonitorService.java 
> 1da343012b85f96f837e3cbf9a54ced3b29fede6 
>   samza-rest/src/test/java/org/apache/samza/monitor/mock/DummyMonitor.java 
> 8621db1b0e8ce3279cc8a5cb3a21bd137d442034 
>   
> samza-rest/src/test/java/org/apache/samza/monitor/mock/ExceptionThrowingMonitor.java
>  c4f3f735f78d56f8bb3ef203a05e2bec92489767 
> 
> Diff: https://reviews.apache.org/r/51703/diff/
> 
> 
> Testing
> -------
> 
> Unit tests are used to verify the intended functionality.
> 
> 
> Thanks,
> 
> Shanthoosh Venkataraman
> 
>

Reply via email to