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]


Reply via email to