Repository: samza Updated Branches: refs/heads/master b706ecebe -> a8ddede18
SAMZA-1752: Pass full config to the IO resolver SQL IO Resolver needs full configs so that it can filter out the configs specific to the source that the SQL application is interested in. This change provides the IO resolver with the full config. Author: Srinivasulu Punuru <spun...@linkedin.com> Reviewers: Aditya Toomula <atoom...@linkedin.com> Closes #557 from srinipunuru/fullconfig.1 Project: http://git-wip-us.apache.org/repos/asf/samza/repo Commit: http://git-wip-us.apache.org/repos/asf/samza/commit/a8ddede1 Tree: http://git-wip-us.apache.org/repos/asf/samza/tree/a8ddede1 Diff: http://git-wip-us.apache.org/repos/asf/samza/diff/a8ddede1 Branch: refs/heads/master Commit: a8ddede18af49d7d1c45fbb2728d375f9ce31210 Parents: b706ece Author: Srinivasulu Punuru <spun...@linkedin.com> Authored: Fri Aug 10 16:45:12 2018 -0700 Committer: Prateek Maheshwari <pmaheshw...@apache.org> Committed: Fri Aug 10 16:45:12 2018 -0700 ---------------------------------------------------------------------- .../org/apache/samza/sql/impl/ConfigBasedIOResolverFactory.java | 4 ++-- .../org/apache/samza/sql/interfaces/SqlIOResolverFactory.java | 5 +++-- .../org/apache/samza/sql/runner/SamzaSqlApplicationConfig.java | 2 +- .../org/apache/samza/sql/testutil/TestIOResolverFactory.java | 2 +- 4 files changed, 7 insertions(+), 6 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/samza/blob/a8ddede1/samza-sql/src/main/java/org/apache/samza/sql/impl/ConfigBasedIOResolverFactory.java ---------------------------------------------------------------------- diff --git a/samza-sql/src/main/java/org/apache/samza/sql/impl/ConfigBasedIOResolverFactory.java b/samza-sql/src/main/java/org/apache/samza/sql/impl/ConfigBasedIOResolverFactory.java index c604e71..1ada813 100644 --- a/samza-sql/src/main/java/org/apache/samza/sql/impl/ConfigBasedIOResolverFactory.java +++ b/samza-sql/src/main/java/org/apache/samza/sql/impl/ConfigBasedIOResolverFactory.java @@ -47,8 +47,8 @@ public class ConfigBasedIOResolverFactory implements SqlIOResolverFactory { public static final String CFG_FMT_SAMZA_PREFIX = "systems.%s."; @Override - public SqlIOResolver create(Config config) { - return new ConfigBasedIOResolver(config); + public SqlIOResolver create(Config resolverConfig, Config fullConfig) { + return new ConfigBasedIOResolver(resolverConfig); } private class ConfigBasedIOResolver implements SqlIOResolver { http://git-wip-us.apache.org/repos/asf/samza/blob/a8ddede1/samza-sql/src/main/java/org/apache/samza/sql/interfaces/SqlIOResolverFactory.java ---------------------------------------------------------------------- diff --git a/samza-sql/src/main/java/org/apache/samza/sql/interfaces/SqlIOResolverFactory.java b/samza-sql/src/main/java/org/apache/samza/sql/interfaces/SqlIOResolverFactory.java index 6efa57c..aa9fe48 100644 --- a/samza-sql/src/main/java/org/apache/samza/sql/interfaces/SqlIOResolverFactory.java +++ b/samza-sql/src/main/java/org/apache/samza/sql/interfaces/SqlIOResolverFactory.java @@ -29,8 +29,9 @@ public interface SqlIOResolverFactory { /** * Create the {@link SqlIOResolver}. This is called during the application initialization. - * @param config config for the SqlIOResolver + * @param resolverConfig config specifically supplied for this SqlIOResolver + * @param fullConfig the full config object received by the application. * @return Returns the created {@link SqlIOResolver} */ - SqlIOResolver create(Config config); + SqlIOResolver create(Config resolverConfig, Config fullConfig); } http://git-wip-us.apache.org/repos/asf/samza/blob/a8ddede1/samza-sql/src/main/java/org/apache/samza/sql/runner/SamzaSqlApplicationConfig.java ---------------------------------------------------------------------- diff --git a/samza-sql/src/main/java/org/apache/samza/sql/runner/SamzaSqlApplicationConfig.java b/samza-sql/src/main/java/org/apache/samza/sql/runner/SamzaSqlApplicationConfig.java index b7d9a59..316d174 100644 --- a/samza-sql/src/main/java/org/apache/samza/sql/runner/SamzaSqlApplicationConfig.java +++ b/samza-sql/src/main/java/org/apache/samza/sql/runner/SamzaSqlApplicationConfig.java @@ -187,7 +187,7 @@ public class SamzaSqlApplicationConfig { String sourceResolveValue = config.get(CFG_IO_RESOLVER); Validate.notEmpty(sourceResolveValue, "ioResolver config is not set or empty"); return initializePlugin("SqlIOResolver", sourceResolveValue, config, CFG_FMT_SOURCE_RESOLVER_DOMAIN, - (o, c) -> ((SqlIOResolverFactory) o).create(c)); + (o, c) -> ((SqlIOResolverFactory) o).create(c, config)); } private UdfResolver createUdfResolver(Map<String, String> config) { http://git-wip-us.apache.org/repos/asf/samza/blob/a8ddede1/samza-sql/src/test/java/org/apache/samza/sql/testutil/TestIOResolverFactory.java ---------------------------------------------------------------------- diff --git a/samza-sql/src/test/java/org/apache/samza/sql/testutil/TestIOResolverFactory.java b/samza-sql/src/test/java/org/apache/samza/sql/testutil/TestIOResolverFactory.java index 7068e9b..574076e 100644 --- a/samza-sql/src/test/java/org/apache/samza/sql/testutil/TestIOResolverFactory.java +++ b/samza-sql/src/test/java/org/apache/samza/sql/testutil/TestIOResolverFactory.java @@ -52,7 +52,7 @@ public class TestIOResolverFactory implements SqlIOResolverFactory { public static final String TEST_TABLE_ID = "testDbId"; @Override - public SqlIOResolver create(Config config) { + public SqlIOResolver create(Config config, Config fullConfig) { return new TestIOResolver(config); }