cameronlee314 opened a new pull request #1567: URL: https://github.com/apache/samza/pull/1567
Issues: `ContainerHeartbeatMonitor` is used when the `EXECUTION_ENV_CONTAINER_ID` environment variable is set. However, the current implementation of `ContainerHeartbeatMonitor` is coupled with YARN while `EXECUTION_ENV_CONTAINER_ID` is not. For Kubernetes, we don't need `ContainerHeartbeatMonitor` since we don't need to deal with orphaned containers, but we would like to still fill in `EXECUTION_ENV_CONTAINER_ID`. Therefore, we need another way to disable the `ContainerHeartbeatMonitor`. Changes: Add a config flag (`job.container.heartbeat.monitor.enabled`) for enabling `ContainerHeartbeatMonitor`. Tests: Deployed application in minikube for following situations: 1. Monitor enabled, `EXECUTION_ENV_CONTAINER_ID` specified -> monitor runs and is expected to kill the container since there is no heartbeat endpoint in the Kubernetes job coordinator 2. Monitor enabled, `EXECUTION_ENV_CONTAINER_ID` not specified -> monitor does not run 3. Monitor disabled, `EXECUTION_ENV_CONTAINER_ID` specified -> monitor does not run API changes (backwards compatible): Specify `job.container.heartbeat.monitor.enabled` as true/false to enable/disable the `ContainerHeartbeatMonitor`. This defaults to `true` for backwards compatibility. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
