{"action":"created","issue":{"url":"https://api.github.com/repos/mesosphere/marathon/issues/5406","repository_url":"https://api.github.com/repos/mesosphere/marathon","labels_url":"https://api.github.com/repos/mesosphere/marathon/issues/5406/labels{/name}","comments_url":"https://api.github.com/repos/mesosphere/marathon/issues/5406/comments","events_url":"https://api.github.com/repos/mesosphere/marathon/issues/5406/events","html_url":"https://github.com/mesosphere/marathon/pull/5406","id":231089709,"number":5406,"title":"Fixes #4168 - Add support for Mesos HTTP/TCP health checks (#4210)","user":{"login":"janisz","id":1616386,"avatar_url":"https://avatars3.githubusercontent.com/u/1616386?v=3","gravatar_id":"","url":"https://api.github.com/users/janisz","html_url":"https://github.com/janisz","followers_url":"https://api.github.com/users/janisz/followers","following_url":"https://api.github.com/users/janisz/following{/other_user}","gists_url":"https://api.github.com/users/janisz/gists{/gist_id}","starred_url":"https://api.github.com/users/janisz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/janisz/subscriptions","organizations_url":"https://api.github.com/users/janisz/orgs","repos_url":"https://api.github.com/users/janisz/repos","events_url":"https://api.github.com/users/janisz/events{/privacy}","received_events_url":"https://api.github.com/users/janisz/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":{"login":"timcharper","id":183,"avatar_url":"https://avatars2.githubusercontent.com/u/183?v=3","gravatar_id":"","url":"https://api.github.com/users/timcharper","html_url":"https://github.com/timcharper","followers_url":"https://api.github.com/users/timcharper/followers","following_url":"https://api.github.com/users/timcharper/following{/other_user}","gists_url":"https://api.github.com/users/timcharper/gists{/gist_id}","starred_url":"https://api.github.com/users/timcharper/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/timcharper/subscriptions","organizations_url":"https://api.github.com/users/timcharper/orgs","repos_url":"https://api.github.com/users/timcharper/repos","events_url":"https://api.github.com/users/timcharper/events{/privacy}","received_events_url":"https://api.github.com/users/timcharper/received_events","type":"User","site_admin":false},"assignees":[{"login":"timcharper","id":183,"avatar_url":"https://avatars2.githubusercontent.com/u/183?v=3","gravatar_id":"","url":"https://api.github.com/users/timcharper","html_url":"https://github.com/timcharper","followers_url":"https://api.github.com/users/timcharper/followers","following_url":"https://api.github.com/users/timcharper/following{/other_user}","gists_url":"https://api.github.com/users/timcharper/gists{/gist_id}","starred_url":"https://api.github.com/users/timcharper/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/timcharper/subscriptions","organizations_url":"https://api.github.com/users/timcharper/orgs","repos_url":"https://api.github.com/users/timcharper/repos","events_url":"https://api.github.com/users/timcharper/events{/privacy}","received_events_url":"https://api.github.com/users/timcharper/received_events","type":"User","site_admin":false}],"milestone":null,"comments":9,"created_at":"2017-05-24T15:57:54Z","updated_at":"2017-07-06T21:18:17Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/mesosphere/marathon/pulls/5406","html_url":"https://github.com/mesosphere/marathon/pull/5406","diff_url":"https://github.com/mesosphere/marathon/pull/5406.diff","patch_url":"https://github.com/mesosphere/marathon/pull/5406.patch"},"body":"This is a cherrypick of a @gkleiman's PR #4210. \r\nMarathon 1.4 introduced Mesos HTTP/TCP healthchecks. This could result in better performance of a Marathon. Unfortunately Marathon 1.4 introduced a performance degradation making it unusable in bigger installations ([MARATHON-7358](https://jira.mesosphere.com/browse/MARATHON-7358)). This PR add Mesos Healthcecks support to Marathon 1.3. This change is future proof and upgrading to 1.4 is safe.\r\n\r\nMoving all Marathon applications from Marathon healthcecks to Mesos Healthcecks can't be done at once. Every application need to be redeployed with new configuration. This PR allow users to slowly move to Mesos Healthchecks and then upgrade to Marathon 1.4\r\n\r\n<details>\r\nManually fixed Conflicts:\r\n\r\n-\t[`project/build.scala`](https://github.com/janisz/marathon/blob/431de4e8932b048433405131a8875904895f4d73/project/build.scala)\r\n-\t[`src/main/java/mesosphere/marathon/Protos.java`](https://github.com/janisz/marathon/blob/431de4e8932b048433405131a8875904895f4d73/src/main/java/mesosphere/marathon/Protos.java)\r\n-\t[`src/main/scala/mesosphere/marathon/core/health/HealthCheck.scala`](https://github.com/janisz/marathon/blob/431de4e8932b048433405131a8875904895f4d73/src/main/scala/mesosphere/marathon/core/health/HealthCheck.scala)\r\n-\t[`src/main/scala/mesosphere/marathon/core/health/impl/HealthCheckActor.scala`](https://github.com/janisz/marathon/blob/431de4e8932b048433405131a8875904895f4d73/src/main/scala/mesosphere/marathon/core/health/impl/HealthCheckActor.scala)\r\n-\t[`src/main/scala/mesosphere/marathon/core/health/impl/MarathonHealthCheckManager.scala`](https://github.com/janisz/marathon/blob/431de4e8932b048433405131a8875904895f4d73/src/main/scala/mesosphere/marathon/core/health/impl/MarathonHealthCheckManager.scala)\r\n-\t[`src/main/scala/mesosphere/marathon/state/AppDefinition.scala`](https://github.com/janisz/marathon/blob/431de4e8932b048433405131a8875904895f4d73/src/main/scala/mesosphere/marathon/state/AppDefinition.scala)\r\n-\t[`src/test/scala/mesosphere/marathon/api/v2/json/AppDefinitionTest.scala`](https://github.com/janisz/marathon/blob/431de4e8932b048433405131a8875904895f4d73/src/test/scala/mesosphere/marathon/api/v2/json/AppDefinitionTest.scala)\r\n-\t[`src/test/scala/mesosphere/marathon/core/health/impl/HealthCheckActorTest.scala`](https://github.com/janisz/marathon/blob/431de4e8932b048433405131a8875904895f4d73/src/test/scala/mesosphere/marathon/core/health/impl/HealthCheckActorTest.scala)\r\n-\t[`src/test/scala/mesosphere/marathon/core/health/impl/MarathonHealthCheckManagerTest.scala`](https://github.com/janisz/marathon/blob/431de4e8932b048433405131a8875904895f4d73/src/test/scala/mesosphere/marathon/core/health/impl/MarathonHealthCheckManagerTest.scala)\r\n-\t[`src/test/scala/mesosphere/marathon/integration/AppDeployIntegrationTest.scala`](https://github.com/janisz/marathon/blob/431de4e8932b048433405131a8875904895f4d73/src/test/scala/mesosphere/marathon/integration/AppDeployIntegrationTest.scala)\r\n-\t[`src/test/scala/mesosphere/marathon/state/MarathonStoreTest.scala`](https://github.com/janisz/marathon/blob/431de4e8932b048433405131a8875904895f4d73/src/test/scala/mesosphere/marathon/state/MarathonStoreTest.scala)\r\n</details>"},"comment":{"url":"https://api.github.com/repos/mesosphere/marathon/issues/comments/313522162","html_url":"https://github.com/mesosphere/marathon/pull/5406#issuecomment-313522162","issue_url":"https://api.github.com/repos/mesosphere/marathon/issues/5406","id":313522162,"user":{"login":"jdef","id":2348332,"avatar_url":"https://avatars0.githubusercontent.com/u/2348332?v=3","gravatar_id":"","url":"https://api.github.com/users/jdef","html_url":"https://github.com/jdef","followers_url":"https://api.github.com/users/jdef/followers","following_url":"https://api.github.com/users/jdef/following{/other_user}","gists_url":"https://api.github.com/users/jdef/gists{/gist_id}","starred_url":"https://api.github.com/users/jdef/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jdef/subscriptions","organizations_url":"https://api.github.com/users/jdef/orgs","repos_url":"https://api.github.com/users/jdef/repos","events_url":"https://api.github.com/users/jdef/events{/privacy}","received_events_url":"https://api.github.com/users/jdef/received_events","type":"User","site_admin":false},"created_at":"2017-07-06T21:18:17Z","updated_at":"2017-07-06T21:18:17Z","body":"I built a toy framework in mesos-go that uses a custom executor. I didn't\nneed to make any proto-building changes when upgrading from v1.0.x to\nv1.1.x mesos protos. Upon upgrading to mesos v1.2.x protos the logic that\nbuilt a custom executor needs to set the executor's type to CUSTOM\notherwise mesos rejects it. Maybe this is an under-documented feature of\nMesos 1.2.x?\n\nOn Thu, Jul 6, 2017 at 4:14 PM, janisz <notifications@github.com> wrote:\n\n> it introduces a dependency on a newer Mesos API (with breaking changes):\n> for example, custom executors have new proto requirements for the 1.2 API.\n>\n> @jdef <https://github.com/jdef> What breaking changes do you refer to? I\n> haven't noticed any breaking changes? Noting is mentioned in Mesos\n> changelog <https://github.com/apache/mesos/blob/1.2.0/CHANGELOG> too? Can\n> you elaborate.\n>\n> —\n> You are receiving this because you were mentioned.\n> Reply to this email directly, view it on GitHub\n> <https://github.com/mesosphere/marathon/pull/5406#issuecomment-313506683>,\n> or mute the thread\n> <https://github.com/notifications/unsubscribe-auth/ACPVLAU1T6Oo2Ev8tEQSpBjIrLKKdxmYks5sLUBAgaJpZM4NlUdY>\n> .\n>\n"}}
{"actor":{"display_login":"jdef"}}