{"action":"created","comment":{"url":"https://api.github.com/repos/paypal/SeLion/pulls/comments/42281166","id":42281166,"diff_hunk":"@@ -235,34 +314,49 @@ public synchronized void requestNodeShutdown() {\n      */\n     public synchronized void forceNodeShutdown() {\n         LOGGER.entering();\n-        CloseableHttpClient client = HttpClientBuilder.create().build();\n-        String url = String.format(\"http://%s:%d/extra/%s\", machine, this.getRemoteHost().getPort(),\n-                NodeForceRestartServlet.class.getSimpleName());\n-        HttpPost post = new HttpPost(url);\n-        int responseStatusCode = HttpStatus.SC_NOT_FOUND;\n-        try {\n-            HttpResponse response = client.execute(post);\n-            responseStatusCode = response.getStatusLine().getStatusCode();\n-        } catch (IOException e) {\n-            LOGGER.log(Level.SEVERE, e.getMessage(), e);\n-        } finally {\n-            if (responseStatusCode == HttpStatus.SC_OK) {\n-                proxyLogger.info(\"Node \" + machine + \" shutdown successfully.\");\n-            } else {\n-                proxyLogger.info(\"Node \" + machine + \" did not shutdown. Return code was \" + responseStatusCode);\n-            }\n \n-            try {\n-                client.close();\n-            } catch (IOException e) {\n-                LOGGER.log(Level.SEVERE, e.getMessage(), e);\n-            }\n+        // verify the servlet is supported on the node\n+        if (!isSupportedOnNode(NodeForceRestartServlet.class)) {\n+            LOGGER.exiting();\n+            return;\n         }\n+\n+        // stop the node recycle thread\n         stopNodeRecycleThread();\n-        // remove the node from the hub registry, if it reported 200 OK for NodeForceRestartServlet request\n-        if (responseStatusCode == HttpStatus.SC_OK) {\n-            getRegistry().removeIfPresent(this);\n+\n+        // clean up the test slots\n+        for (TestSlot slot : getTestSlots()) {\n+            if (slot.getSession() != null) {\n+                totalSessionsCompleted++;","path":"server/src/main/java/com/paypal/selion/proxy/SeLionRemoteProxy.java","position":355,"original_position":355,"commit_id":"f7e697e61806cf09c3de6c2536a5b1d49602e508","original_commit_id":"f7e697e61806cf09c3de6c2536a5b1d49602e508","user":{"login":"mach6","id":3238999,"avatar_url":"https://avatars.githubusercontent.com/u/3238999?v=3","gravatar_id":"","url":"https://api.github.com/users/mach6","html_url":"https://github.com/mach6","followers_url":"https://api.github.com/users/mach6/followers","following_url":"https://api.github.com/users/mach6/following{/other_user}","gists_url":"https://api.github.com/users/mach6/gists{/gist_id}","starred_url":"https://api.github.com/users/mach6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mach6/subscriptions","organizations_url":"https://api.github.com/users/mach6/orgs","repos_url":"https://api.github.com/users/mach6/repos","events_url":"https://api.github.com/users/mach6/events{/privacy}","received_events_url":"https://api.github.com/users/mach6/received_events","type":"User","site_admin":false},"body":"For the next LOC. ","created_at":"2015-10-16T19:33:32Z","updated_at":"2015-10-16T19:33:32Z","html_url":"https://github.com/paypal/SeLion/pull/190#discussion_r42281166","pull_request_url":"https://api.github.com/repos/paypal/SeLion/pulls/190","_links":{"self":{"href":"https://api.github.com/repos/paypal/SeLion/pulls/comments/42281166"},"html":{"href":"https://github.com/paypal/SeLion/pull/190#discussion_r42281166"},"pull_request":{"href":"https://api.github.com/repos/paypal/SeLion/pulls/190"}}},"pull_request":{"url":"https://api.github.com/repos/paypal/SeLion/pulls/190","id":47861152,"html_url":"https://github.com/paypal/SeLion/pull/190","diff_url":"https://github.com/paypal/SeLion/pull/190.diff","patch_url":"https://github.com/paypal/SeLion/pull/190.patch","issue_url":"https://api.github.com/repos/paypal/SeLion/issues/190","number":190,"state":"open","locked":false,"title":"Fix SeLion server issues","user":{"login":"mach6","id":3238999,"avatar_url":"https://avatars.githubusercontent.com/u/3238999?v=3","gravatar_id":"","url":"https://api.github.com/users/mach6","html_url":"https://github.com/mach6","followers_url":"https://api.github.com/users/mach6/followers","following_url":"https://api.github.com/users/mach6/following{/other_user}","gists_url":"https://api.github.com/users/mach6/gists{/gist_id}","starred_url":"https://api.github.com/users/mach6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mach6/subscriptions","organizations_url":"https://api.github.com/users/mach6/orgs","repos_url":"https://api.github.com/users/mach6/repos","events_url":"https://api.github.com/users/mach6/events{/privacy}","received_events_url":"https://api.github.com/users/mach6/received_events","type":"User","site_admin":false},"body":"additional work on top of PR #189 ","created_at":"2015-10-16T01:10:01Z","updated_at":"2015-10-16T19:33:32Z","closed_at":null,"merged_at":null,"merge_commit_sha":"818cba7c23c15923bcd597d4269f386126b38859","assignee":null,"milestone":{"url":"https://api.github.com/repos/paypal/SeLion/milestones/3","html_url":"https://github.com/paypal/SeLion/milestones/M5","labels_url":"https://api.github.com/repos/paypal/SeLion/milestones/3/labels","id":1122908,"number":3,"title":"M5","description":"","creator":{"login":"mach6","id":3238999,"avatar_url":"https://avatars.githubusercontent.com/u/3238999?v=3","gravatar_id":"","url":"https://api.github.com/users/mach6","html_url":"https://github.com/mach6","followers_url":"https://api.github.com/users/mach6/followers","following_url":"https://api.github.com/users/mach6/following{/other_user}","gists_url":"https://api.github.com/users/mach6/gists{/gist_id}","starred_url":"https://api.github.com/users/mach6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mach6/subscriptions","organizations_url":"https://api.github.com/users/mach6/orgs","repos_url":"https://api.github.com/users/mach6/repos","events_url":"https://api.github.com/users/mach6/events{/privacy}","received_events_url":"https://api.github.com/users/mach6/received_events","type":"User","site_admin":false},"open_issues":3,"closed_issues":65,"state":"open","created_at":"2015-05-21T09:35:02Z","updated_at":"2015-10-16T01:10:56Z","due_on":null,"closed_at":null},"commits_url":"https://api.github.com/repos/paypal/SeLion/pulls/190/commits","review_comments_url":"https://api.github.com/repos/paypal/SeLion/pulls/190/comments","review_comment_url":"https://api.github.com/repos/paypal/SeLion/pulls/comments{/number}","comments_url":"https://api.github.com/repos/paypal/SeLion/issues/190/comments","statuses_url":"https://api.github.com/repos/paypal/SeLion/statuses/f7e697e61806cf09c3de6c2536a5b1d49602e508","head":{"label":"mach6:sundaramrajendran-raj-fix-grid-issue","ref":"sundaramrajendran-raj-fix-grid-issue","sha":"f7e697e61806cf09c3de6c2536a5b1d49602e508","user":{"login":"mach6","id":3238999,"avatar_url":"https://avatars.githubusercontent.com/u/3238999?v=3","gravatar_id":"","url":"https://api.github.com/users/mach6","html_url":"https://github.com/mach6","followers_url":"https://api.github.com/users/mach6/followers","following_url":"https://api.github.com/users/mach6/following{/other_user}","gists_url":"https://api.github.com/users/mach6/gists{/gist_id}","starred_url":"https://api.github.com/users/mach6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mach6/subscriptions","organizations_url":"https://api.github.com/users/mach6/orgs","repos_url":"https://api.github.com/users/mach6/repos","events_url":"https://api.github.com/users/mach6/events{/privacy}","received_events_url":"https://api.github.com/users/mach6/received_events","type":"User","site_admin":false},"repo":{"id":24708086,"name":"SeLion","full_name":"mach6/SeLion","owner":{"login":"mach6","id":3238999,"avatar_url":"https://avatars.githubusercontent.com/u/3238999?v=3","gravatar_id":"","url":"https://api.github.com/users/mach6","html_url":"https://github.com/mach6","followers_url":"https://api.github.com/users/mach6/followers","following_url":"https://api.github.com/users/mach6/following{/other_user}","gists_url":"https://api.github.com/users/mach6/gists{/gist_id}","starred_url":"https://api.github.com/users/mach6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mach6/subscriptions","organizations_url":"https://api.github.com/users/mach6/orgs","repos_url":"https://api.github.com/users/mach6/repos","events_url":"https://api.github.com/users/mach6/events{/privacy}","received_events_url":"https://api.github.com/users/mach6/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/mach6/SeLion","description":"Enabling Test Automation in Java","fork":true,"url":"https://api.github.com/repos/mach6/SeLion","forks_url":"https://api.github.com/repos/mach6/SeLion/forks","keys_url":"https://api.github.com/repos/mach6/SeLion/keys{/key_id}","collaborators_url":"https://api.github.com/repos/mach6/SeLion/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/mach6/SeLion/teams","hooks_url":"https://api.github.com/repos/mach6/SeLion/hooks","issue_events_url":"https://api.github.com/repos/mach6/SeLion/issues/events{/number}","events_url":"https://api.github.com/repos/mach6/SeLion/events","assignees_url":"https://api.github.com/repos/mach6/SeLion/assignees{/user}","branches_url":"https://api.github.com/repos/mach6/SeLion/branches{/branch}","tags_url":"https://api.github.com/repos/mach6/SeLion/tags","blobs_url":"https://api.github.com/repos/mach6/SeLion/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/mach6/SeLion/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/mach6/SeLion/git/refs{/sha}","trees_url":"https://api.github.com/repos/mach6/SeLion/git/trees{/sha}","statuses_url":"https://api.github.com/repos/mach6/SeLion/statuses/{sha}","languages_url":"https://api.github.com/repos/mach6/SeLion/languages","stargazers_url":"https://api.github.com/repos/mach6/SeLion/stargazers","contributors_url":"https://api.github.com/repos/mach6/SeLion/contributors","subscribers_url":"https://api.github.com/repos/mach6/SeLion/subscribers","subscription_url":"https://api.github.com/repos/mach6/SeLion/subscription","commits_url":"https://api.github.com/repos/mach6/SeLion/commits{/sha}","git_commits_url":"https://api.github.com/repos/mach6/SeLion/git/commits{/sha}","comments_url":"https://api.github.com/repos/mach6/SeLion/comments{/number}","issue_comment_url":"https://api.github.com/repos/mach6/SeLion/issues/comments{/number}","contents_url":"https://api.github.com/repos/mach6/SeLion/contents/{+path}","compare_url":"https://api.github.com/repos/mach6/SeLion/compare/{base}...{head}","merges_url":"https://api.github.com/repos/mach6/SeLion/merges","archive_url":"https://api.github.com/repos/mach6/SeLion/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/mach6/SeLion/downloads","issues_url":"https://api.github.com/repos/mach6/SeLion/issues{/number}","pulls_url":"https://api.github.com/repos/mach6/SeLion/pulls{/number}","milestones_url":"https://api.github.com/repos/mach6/SeLion/milestones{/number}","notifications_url":"https://api.github.com/repos/mach6/SeLion/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/mach6/SeLion/labels{/name}","releases_url":"https://api.github.com/repos/mach6/SeLion/releases{/id}","created_at":"2014-10-02T05:57:34Z","updated_at":"2015-04-29T23:17:35Z","pushed_at":"2015-10-16T01:04:15Z","git_url":"git://github.com/mach6/SeLion.git","ssh_url":"git@github.com:mach6/SeLion.git","clone_url":"https://github.com/mach6/SeLion.git","svn_url":"https://github.com/mach6/SeLion","homepage":"http://selion.io","size":6174,"stargazers_count":0,"watchers_count":0,"language":"Java","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"develop"}},"base":{"label":"paypal:develop","ref":"develop","sha":"972b9e74245da7932b20ca22b19196f9afaff739","user":{"login":"paypal","id":476675,"avatar_url":"https://avatars.githubusercontent.com/u/476675?v=3","gravatar_id":"","url":"https://api.github.com/users/paypal","html_url":"https://github.com/paypal","followers_url":"https://api.github.com/users/paypal/followers","following_url":"https://api.github.com/users/paypal/following{/other_user}","gists_url":"https://api.github.com/users/paypal/gists{/gist_id}","starred_url":"https://api.github.com/users/paypal/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/paypal/subscriptions","organizations_url":"https://api.github.com/users/paypal/orgs","repos_url":"https://api.github.com/users/paypal/repos","events_url":"https://api.github.com/users/paypal/events{/privacy}","received_events_url":"https://api.github.com/users/paypal/received_events","type":"Organization","site_admin":false},"repo":{"id":22930887,"name":"SeLion","full_name":"paypal/SeLion","owner":{"login":"paypal","id":476675,"avatar_url":"https://avatars.githubusercontent.com/u/476675?v=3","gravatar_id":"","url":"https://api.github.com/users/paypal","html_url":"https://github.com/paypal","followers_url":"https://api.github.com/users/paypal/followers","following_url":"https://api.github.com/users/paypal/following{/other_user}","gists_url":"https://api.github.com/users/paypal/gists{/gist_id}","starred_url":"https://api.github.com/users/paypal/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/paypal/subscriptions","organizations_url":"https://api.github.com/users/paypal/orgs","repos_url":"https://api.github.com/users/paypal/repos","events_url":"https://api.github.com/users/paypal/events{/privacy}","received_events_url":"https://api.github.com/users/paypal/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/paypal/SeLion","description":"Enabling Test Automation in Java","fork":false,"url":"https://api.github.com/repos/paypal/SeLion","forks_url":"https://api.github.com/repos/paypal/SeLion/forks","keys_url":"https://api.github.com/repos/paypal/SeLion/keys{/key_id}","collaborators_url":"https://api.github.com/repos/paypal/SeLion/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/paypal/SeLion/teams","hooks_url":"https://api.github.com/repos/paypal/SeLion/hooks","issue_events_url":"https://api.github.com/repos/paypal/SeLion/issues/events{/number}","events_url":"https://api.github.com/repos/paypal/SeLion/events","assignees_url":"https://api.github.com/repos/paypal/SeLion/assignees{/user}","branches_url":"https://api.github.com/repos/paypal/SeLion/branches{/branch}","tags_url":"https://api.github.com/repos/paypal/SeLion/tags","blobs_url":"https://api.github.com/repos/paypal/SeLion/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/paypal/SeLion/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/paypal/SeLion/git/refs{/sha}","trees_url":"https://api.github.com/repos/paypal/SeLion/git/trees{/sha}","statuses_url":"https://api.github.com/repos/paypal/SeLion/statuses/{sha}","languages_url":"https://api.github.com/repos/paypal/SeLion/languages","stargazers_url":"https://api.github.com/repos/paypal/SeLion/stargazers","contributors_url":"https://api.github.com/repos/paypal/SeLion/contributors","subscribers_url":"https://api.github.com/repos/paypal/SeLion/subscribers","subscription_url":"https://api.github.com/repos/paypal/SeLion/subscription","commits_url":"https://api.github.com/repos/paypal/SeLion/commits{/sha}","git_commits_url":"https://api.github.com/repos/paypal/SeLion/git/commits{/sha}","comments_url":"https://api.github.com/repos/paypal/SeLion/comments{/number}","issue_comment_url":"https://api.github.com/repos/paypal/SeLion/issues/comments{/number}","contents_url":"https://api.github.com/repos/paypal/SeLion/contents/{+path}","compare_url":"https://api.github.com/repos/paypal/SeLion/compare/{base}...{head}","merges_url":"https://api.github.com/repos/paypal/SeLion/merges","archive_url":"https://api.github.com/repos/paypal/SeLion/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/paypal/SeLion/downloads","issues_url":"https://api.github.com/repos/paypal/SeLion/issues{/number}","pulls_url":"https://api.github.com/repos/paypal/SeLion/pulls{/number}","milestones_url":"https://api.github.com/repos/paypal/SeLion/milestones{/number}","notifications_url":"https://api.github.com/repos/paypal/SeLion/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/paypal/SeLion/labels{/name}","releases_url":"https://api.github.com/repos/paypal/SeLion/releases{/id}","created_at":"2014-08-13T20:52:57Z","updated_at":"2015-10-07T07:03:30Z","pushed_at":"2015-10-16T01:10:01Z","git_url":"git://github.com/paypal/SeLion.git","ssh_url":"git@github.com:paypal/SeLion.git","clone_url":"https://github.com/paypal/SeLion.git","svn_url":"https://github.com/paypal/SeLion","homepage":"http://selion.io","size":21070,"stargazers_count":44,"watchers_count":44,"language":"Java","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":76,"mirror_url":null,"open_issues_count":7,"forks":76,"open_issues":7,"watchers":44,"default_branch":"develop"}},"_links":{"self":{"href":"https://api.github.com/repos/paypal/SeLion/pulls/190"},"html":{"href":"https://github.com/paypal/SeLion/pull/190"},"issue":{"href":"https://api.github.com/repos/paypal/SeLion/issues/190"},"comments":{"href":"https://api.github.com/repos/paypal/SeLion/issues/190/comments"},"review_comments":{"href":"https://api.github.com/repos/paypal/SeLion/pulls/190/comments"},"review_comment":{"href":"https://api.github.com/repos/paypal/SeLion/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/paypal/SeLion/pulls/190/commits"},"statuses":{"href":"https://api.github.com/repos/paypal/SeLion/statuses/f7e697e61806cf09c3de6c2536a5b1d49602e508"}}}}