{"action":"created","comment":{"url":"https://api.github.com/repos/mesosphere/hdfs/pulls/comments/26357425","id":26357425,"diff_hunk":"@@ -106,13 +113,53 @@ public void frameworkMessage(ExecutorDriver driver, byte[] msg) {\n       } else {\n         deleteFile(nameDir);\n         nameDir.mkdirs();\n-        runCommand(driver, nameNodeTask, \"bin/hdfs-mesos-namenode \" + messageStr);\n-        startProcess(driver, nameNodeTask);\n-        startProcess(driver, zkfcNodeTask);\n+      }\n+      runCommand(driver, nameNodeTask, \"bin/hdfs-mesos-namenode \" + messageStr);\n+      startProcess(driver, nameNodeTask);\n+      startProcess(driver, zkfcNodeTask);\n+      driver.sendStatusUpdate(TaskStatus.newBuilder()\n+          .setTaskId(nameNodeTask.taskInfo.getTaskId())\n+          .setState(TaskState.TASK_RUNNING)\n+          .setMessage(messageStr)\n+          .build());\n+    }\n+  }\n+\n+  /**\n+   * This class is designed to help launch the secondary namenode in its bootstrap phase. The node\n+   * needs both name nodes to be available as DNS entries. In Mesos-DNS, this takes an uncertain\n+   * amount of time, so we must schedule it asynchronously.\n+   */","path":"src/main/java/org/apache/mesos/hdfs/executor/NameNodeExecutor.java","position":44,"original_position":44,"commit_id":"d5730f506b495971a3c8379d701b2147d7301073","original_commit_id":"fccc91b478b15dc2dac06b2d08f2a5cd79a4304a","user":{"login":"elingg","id":8423887,"avatar_url":"https://avatars.githubusercontent.com/u/8423887?v=3","gravatar_id":"","url":"https://api.github.com/users/elingg","html_url":"https://github.com/elingg","followers_url":"https://api.github.com/users/elingg/followers","following_url":"https://api.github.com/users/elingg/following{/other_user}","gists_url":"https://api.github.com/users/elingg/gists{/gist_id}","starred_url":"https://api.github.com/users/elingg/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/elingg/subscriptions","organizations_url":"https://api.github.com/users/elingg/orgs","repos_url":"https://api.github.com/users/elingg/repos","events_url":"https://api.github.com/users/elingg/events{/privacy}","received_events_url":"https://api.github.com/users/elingg/received_events","type":"User","site_admin":false},"body":"The scheduler could be changed to format the nodes after it finds that they are running, but also it needs to check that they are discoverable which is a call on the scheduler. Why is it that you can't transition states once DNS is resolvable in the scheduler? The other option I see here is to have the methods MesosDns.journalNodesResolvable(conf, persistentState) called from the Executors instead of from the scheduler and use status messages to make the appropriate transitions. Either way will be fine, I just want to make sure we aren't duplicating code between the scheduler and executors unnecessarily. Let me know if I'm missing something, and we can also discuss tomorrow if needed.","created_at":"2015-03-13T00:32:52Z","updated_at":"2015-03-13T00:32:52Z","html_url":"https://github.com/mesosphere/hdfs/pull/88#discussion_r26357425","pull_request_url":"https://api.github.com/repos/mesosphere/hdfs/pulls/88","_links":{"self":{"href":"https://api.github.com/repos/mesosphere/hdfs/pulls/comments/26357425"},"html":{"href":"https://github.com/mesosphere/hdfs/pull/88#discussion_r26357425"},"pull_request":{"href":"https://api.github.com/repos/mesosphere/hdfs/pulls/88"}}},"pull_request":{"url":"https://api.github.com/repos/mesosphere/hdfs/pulls/88","id":31001785,"html_url":"https://github.com/mesosphere/hdfs/pull/88","diff_url":"https://github.com/mesosphere/hdfs/pull/88.diff","patch_url":"https://github.com/mesosphere/hdfs/pull/88.patch","issue_url":"https://api.github.com/repos/mesosphere/hdfs/issues/88","number":88,"state":"open","locked":false,"title":"Mesos DNS changes in scheduler","user":{"login":"abhay-agarwal","id":673671,"avatar_url":"https://avatars.githubusercontent.com/u/673671?v=3","gravatar_id":"","url":"https://api.github.com/users/abhay-agarwal","html_url":"https://github.com/abhay-agarwal","followers_url":"https://api.github.com/users/abhay-agarwal/followers","following_url":"https://api.github.com/users/abhay-agarwal/following{/other_user}","gists_url":"https://api.github.com/users/abhay-agarwal/gists{/gist_id}","starred_url":"https://api.github.com/users/abhay-agarwal/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/abhay-agarwal/subscriptions","organizations_url":"https://api.github.com/users/abhay-agarwal/orgs","repos_url":"https://api.github.com/users/abhay-agarwal/repos","events_url":"https://api.github.com/users/abhay-agarwal/events{/privacy}","received_events_url":"https://api.github.com/users/abhay-agarwal/received_events","type":"User","site_admin":false},"body":"","created_at":"2015-03-12T01:38:59Z","updated_at":"2015-03-13T00:32:52Z","closed_at":null,"merged_at":null,"merge_commit_sha":"94018e8fe9fcab3b0577e119bdbdba1f7ed3426c","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/mesosphere/hdfs/pulls/88/commits","review_comments_url":"https://api.github.com/repos/mesosphere/hdfs/pulls/88/comments","review_comment_url":"https://api.github.com/repos/mesosphere/hdfs/pulls/comments{/number}","comments_url":"https://api.github.com/repos/mesosphere/hdfs/issues/88/comments","statuses_url":"https://api.github.com/repos/mesosphere/hdfs/statuses/d5730f506b495971a3c8379d701b2147d7301073","head":{"label":"mesosphere:scheduler-mesos-dns","ref":"scheduler-mesos-dns","sha":"d5730f506b495971a3c8379d701b2147d7301073","user":{"login":"mesosphere","id":3458585,"avatar_url":"https://avatars.githubusercontent.com/u/3458585?v=3","gravatar_id":"","url":"https://api.github.com/users/mesosphere","html_url":"https://github.com/mesosphere","followers_url":"https://api.github.com/users/mesosphere/followers","following_url":"https://api.github.com/users/mesosphere/following{/other_user}","gists_url":"https://api.github.com/users/mesosphere/gists{/gist_id}","starred_url":"https://api.github.com/users/mesosphere/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mesosphere/subscriptions","organizations_url":"https://api.github.com/users/mesosphere/orgs","repos_url":"https://api.github.com/users/mesosphere/repos","events_url":"https://api.github.com/users/mesosphere/events{/privacy}","received_events_url":"https://api.github.com/users/mesosphere/received_events","type":"Organization","site_admin":false},"repo":{"id":25594400,"name":"hdfs","full_name":"mesosphere/hdfs","owner":{"login":"mesosphere","id":3458585,"avatar_url":"https://avatars.githubusercontent.com/u/3458585?v=3","gravatar_id":"","url":"https://api.github.com/users/mesosphere","html_url":"https://github.com/mesosphere","followers_url":"https://api.github.com/users/mesosphere/followers","following_url":"https://api.github.com/users/mesosphere/following{/other_user}","gists_url":"https://api.github.com/users/mesosphere/gists{/gist_id}","starred_url":"https://api.github.com/users/mesosphere/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mesosphere/subscriptions","organizations_url":"https://api.github.com/users/mesosphere/orgs","repos_url":"https://api.github.com/users/mesosphere/repos","events_url":"https://api.github.com/users/mesosphere/events{/privacy}","received_events_url":"https://api.github.com/users/mesosphere/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/mesosphere/hdfs","description":"HA HDFS on Apache Mesos  ~~~  aka 'Super Available' HDFS","fork":true,"url":"https://api.github.com/repos/mesosphere/hdfs","forks_url":"https://api.github.com/repos/mesosphere/hdfs/forks","keys_url":"https://api.github.com/repos/mesosphere/hdfs/keys{/key_id}","collaborators_url":"https://api.github.com/repos/mesosphere/hdfs/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/mesosphere/hdfs/teams","hooks_url":"https://api.github.com/repos/mesosphere/hdfs/hooks","issue_events_url":"https://api.github.com/repos/mesosphere/hdfs/issues/events{/number}","events_url":"https://api.github.com/repos/mesosphere/hdfs/events","assignees_url":"https://api.github.com/repos/mesosphere/hdfs/assignees{/user}","branches_url":"https://api.github.com/repos/mesosphere/hdfs/branches{/branch}","tags_url":"https://api.github.com/repos/mesosphere/hdfs/tags","blobs_url":"https://api.github.com/repos/mesosphere/hdfs/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/mesosphere/hdfs/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/mesosphere/hdfs/git/refs{/sha}","trees_url":"https://api.github.com/repos/mesosphere/hdfs/git/trees{/sha}","statuses_url":"https://api.github.com/repos/mesosphere/hdfs/statuses/{sha}","languages_url":"https://api.github.com/repos/mesosphere/hdfs/languages","stargazers_url":"https://api.github.com/repos/mesosphere/hdfs/stargazers","contributors_url":"https://api.github.com/repos/mesosphere/hdfs/contributors","subscribers_url":"https://api.github.com/repos/mesosphere/hdfs/subscribers","subscription_url":"https://api.github.com/repos/mesosphere/hdfs/subscription","commits_url":"https://api.github.com/repos/mesosphere/hdfs/commits{/sha}","git_commits_url":"https://api.github.com/repos/mesosphere/hdfs/git/commits{/sha}","comments_url":"https://api.github.com/repos/mesosphere/hdfs/comments{/number}","issue_comment_url":"https://api.github.com/repos/mesosphere/hdfs/issues/comments{/number}","contents_url":"https://api.github.com/repos/mesosphere/hdfs/contents/{+path}","compare_url":"https://api.github.com/repos/mesosphere/hdfs/compare/{base}...{head}","merges_url":"https://api.github.com/repos/mesosphere/hdfs/merges","archive_url":"https://api.github.com/repos/mesosphere/hdfs/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/mesosphere/hdfs/downloads","issues_url":"https://api.github.com/repos/mesosphere/hdfs/issues{/number}","pulls_url":"https://api.github.com/repos/mesosphere/hdfs/pulls{/number}","milestones_url":"https://api.github.com/repos/mesosphere/hdfs/milestones{/number}","notifications_url":"https://api.github.com/repos/mesosphere/hdfs/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/mesosphere/hdfs/labels{/name}","releases_url":"https://api.github.com/repos/mesosphere/hdfs/releases{/id}","created_at":"2014-10-22T17:21:52Z","updated_at":"2015-03-12T16:40:24Z","pushed_at":"2015-03-13T00:30:53Z","git_url":"git://github.com/mesosphere/hdfs.git","ssh_url":"git@github.com:mesosphere/hdfs.git","clone_url":"https://github.com/mesosphere/hdfs.git","svn_url":"https://github.com/mesosphere/hdfs","homepage":"","size":2060,"stargazers_count":31,"watchers_count":31,"language":"Java","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":7,"mirror_url":null,"open_issues_count":32,"forks":7,"open_issues":32,"watchers":31,"default_branch":"master"}},"base":{"label":"mesosphere:master","ref":"master","sha":"3739ae4b2df168e12e13dc10e442c77ce4d89d6f","user":{"login":"mesosphere","id":3458585,"avatar_url":"https://avatars.githubusercontent.com/u/3458585?v=3","gravatar_id":"","url":"https://api.github.com/users/mesosphere","html_url":"https://github.com/mesosphere","followers_url":"https://api.github.com/users/mesosphere/followers","following_url":"https://api.github.com/users/mesosphere/following{/other_user}","gists_url":"https://api.github.com/users/mesosphere/gists{/gist_id}","starred_url":"https://api.github.com/users/mesosphere/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mesosphere/subscriptions","organizations_url":"https://api.github.com/users/mesosphere/orgs","repos_url":"https://api.github.com/users/mesosphere/repos","events_url":"https://api.github.com/users/mesosphere/events{/privacy}","received_events_url":"https://api.github.com/users/mesosphere/received_events","type":"Organization","site_admin":false},"repo":{"id":25594400,"name":"hdfs","full_name":"mesosphere/hdfs","owner":{"login":"mesosphere","id":3458585,"avatar_url":"https://avatars.githubusercontent.com/u/3458585?v=3","gravatar_id":"","url":"https://api.github.com/users/mesosphere","html_url":"https://github.com/mesosphere","followers_url":"https://api.github.com/users/mesosphere/followers","following_url":"https://api.github.com/users/mesosphere/following{/other_user}","gists_url":"https://api.github.com/users/mesosphere/gists{/gist_id}","starred_url":"https://api.github.com/users/mesosphere/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mesosphere/subscriptions","organizations_url":"https://api.github.com/users/mesosphere/orgs","repos_url":"https://api.github.com/users/mesosphere/repos","events_url":"https://api.github.com/users/mesosphere/events{/privacy}","received_events_url":"https://api.github.com/users/mesosphere/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/mesosphere/hdfs","description":"HA HDFS on Apache Mesos  ~~~  aka 'Super Available' HDFS","fork":true,"url":"https://api.github.com/repos/mesosphere/hdfs","forks_url":"https://api.github.com/repos/mesosphere/hdfs/forks","keys_url":"https://api.github.com/repos/mesosphere/hdfs/keys{/key_id}","collaborators_url":"https://api.github.com/repos/mesosphere/hdfs/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/mesosphere/hdfs/teams","hooks_url":"https://api.github.com/repos/mesosphere/hdfs/hooks","issue_events_url":"https://api.github.com/repos/mesosphere/hdfs/issues/events{/number}","events_url":"https://api.github.com/repos/mesosphere/hdfs/events","assignees_url":"https://api.github.com/repos/mesosphere/hdfs/assignees{/user}","branches_url":"https://api.github.com/repos/mesosphere/hdfs/branches{/branch}","tags_url":"https://api.github.com/repos/mesosphere/hdfs/tags","blobs_url":"https://api.github.com/repos/mesosphere/hdfs/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/mesosphere/hdfs/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/mesosphere/hdfs/git/refs{/sha}","trees_url":"https://api.github.com/repos/mesosphere/hdfs/git/trees{/sha}","statuses_url":"https://api.github.com/repos/mesosphere/hdfs/statuses/{sha}","languages_url":"https://api.github.com/repos/mesosphere/hdfs/languages","stargazers_url":"https://api.github.com/repos/mesosphere/hdfs/stargazers","contributors_url":"https://api.github.com/repos/mesosphere/hdfs/contributors","subscribers_url":"https://api.github.com/repos/mesosphere/hdfs/subscribers","subscription_url":"https://api.github.com/repos/mesosphere/hdfs/subscription","commits_url":"https://api.github.com/repos/mesosphere/hdfs/commits{/sha}","git_commits_url":"https://api.github.com/repos/mesosphere/hdfs/git/commits{/sha}","comments_url":"https://api.github.com/repos/mesosphere/hdfs/comments{/number}","issue_comment_url":"https://api.github.com/repos/mesosphere/hdfs/issues/comments{/number}","contents_url":"https://api.github.com/repos/mesosphere/hdfs/contents/{+path}","compare_url":"https://api.github.com/repos/mesosphere/hdfs/compare/{base}...{head}","merges_url":"https://api.github.com/repos/mesosphere/hdfs/merges","archive_url":"https://api.github.com/repos/mesosphere/hdfs/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/mesosphere/hdfs/downloads","issues_url":"https://api.github.com/repos/mesosphere/hdfs/issues{/number}","pulls_url":"https://api.github.com/repos/mesosphere/hdfs/pulls{/number}","milestones_url":"https://api.github.com/repos/mesosphere/hdfs/milestones{/number}","notifications_url":"https://api.github.com/repos/mesosphere/hdfs/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/mesosphere/hdfs/labels{/name}","releases_url":"https://api.github.com/repos/mesosphere/hdfs/releases{/id}","created_at":"2014-10-22T17:21:52Z","updated_at":"2015-03-12T16:40:24Z","pushed_at":"2015-03-13T00:30:53Z","git_url":"git://github.com/mesosphere/hdfs.git","ssh_url":"git@github.com:mesosphere/hdfs.git","clone_url":"https://github.com/mesosphere/hdfs.git","svn_url":"https://github.com/mesosphere/hdfs","homepage":"","size":2060,"stargazers_count":31,"watchers_count":31,"language":"Java","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":7,"mirror_url":null,"open_issues_count":32,"forks":7,"open_issues":32,"watchers":31,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/mesosphere/hdfs/pulls/88"},"html":{"href":"https://github.com/mesosphere/hdfs/pull/88"},"issue":{"href":"https://api.github.com/repos/mesosphere/hdfs/issues/88"},"comments":{"href":"https://api.github.com/repos/mesosphere/hdfs/issues/88/comments"},"review_comments":{"href":"https://api.github.com/repos/mesosphere/hdfs/pulls/88/comments"},"review_comment":{"href":"https://api.github.com/repos/mesosphere/hdfs/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/mesosphere/hdfs/pulls/88/commits"},"statuses":{"href":"https://api.github.com/repos/mesosphere/hdfs/statuses/d5730f506b495971a3c8379d701b2147d7301073"}}}}