{"action":"created","issue":{"url":"https://api.github.com/repos/jenkinsci/remoting/issues/92","repository_url":"https://api.github.com/repos/jenkinsci/remoting","labels_url":"https://api.github.com/repos/jenkinsci/remoting/issues/92/labels{/name}","comments_url":"https://api.github.com/repos/jenkinsci/remoting/issues/92/comments","events_url":"https://api.github.com/repos/jenkinsci/remoting/issues/92/events","html_url":"https://github.com/jenkinsci/remoting/pull/92","id":167891000,"number":92,"title":"[JENKINS-36871] JNLPProtocol4","user":{"login":"stephenc","id":209336,"avatar_url":"https://avatars.githubusercontent.com/u/209336?v=3","gravatar_id":"","url":"https://api.github.com/users/stephenc","html_url":"https://github.com/stephenc","followers_url":"https://api.github.com/users/stephenc/followers","following_url":"https://api.github.com/users/stephenc/following{/other_user}","gists_url":"https://api.github.com/users/stephenc/gists{/gist_id}","starred_url":"https://api.github.com/users/stephenc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/stephenc/subscriptions","organizations_url":"https://api.github.com/users/stephenc/orgs","repos_url":"https://api.github.com/users/stephenc/repos","events_url":"https://api.github.com/users/stephenc/events{/privacy}","received_events_url":"https://api.github.com/users/stephenc/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/jenkinsci/remoting/labels/needs-review","name":"needs-review","color":"f9d0c4"}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":6,"created_at":"2016-07-27T15:59:01Z","updated_at":"2016-08-08T14:19:58Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/jenkinsci/remoting/pulls/92","html_url":"https://github.com/jenkinsci/remoting/pull/92","diff_url":"https://github.com/jenkinsci/remoting/pull/92.diff","patch_url":"https://github.com/jenkinsci/remoting/pull/92.patch"},"body":"This is a JNLP protocol that uses TLS upgrade over the plaintext socket before exchanging any connection secrets and allows for end-to-end security leveraging the TLS certificates on the Jenkins master HTTPS end-point where the master is using TLS on the web UI.\r\n\r\nInitial measurements show that the TLS encryption using SSLEngine coupled with the ByteBuffer backed NIO implementation does not seem to have any negative performance impact. Additionally the new NIO implementation shows significantly better scalability and performance due to the offloading of I/O processing to the worker threads (this was necessary for to use SSLEngine, but a nice side-effect when compared with the previous NIO implementation (i.e. JNLPProtocol2) which does the actual I/O processing on the selector thread and thus can cause excessive transport delays when the selector thread becomes overloaded)\r\n\r\nSee [JENKINS-36871](https://issues.jenkins-ci.org/browse/JENKINS-36871) for the tracking issue.\r\n\r\nThis code is being contributed to the Jenkins Community by CloudBees, Inc. (though some of this code was work developed by me in personal time, but I am contributing that to the Jenkins Community anyway)\r\n\r\nWork in progress while I complete our internal process for all the files required to be released."},"comment":{"url":"https://api.github.com/repos/jenkinsci/remoting/issues/comments/238252277","html_url":"https://github.com/jenkinsci/remoting/pull/92#issuecomment-238252277","issue_url":"https://api.github.com/repos/jenkinsci/remoting/issues/92","id":238252277,"user":{"login":"reviewbybees","id":10512980,"avatar_url":"https://avatars.githubusercontent.com/u/10512980?v=3","gravatar_id":"","url":"https://api.github.com/users/reviewbybees","html_url":"https://github.com/reviewbybees","followers_url":"https://api.github.com/users/reviewbybees/followers","following_url":"https://api.github.com/users/reviewbybees/following{/other_user}","gists_url":"https://api.github.com/users/reviewbybees/gists{/gist_id}","starred_url":"https://api.github.com/users/reviewbybees/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/reviewbybees/subscriptions","organizations_url":"https://api.github.com/users/reviewbybees/orgs","repos_url":"https://api.github.com/users/reviewbybees/repos","events_url":"https://api.github.com/users/reviewbybees/events{/privacy}","received_events_url":"https://api.github.com/users/reviewbybees/received_events","type":"User","site_admin":false},"created_at":"2016-08-08T14:19:58Z","updated_at":"2016-08-08T14:19:58Z","body":"This pull request originates from a [CloudBees](https://www.cloudbees.com/) employee. At CloudBees, we require that all pull requests be reviewed by other CloudBees employees before we seek to have the change accepted. If you want to learn more about our process please see [this explanation](https://github.com/reviewbybees/about#about-reviewbybees).\n"}}
{"actor":{"display_login":"reviewbybees"}}