{"action":"created","comment":{"url":"https://api.github.com/repos/cloudera/livy/pulls/comments/119976640","pull_request_review_id":41910706,"id":119976640,"diff_hunk":"@@ -61,18 +64,78 @@\n   private static final SecureRandom RND = new SecureRandom();\n \n   private final String address;\n-  private final Channel channel;\n+  private Channel channel;\n   private final EventLoopGroup group;\n   private final int port;\n   private final ConcurrentMap<String, ClientInfo> pendingClients;\n   private final RSCConf config;\n-\n+  private final String portRange;\n+  private static enum PortRangeSchema{START_PORT, END_PORT, max};\n+  private final String PORT_DELIMITER = \"~\";\n+  /**\n+   * Creating RPC Server\n+   * @param lconf\n+   * @throws IOException\n+   * @throws InterruptedException\n+   */\n   public RpcServer(RSCConf lconf) throws IOException, InterruptedException {\n     this.config = lconf;\n+    this.portRange = config.get(LAUNCHER_PORT_RANGE);\n     this.group = new NioEventLoopGroup(\n-        this.config.getInt(RPC_MAX_THREADS),\n-        Utils.newDaemonThreadFactory(\"RPC-Handler-%d\"));\n-    this.channel = new ServerBootstrap()\n+    this.config.getInt(RPC_MAX_THREADS),","path":"rsc/src/main/java/com/cloudera/livy/rsc/rpc/RpcServer.java","position":38,"original_position":38,"commit_id":"789ae88c0e0264455d8c1f2fd921a23470ac1d05","original_commit_id":"789ae88c0e0264455d8c1f2fd921a23470ac1d05","user":{"login":"zjffdu","id":164491,"avatar_url":"https://avatars1.githubusercontent.com/u/164491?v=3","gravatar_id":"","url":"https://api.github.com/users/zjffdu","html_url":"https://github.com/zjffdu","followers_url":"https://api.github.com/users/zjffdu/followers","following_url":"https://api.github.com/users/zjffdu/following{/other_user}","gists_url":"https://api.github.com/users/zjffdu/gists{/gist_id}","starred_url":"https://api.github.com/users/zjffdu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/zjffdu/subscriptions","organizations_url":"https://api.github.com/users/zjffdu/orgs","repos_url":"https://api.github.com/users/zjffdu/repos","events_url":"https://api.github.com/users/zjffdu/events{/privacy}","received_events_url":"https://api.github.com/users/zjffdu/received_events","type":"User","site_admin":false},"body":"code style issue, should have ident here. Seems travis still didn't detect it. @jerryshao  Do you have any clues ?","created_at":"2017-06-03T02:17:07Z","updated_at":"2017-06-03T02:17:07Z","html_url":"https://github.com/cloudera/livy/pull/334#discussion_r119976640","pull_request_url":"https://api.github.com/repos/cloudera/livy/pulls/334","_links":{"self":{"href":"https://api.github.com/repos/cloudera/livy/pulls/comments/119976640"},"html":{"href":"https://github.com/cloudera/livy/pull/334#discussion_r119976640"},"pull_request":{"href":"https://api.github.com/repos/cloudera/livy/pulls/334"}}},"pull_request":{"url":"https://api.github.com/repos/cloudera/livy/pulls/334","id":121267653,"html_url":"https://github.com/cloudera/livy/pull/334","diff_url":"https://github.com/cloudera/livy/pull/334.diff","patch_url":"https://github.com/cloudera/livy/pull/334.patch","issue_url":"https://api.github.com/repos/cloudera/livy/issues/334","number":334,"state":"open","locked":false,"title":"Livy:337 Binding RPCServer to user provided port and not random port","user":{"login":"pralabhkumar","id":16147255,"avatar_url":"https://avatars2.githubusercontent.com/u/16147255?v=3","gravatar_id":"","url":"https://api.github.com/users/pralabhkumar","html_url":"https://github.com/pralabhkumar","followers_url":"https://api.github.com/users/pralabhkumar/followers","following_url":"https://api.github.com/users/pralabhkumar/following{/other_user}","gists_url":"https://api.github.com/users/pralabhkumar/gists{/gist_id}","starred_url":"https://api.github.com/users/pralabhkumar/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pralabhkumar/subscriptions","organizations_url":"https://api.github.com/users/pralabhkumar/orgs","repos_url":"https://api.github.com/users/pralabhkumar/repos","events_url":"https://api.github.com/users/pralabhkumar/events{/privacy}","received_events_url":"https://api.github.com/users/pralabhkumar/received_events","type":"User","site_admin":false},"body":"#Livy:337 : Bind RPCServer to user provided port https://issues.cloudera.org/browse/LIVY-337","created_at":"2017-05-18T12:08:14Z","updated_at":"2017-06-03T02:17:07Z","closed_at":null,"merged_at":null,"merge_commit_sha":"54c22ee0b600afab4f95a732e65ece77b7b5a8b3","assignee":null,"assignees":[],"requested_reviewers":[],"milestone":null,"commits_url":"https://api.github.com/repos/cloudera/livy/pulls/334/commits","review_comments_url":"https://api.github.com/repos/cloudera/livy/pulls/334/comments","review_comment_url":"https://api.github.com/repos/cloudera/livy/pulls/comments{/number}","comments_url":"https://api.github.com/repos/cloudera/livy/issues/334/comments","statuses_url":"https://api.github.com/repos/cloudera/livy/statuses/789ae88c0e0264455d8c1f2fd921a23470ac1d05","head":{"label":"pralabhkumar:develop","ref":"develop","sha":"789ae88c0e0264455d8c1f2fd921a23470ac1d05","user":{"login":"pralabhkumar","id":16147255,"avatar_url":"https://avatars2.githubusercontent.com/u/16147255?v=3","gravatar_id":"","url":"https://api.github.com/users/pralabhkumar","html_url":"https://github.com/pralabhkumar","followers_url":"https://api.github.com/users/pralabhkumar/followers","following_url":"https://api.github.com/users/pralabhkumar/following{/other_user}","gists_url":"https://api.github.com/users/pralabhkumar/gists{/gist_id}","starred_url":"https://api.github.com/users/pralabhkumar/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pralabhkumar/subscriptions","organizations_url":"https://api.github.com/users/pralabhkumar/orgs","repos_url":"https://api.github.com/users/pralabhkumar/repos","events_url":"https://api.github.com/users/pralabhkumar/events{/privacy}","received_events_url":"https://api.github.com/users/pralabhkumar/received_events","type":"User","site_admin":false},"repo":{"id":87531808,"name":"livy","full_name":"pralabhkumar/livy","owner":{"login":"pralabhkumar","id":16147255,"avatar_url":"https://avatars2.githubusercontent.com/u/16147255?v=3","gravatar_id":"","url":"https://api.github.com/users/pralabhkumar","html_url":"https://github.com/pralabhkumar","followers_url":"https://api.github.com/users/pralabhkumar/followers","following_url":"https://api.github.com/users/pralabhkumar/following{/other_user}","gists_url":"https://api.github.com/users/pralabhkumar/gists{/gist_id}","starred_url":"https://api.github.com/users/pralabhkumar/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pralabhkumar/subscriptions","organizations_url":"https://api.github.com/users/pralabhkumar/orgs","repos_url":"https://api.github.com/users/pralabhkumar/repos","events_url":"https://api.github.com/users/pralabhkumar/events{/privacy}","received_events_url":"https://api.github.com/users/pralabhkumar/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/pralabhkumar/livy","description":"Livy is an open source REST interface for interacting with Apache Spark from anywhere","fork":true,"url":"https://api.github.com/repos/pralabhkumar/livy","forks_url":"https://api.github.com/repos/pralabhkumar/livy/forks","keys_url":"https://api.github.com/repos/pralabhkumar/livy/keys{/key_id}","collaborators_url":"https://api.github.com/repos/pralabhkumar/livy/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/pralabhkumar/livy/teams","hooks_url":"https://api.github.com/repos/pralabhkumar/livy/hooks","issue_events_url":"https://api.github.com/repos/pralabhkumar/livy/issues/events{/number}","events_url":"https://api.github.com/repos/pralabhkumar/livy/events","assignees_url":"https://api.github.com/repos/pralabhkumar/livy/assignees{/user}","branches_url":"https://api.github.com/repos/pralabhkumar/livy/branches{/branch}","tags_url":"https://api.github.com/repos/pralabhkumar/livy/tags","blobs_url":"https://api.github.com/repos/pralabhkumar/livy/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/pralabhkumar/livy/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/pralabhkumar/livy/git/refs{/sha}","trees_url":"https://api.github.com/repos/pralabhkumar/livy/git/trees{/sha}","statuses_url":"https://api.github.com/repos/pralabhkumar/livy/statuses/{sha}","languages_url":"https://api.github.com/repos/pralabhkumar/livy/languages","stargazers_url":"https://api.github.com/repos/pralabhkumar/livy/stargazers","contributors_url":"https://api.github.com/repos/pralabhkumar/livy/contributors","subscribers_url":"https://api.github.com/repos/pralabhkumar/livy/subscribers","subscription_url":"https://api.github.com/repos/pralabhkumar/livy/subscription","commits_url":"https://api.github.com/repos/pralabhkumar/livy/commits{/sha}","git_commits_url":"https://api.github.com/repos/pralabhkumar/livy/git/commits{/sha}","comments_url":"https://api.github.com/repos/pralabhkumar/livy/comments{/number}","issue_comment_url":"https://api.github.com/repos/pralabhkumar/livy/issues/comments{/number}","contents_url":"https://api.github.com/repos/pralabhkumar/livy/contents/{+path}","compare_url":"https://api.github.com/repos/pralabhkumar/livy/compare/{base}...{head}","merges_url":"https://api.github.com/repos/pralabhkumar/livy/merges","archive_url":"https://api.github.com/repos/pralabhkumar/livy/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/pralabhkumar/livy/downloads","issues_url":"https://api.github.com/repos/pralabhkumar/livy/issues{/number}","pulls_url":"https://api.github.com/repos/pralabhkumar/livy/pulls{/number}","milestones_url":"https://api.github.com/repos/pralabhkumar/livy/milestones{/number}","notifications_url":"https://api.github.com/repos/pralabhkumar/livy/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/pralabhkumar/livy/labels{/name}","releases_url":"https://api.github.com/repos/pralabhkumar/livy/releases{/id}","deployments_url":"https://api.github.com/repos/pralabhkumar/livy/deployments","created_at":"2017-04-07T09:55:22Z","updated_at":"2017-04-07T09:55:24Z","pushed_at":"2017-06-02T07:14:19Z","git_url":"git://github.com/pralabhkumar/livy.git","ssh_url":"git@github.com:pralabhkumar/livy.git","clone_url":"https://github.com/pralabhkumar/livy.git","svn_url":"https://github.com/pralabhkumar/livy","homepage":"http://livy.io/","size":2256,"stargazers_count":0,"watchers_count":0,"language":"Scala","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"cloudera:master","ref":"master","sha":"2abb8a3d2850c506ffd2b8a210813f1b8353045f","user":{"login":"cloudera","id":87383,"avatar_url":"https://avatars0.githubusercontent.com/u/87383?v=3","gravatar_id":"","url":"https://api.github.com/users/cloudera","html_url":"https://github.com/cloudera","followers_url":"https://api.github.com/users/cloudera/followers","following_url":"https://api.github.com/users/cloudera/following{/other_user}","gists_url":"https://api.github.com/users/cloudera/gists{/gist_id}","starred_url":"https://api.github.com/users/cloudera/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cloudera/subscriptions","organizations_url":"https://api.github.com/users/cloudera/orgs","repos_url":"https://api.github.com/users/cloudera/repos","events_url":"https://api.github.com/users/cloudera/events{/privacy}","received_events_url":"https://api.github.com/users/cloudera/received_events","type":"Organization","site_admin":false},"repo":{"id":46328956,"name":"livy","full_name":"cloudera/livy","owner":{"login":"cloudera","id":87383,"avatar_url":"https://avatars0.githubusercontent.com/u/87383?v=3","gravatar_id":"","url":"https://api.github.com/users/cloudera","html_url":"https://github.com/cloudera","followers_url":"https://api.github.com/users/cloudera/followers","following_url":"https://api.github.com/users/cloudera/following{/other_user}","gists_url":"https://api.github.com/users/cloudera/gists{/gist_id}","starred_url":"https://api.github.com/users/cloudera/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cloudera/subscriptions","organizations_url":"https://api.github.com/users/cloudera/orgs","repos_url":"https://api.github.com/users/cloudera/repos","events_url":"https://api.github.com/users/cloudera/events{/privacy}","received_events_url":"https://api.github.com/users/cloudera/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/cloudera/livy","description":"Livy is an open source REST interface for interacting with Apache Spark from anywhere","fork":false,"url":"https://api.github.com/repos/cloudera/livy","forks_url":"https://api.github.com/repos/cloudera/livy/forks","keys_url":"https://api.github.com/repos/cloudera/livy/keys{/key_id}","collaborators_url":"https://api.github.com/repos/cloudera/livy/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/cloudera/livy/teams","hooks_url":"https://api.github.com/repos/cloudera/livy/hooks","issue_events_url":"https://api.github.com/repos/cloudera/livy/issues/events{/number}","events_url":"https://api.github.com/repos/cloudera/livy/events","assignees_url":"https://api.github.com/repos/cloudera/livy/assignees{/user}","branches_url":"https://api.github.com/repos/cloudera/livy/branches{/branch}","tags_url":"https://api.github.com/repos/cloudera/livy/tags","blobs_url":"https://api.github.com/repos/cloudera/livy/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/cloudera/livy/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/cloudera/livy/git/refs{/sha}","trees_url":"https://api.github.com/repos/cloudera/livy/git/trees{/sha}","statuses_url":"https://api.github.com/repos/cloudera/livy/statuses/{sha}","languages_url":"https://api.github.com/repos/cloudera/livy/languages","stargazers_url":"https://api.github.com/repos/cloudera/livy/stargazers","contributors_url":"https://api.github.com/repos/cloudera/livy/contributors","subscribers_url":"https://api.github.com/repos/cloudera/livy/subscribers","subscription_url":"https://api.github.com/repos/cloudera/livy/subscription","commits_url":"https://api.github.com/repos/cloudera/livy/commits{/sha}","git_commits_url":"https://api.github.com/repos/cloudera/livy/git/commits{/sha}","comments_url":"https://api.github.com/repos/cloudera/livy/comments{/number}","issue_comment_url":"https://api.github.com/repos/cloudera/livy/issues/comments{/number}","contents_url":"https://api.github.com/repos/cloudera/livy/contents/{+path}","compare_url":"https://api.github.com/repos/cloudera/livy/compare/{base}...{head}","merges_url":"https://api.github.com/repos/cloudera/livy/merges","archive_url":"https://api.github.com/repos/cloudera/livy/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/cloudera/livy/downloads","issues_url":"https://api.github.com/repos/cloudera/livy/issues{/number}","pulls_url":"https://api.github.com/repos/cloudera/livy/pulls{/number}","milestones_url":"https://api.github.com/repos/cloudera/livy/milestones{/number}","notifications_url":"https://api.github.com/repos/cloudera/livy/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/cloudera/livy/labels{/name}","releases_url":"https://api.github.com/repos/cloudera/livy/releases{/id}","deployments_url":"https://api.github.com/repos/cloudera/livy/deployments","created_at":"2015-11-17T06:55:45Z","updated_at":"2017-06-03T01:45:47Z","pushed_at":"2017-06-02T07:14:21Z","git_url":"git://github.com/cloudera/livy.git","ssh_url":"git@github.com:cloudera/livy.git","clone_url":"https://github.com/cloudera/livy.git","svn_url":"https://github.com/cloudera/livy","homepage":"http://livy.io/","size":2234,"stargazers_count":517,"watchers_count":517,"language":"Scala","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":184,"mirror_url":null,"open_issues_count":25,"forks":184,"open_issues":25,"watchers":517,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/cloudera/livy/pulls/334"},"html":{"href":"https://github.com/cloudera/livy/pull/334"},"issue":{"href":"https://api.github.com/repos/cloudera/livy/issues/334"},"comments":{"href":"https://api.github.com/repos/cloudera/livy/issues/334/comments"},"review_comments":{"href":"https://api.github.com/repos/cloudera/livy/pulls/334/comments"},"review_comment":{"href":"https://api.github.com/repos/cloudera/livy/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/cloudera/livy/pulls/334/commits"},"statuses":{"href":"https://api.github.com/repos/cloudera/livy/statuses/789ae88c0e0264455d8c1f2fd921a23470ac1d05"}}}}
{"actor":{"display_login":"zjffdu"}}