> On July 15, 2016, 12:12 a.m., Yi Pan (Data Infrastructure) wrote:
> > samza-core/src/main/java/org/apache/samza/configbuilder/ConfigBuilder.java, 
> > line 107
> > <https://reviews.apache.org/r/48356/diff/8/?file=1441886#file1441886line107>
> >
> >     How would it work w/ RegexConfigRewriter? We have use case where user 
> > will leave this empty and configure RegexConfigRewriter to fill it up at 
> > runtime. Are we making the case that this builder has to be called after 
> > RegexConfigRewriter is invoked?
> 
> Navina Ramesh wrote:
>     Since we are operating as a library, the user should be able to invoke 
> re-writers before passing it to the StreamProcessor. User should invoke this 
> builder and then, invoke any re-writers.
>     
>     ConfigBuilder builder = ConfigBuilder.getGenericConfigBuilder(...). ...
>     Config initialconfig = builder.build();
>     Config finalConfig = new RegExTopicGenerator().rewrite("regex-rewriter", 
> initialConfig)
>     
>     Do you think this is not a suitable model? I wanted to make all the 
> config related user-actions are independent of the processor lifecycle 
> itself. This means that config rewrite is left up-to the user. They can use 
> the regex rewriter class providing by the samza apis. 
>     
>     This does remind me to allow the user to set properties for rewriters in 
> the ConfigBuilder. Now that does seem confusing and also, makes the 
> validation tricky. Let's talk about this offline.
> 
> Yi Pan (Data Infrastructure) wrote:
>     Actually, I felt that the config rewriter is a pretty hacky way to 
> achieve the dynamic input topic discovery at first. And the further extended 
> usage to rewrite other configuration is even more confusing. If possible, I 
> would rather remove it from the user's eyes. Would it be possible to roll the 
> invocation of rewriter() calls within the build() method, instead of relying 
> on the user to invoke the rewriter explicitly? That seems to be a better 
> option to me.

Spoke with Yi offline. In order to maintain parity with the current features 
supported in Samza, I am going to include rewriter in the build() method. 
Eventually, we should remove the concept of Config Rewriters in Samza!


- Navina


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


On Aug. 11, 2016, 1:23 a.m., Navina Ramesh wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/48356/
> -----------------------------------------------------------
> 
> (Updated Aug. 11, 2016, 1:23 a.m.)
> 
> 
> Review request for samza, Chris Pettitt and Yi Pan (Data Infrastructure).
> 
> 
> Repository: samza
> 
> 
> Description
> -------
> 
> Added ConfigBuilder and support classes
> 
> Added JobCoordinator interfaces
> 
> 
> Adding StreamProcessor, StandaloneJobCoordinator and updating SamzaContainer 
> interface
> 
> 
> Added TestStreamProcessor and some unit tests for ConfigBuilders
> 
> 
> Changing who defined processorId
> 
> 
> Fixed checkstyle errors
> 
> 
> Replaced SamzaException with ConfigException
> 
> 
> Removing localityManager instantiation from Samza Container
> 
> 
> Diffs
> -----
> 
>   build.gradle 1d4eb74b1294318db8454631ddd0901596121ab2 
>   checkstyle/import-control.xml 7e77702bcd5c32f7fdaf1558337505993c1abe06 
>   samza-core/src/main/java/org/apache/samza/config/TaskConfigJava.java 
> 021d42a70179f5d14f51ac87cb09dcc97218095e 
>   
> samza-core/src/main/java/org/apache/samza/configbuilder/CheckpointConfig.java 
> PRE-CREATION 
>   samza-core/src/main/java/org/apache/samza/configbuilder/ConfigBuilder.java 
> PRE-CREATION 
>   
> samza-core/src/main/java/org/apache/samza/configbuilder/GenericConfigBuilder.java
>  PRE-CREATION 
>   
> samza-core/src/main/java/org/apache/samza/configbuilder/KafkaCheckpointConfig.java
>  PRE-CREATION 
>   
> samza-core/src/main/java/org/apache/samza/configbuilder/KafkaSystemConfig.java
>  PRE-CREATION 
>   samza-core/src/main/java/org/apache/samza/configbuilder/SerdeConfig.java 
> PRE-CREATION 
>   
> samza-core/src/main/java/org/apache/samza/configbuilder/StandaloneConfigBuilder.java
>  PRE-CREATION 
>   samza-core/src/main/java/org/apache/samza/configbuilder/SystemConfig.java 
> PRE-CREATION 
>   
> samza-core/src/main/java/org/apache/samza/container/grouper/stream/AllSspToSingleTaskGrouper.java
>  PRE-CREATION 
>   
> samza-core/src/main/java/org/apache/samza/container/grouper/stream/AllSspToSingleTaskGrouperFactory.java
>  PRE-CREATION 
>   
> samza-core/src/main/java/org/apache/samza/container/grouper/task/SingleContainerGrouper.java
>  PRE-CREATION 
>   
> samza-core/src/main/java/org/apache/samza/container/grouper/task/SingleContainerGrouperFactory.java
>  PRE-CREATION 
>   samza-core/src/main/java/org/apache/samza/coordinator/JobCoordinator.java 
> PRE-CREATION 
>   
> samza-core/src/main/java/org/apache/samza/coordinator/JobCoordinatorFactory.java
>  PRE-CREATION 
>   samza-core/src/main/java/org/apache/samza/processor/StreamProcessor.java 
> PRE-CREATION 
>   
> samza-core/src/main/java/org/apache/samza/standalone/StandaloneJobCoordinator.java
>  PRE-CREATION 
>   
> samza-core/src/main/java/org/apache/samza/standalone/StandaloneJobCoordinatorFactory.java
>  PRE-CREATION 
>   samza-core/src/main/scala/org/apache/samza/config/TaskConfig.scala 
> 90c1904772f2814eaa6e36ebd35c273f2c6c9217 
>   samza-core/src/main/scala/org/apache/samza/container/RunLoop.scala 
> 538ebb8c34c351ef044d187857b688cc3c02a1db 
>   samza-core/src/main/scala/org/apache/samza/container/SamzaContainer.scala 
> f786fc08c8f7eced4f4084dc8326b288888b6422 
>   samza-core/src/main/scala/org/apache/samza/coordinator/JobCoordinator.scala 
> ba38b5cfa4e61b5513ce38dd2be32438b62cd7ce 
>   samza-core/src/main/scala/org/apache/samza/job/local/ThreadJobFactory.scala 
> 56881d46be9f859999adabbbda20433b208e012e 
>   
> samza-core/src/test/java/org/apache/samza/configbuilder/TestStandaloneConfigBuilder.java
>  PRE-CREATION 
>   
> samza-kafka/src/main/scala/org/apache/samza/system/kafka/KafkaSystemFactory.scala
>  b574176107e8faf47a15fb1eb591dc79c3c9d896 
>   samza-test/src/test/java/org/apache/samza/processor/MyStreamTask.java 
> PRE-CREATION 
>   
> samza-test/src/test/java/org/apache/samza/processor/TestStreamProcessor.java 
> PRE-CREATION 
>   samza-yarn/src/main/java/org/apache/samza/config/YarnConfig.java 
> 8f2dc4853a2b5dd712f25a2d2d16402bcba89d7a 
> 
> Diff: https://reviews.apache.org/r/48356/diff/
> 
> 
> Testing
> -------
> 
> ./gradlew clean build
> 
> Local integration test:
> ./bin/grid start zookeeper
> ./bin/grid start kafka
> Then, run TestStreamProcessor.java
> 
> 
> Thanks,
> 
> Navina Ramesh
> 
>

Reply via email to