GitHub user shanthoosh opened a pull request: https://github.com/apache/samza/pull/585
SAMZA-1788: Add LocationIdProvider abstraction. Currently in standalone, by default hostName of the standalone processor is used as LocationId. However, for containerized environments like azure cloud, kubernetes this defaulting does not work. Standalone processors can be launched from different kubernetes container on a physical machine(where each docker container has different locatliyID than other docker container within same machine). To solve this problem, we introduce locationID abstraction to allow users to plugin a uniqueId identifying the execution environment of the processor. In containerized environments, LocationId is a composite key of multiple fields: (sliceId, containerId, hostname) By default hostname will be used as LocationId(if not configured by the user). All the processors of an application registered from an locationID should be able to share(read/write) their local state stores. Any custom LocationIdProvider is expected to honor this contract when generating the locationID. You can merge this pull request into a Git repository by running: $ git pull https://github.com/shanthoosh/samza add_location_id_interface Alternatively you can review and apply these changes as the patch at: https://github.com/apache/samza/pull/585.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #585 ---- commit a9ba9bbf3e8e7cdb96f69fd05c56eded015e3c65 Author: Shanthoosh Venkataraman <spvenkat@...> Date: 2018-07-26T23:54:31Z SAMZA-1788: Introduce LocationIdProvider abstraction. ---- ---