> 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 > >