XMLWordPrintable

    Details

    • Type: Improvement
    • Status: Closed (View Workflow)
    • Priority: Major
    • Resolution: Fixed
    • Component/s: remoting
    • Labels:
      None
    • Epic Link:
    • Similar Issues:

      Description

      Open sourcing the JNLPProtocol4 implementation that combines NIO with TLS encryption to resolve the regression to Thread-per-client in JNLPProtocol3

        Attachments

          Issue Links

            Activity

            Hide
            danielbeck Daniel Beck added a comment -

            Merged towards 2.16.

            Show
            danielbeck Daniel Beck added a comment - Merged towards 2.16.
            Hide
            danielbeck Daniel Beck added a comment -

            Oops, wasn't fixed by that change.

            Show
            danielbeck Daniel Beck added a comment - Oops, wasn't fixed by that change.
            Hide
            scm_issue_link SCM/JIRA link daemon added a comment -

            Code changed in jenkins
            User: Stephen Connolly
            Path:
            src/main/java/org/jenkinsci/remoting/engine/JnlpProtocol2Handler.java
            src/main/java/org/jenkinsci/remoting/engine/JnlpProtocol3Handler.java
            http://jenkins-ci.org/commit/remoting/124439ed73fce4be1fddcff40c1c6c85a00dd7ac
            Log:
            JENKINS-36871 Migrate javadoc from classes to be removed

            Show
            scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Stephen Connolly Path: src/main/java/org/jenkinsci/remoting/engine/JnlpProtocol2Handler.java src/main/java/org/jenkinsci/remoting/engine/JnlpProtocol3Handler.java http://jenkins-ci.org/commit/remoting/124439ed73fce4be1fddcff40c1c6c85a00dd7ac Log: JENKINS-36871 Migrate javadoc from classes to be removed
            Hide
            scm_issue_link SCM/JIRA link daemon added a comment -

            Code changed in jenkins
            User: Stephen Connolly
            Path:
            src/main/java/org/jenkinsci/remoting/util/ByteBufferQueueInputStream.java
            src/test/java/org/jenkinsci/remoting/util/ByteBufferQueueInputStreamTest.java
            http://jenkins-ci.org/commit/remoting/707bfe8df5ba7392c8427b271507db08cba73a6a
            Log:
            JENKINS-36871 Tests had missed some critical bugs in this ByteBufferQueueInputStream

            Show
            scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Stephen Connolly Path: src/main/java/org/jenkinsci/remoting/util/ByteBufferQueueInputStream.java src/test/java/org/jenkinsci/remoting/util/ByteBufferQueueInputStreamTest.java http://jenkins-ci.org/commit/remoting/707bfe8df5ba7392c8427b271507db08cba73a6a Log: JENKINS-36871 Tests had missed some critical bugs in this ByteBufferQueueInputStream
            Hide
            scm_issue_link SCM/JIRA link daemon added a comment -

            Code changed in jenkins
            User: Stephen Connolly
            Path:
            src/main/java/hudson/remoting/AbstractByteBufferCommandTransport.java
            http://jenkins-ci.org/commit/remoting/7062224c9e8a66a5a8acc405c43162f905158569
            Log:
            JENKINS-36871 Unnecessary reset of length

            • Also causes commands that span multiple frames to be corrupted
            Show
            scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Stephen Connolly Path: src/main/java/hudson/remoting/AbstractByteBufferCommandTransport.java http://jenkins-ci.org/commit/remoting/7062224c9e8a66a5a8acc405c43162f905158569 Log: JENKINS-36871 Unnecessary reset of length Also causes commands that span multiple frames to be corrupted
            Hide
            scm_issue_link SCM/JIRA link daemon added a comment -

            Code changed in jenkins
            User: Stephen Connolly
            Path:
            src/main/java/org/jenkinsci/remoting/protocol/impl/SSLEngineFilterLayer.java
            http://jenkins-ci.org/commit/remoting/90425ad49bac1e6502ace8ad04006c25ed72da34
            Log:
            JENKINS-36871 Found an infinite loop under certain error state disconnects

            • Don't think this affected any real protocols, but better to fix after finding
            Show
            scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Stephen Connolly Path: src/main/java/org/jenkinsci/remoting/protocol/impl/SSLEngineFilterLayer.java http://jenkins-ci.org/commit/remoting/90425ad49bac1e6502ace8ad04006c25ed72da34 Log: JENKINS-36871 Found an infinite loop under certain error state disconnects Don't think this affected any real protocols, but better to fix after finding
            Hide
            scm_issue_link SCM/JIRA link daemon added a comment -

            Code changed in jenkins
            User: Stephen Connolly
            Path:
            src/main/java/org/jenkinsci/remoting/util/KeyUtils.java
            http://jenkins-ci.org/commit/remoting/d2504bc8f461e58027b57fa2cde12dfcd7297049
            Log:
            JENKINS-36871 Slightly faster code path to get hex conversion

            • Avoids intermediate String representation. Could probably get faster still with BigInteger and zero-left-pad but it becomes harder to understand
            Show
            scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Stephen Connolly Path: src/main/java/org/jenkinsci/remoting/util/KeyUtils.java http://jenkins-ci.org/commit/remoting/d2504bc8f461e58027b57fa2cde12dfcd7297049 Log: JENKINS-36871 Slightly faster code path to get hex conversion Avoids intermediate String representation. Could probably get faster still with BigInteger and zero-left-pad but it becomes harder to understand
            Hide
            scm_issue_link SCM/JIRA link daemon added a comment -

            Code changed in jenkins
            User: Stephen Connolly
            Path:
            src/main/java/hudson/remoting/Channel.java
            http://jenkins-ci.org/commit/remoting/0ef5cac61c33550a0de5e94703dd755b5bd179d7
            Log:
            JENKINS-36871 Stop complaining when the channel is already closed

            Show
            scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Stephen Connolly Path: src/main/java/hudson/remoting/Channel.java http://jenkins-ci.org/commit/remoting/0ef5cac61c33550a0de5e94703dd755b5bd179d7 Log: JENKINS-36871 Stop complaining when the channel is already closed
            Hide
            scm_issue_link SCM/JIRA link daemon added a comment -

            Code changed in jenkins
            User: Stephen Connolly
            Path:
            src/main/java/hudson/remoting/RemoteInvocationHandler.java
            http://jenkins-ci.org/commit/remoting/adc601401d66a01c44d819a56f81c33de9c304b3
            Log:
            JENKINS-36871 When tiered compilation kicks in, sometimes you can get concurrent modification exceptions

            • They'll recover, but better is not to have to worry about it at all
            Show
            scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Stephen Connolly Path: src/main/java/hudson/remoting/RemoteInvocationHandler.java http://jenkins-ci.org/commit/remoting/adc601401d66a01c44d819a56f81c33de9c304b3 Log: JENKINS-36871 When tiered compilation kicks in, sometimes you can get concurrent modification exceptions They'll recover, but better is not to have to worry about it at all
            Hide
            scm_issue_link SCM/JIRA link daemon added a comment -

            Code changed in jenkins
            User: Stephen Connolly
            Path:
            src/main/java/hudson/remoting/Engine.java
            http://jenkins-ci.org/commit/remoting/9ad1ed1b1d570d184ee5c89f64cf5b597a81d206
            Log:
            JENKINS-36871 Suppress extra socket connection when all protocols have been tried

            • Also better setup of the SSLContext
            Show
            scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Stephen Connolly Path: src/main/java/hudson/remoting/Engine.java http://jenkins-ci.org/commit/remoting/9ad1ed1b1d570d184ee5c89f64cf5b597a81d206 Log: JENKINS-36871 Suppress extra socket connection when all protocols have been tried Also better setup of the SSLContext
            Hide
            scm_issue_link SCM/JIRA link daemon added a comment -

            Code changed in jenkins
            User: Stephen Connolly
            Path:
            src/main/java/org/jenkinsci/remoting/engine/EngineUtil.java
            http://jenkins-ci.org/commit/remoting/a065e8a9a914e9065fbead57af00715d7d30e0c0
            Log:
            JENKINS-36871 Make the method signature more generic

            Show
            scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Stephen Connolly Path: src/main/java/org/jenkinsci/remoting/engine/EngineUtil.java http://jenkins-ci.org/commit/remoting/a065e8a9a914e9065fbead57af00715d7d30e0c0 Log: JENKINS-36871 Make the method signature more generic
            Hide
            scm_issue_link SCM/JIRA link daemon added a comment -

            Code changed in jenkins
            User: Stephen Connolly
            Path:
            src/main/java/org/jenkinsci/remoting/engine/Jnlp3ConnectionState.java
            src/main/java/org/jenkinsci/remoting/engine/Jnlp4ConnectionState.java
            src/main/java/org/jenkinsci/remoting/engine/JnlpClientDatabase.java
            src/main/java/org/jenkinsci/remoting/engine/JnlpConnectionState.java
            src/main/java/org/jenkinsci/remoting/engine/JnlpProtocol1Handler.java
            src/main/java/org/jenkinsci/remoting/engine/JnlpProtocol2Handler.java
            src/main/java/org/jenkinsci/remoting/engine/JnlpProtocol3Handler.java
            src/main/java/org/jenkinsci/remoting/engine/JnlpProtocol4Handler.java
            src/main/java/org/jenkinsci/remoting/engine/JnlpProtocolHandler.java
            src/main/java/org/jenkinsci/remoting/engine/JnlpProtocolHandlerFactory.java
            src/main/java/org/jenkinsci/remoting/engine/LegacyJnlpConnectionState.java
            src/main/java/org/jenkinsci/remoting/engine/LegacyJnlpProtocolHandler.java
            http://jenkins-ci.org/commit/remoting/6449a73f157f48efe0de53255d22a63734514d42
            Log:
            JENKINS-36871 All the handlers need the client database

            Show
            scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Stephen Connolly Path: src/main/java/org/jenkinsci/remoting/engine/Jnlp3ConnectionState.java src/main/java/org/jenkinsci/remoting/engine/Jnlp4ConnectionState.java src/main/java/org/jenkinsci/remoting/engine/JnlpClientDatabase.java src/main/java/org/jenkinsci/remoting/engine/JnlpConnectionState.java src/main/java/org/jenkinsci/remoting/engine/JnlpProtocol1Handler.java src/main/java/org/jenkinsci/remoting/engine/JnlpProtocol2Handler.java src/main/java/org/jenkinsci/remoting/engine/JnlpProtocol3Handler.java src/main/java/org/jenkinsci/remoting/engine/JnlpProtocol4Handler.java src/main/java/org/jenkinsci/remoting/engine/JnlpProtocolHandler.java src/main/java/org/jenkinsci/remoting/engine/JnlpProtocolHandlerFactory.java src/main/java/org/jenkinsci/remoting/engine/LegacyJnlpConnectionState.java src/main/java/org/jenkinsci/remoting/engine/LegacyJnlpProtocolHandler.java http://jenkins-ci.org/commit/remoting/6449a73f157f48efe0de53255d22a63734514d42 Log: JENKINS-36871 All the handlers need the client database
            Hide
            scm_issue_link SCM/JIRA link daemon added a comment -

            Code changed in jenkins
            User: Stephen Connolly
            Path:
            src/main/java/org/jenkinsci/remoting/protocol/impl/ChannelApplicationLayer.java
            http://jenkins-ci.org/commit/remoting/8bb6354a188133ea8568bdb332393251ab6b06c1
            Log:
            JENKINS-36871 Correctly detect and report the channel being closed for writing

            Show
            scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Stephen Connolly Path: src/main/java/org/jenkinsci/remoting/protocol/impl/ChannelApplicationLayer.java http://jenkins-ci.org/commit/remoting/8bb6354a188133ea8568bdb332393251ab6b06c1 Log: JENKINS-36871 Correctly detect and report the channel being closed for writing
            Hide
            scm_issue_link SCM/JIRA link daemon added a comment -

            Code changed in jenkins
            User: Stephen Connolly
            Path:
            src/main/java/org/jenkinsci/remoting/protocol/impl/SSLEngineFilterLayer.java
            http://jenkins-ci.org/commit/remoting/a6e45c52a3643c2384a393e2ee8308853454f887
            Log:
            JENKINS-36871 Don't spam the logs with warnings for closed I/O or refused connections

            Show
            scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Stephen Connolly Path: src/main/java/org/jenkinsci/remoting/protocol/impl/SSLEngineFilterLayer.java http://jenkins-ci.org/commit/remoting/a6e45c52a3643c2384a393e2ee8308853454f887 Log: JENKINS-36871 Don't spam the logs with warnings for closed I/O or refused connections
            Hide
            scm_issue_link SCM/JIRA link daemon added a comment -

            Code changed in jenkins
            User: Stephen Connolly
            Path:
            src/test/java/org/jenkinsci/remoting/engine/JnlpProtocolHandlerTest.java
            http://jenkins-ci.org/commit/remoting/0ac6dc3b0acbe7019bceb223e155795364f4678f
            Log:
            JENKINS-36871 Add tests for the JnlpProtocolHandlers

            Show
            scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Stephen Connolly Path: src/test/java/org/jenkinsci/remoting/engine/JnlpProtocolHandlerTest.java http://jenkins-ci.org/commit/remoting/0ac6dc3b0acbe7019bceb223e155795364f4678f Log: JENKINS-36871 Add tests for the JnlpProtocolHandlers
            Hide
            scm_issue_link SCM/JIRA link daemon added a comment -

            Code changed in jenkins
            User: Stephen Connolly
            Path:
            src/main/java/org/jenkinsci/remoting/engine/JnlpProtocol.java
            src/main/java/org/jenkinsci/remoting/engine/JnlpProtocol1.java
            src/main/java/org/jenkinsci/remoting/engine/JnlpProtocol2.java
            src/main/java/org/jenkinsci/remoting/engine/JnlpProtocol3.java
            src/main/java/org/jenkinsci/remoting/engine/JnlpProtocolFactory.java
            src/main/java/org/jenkinsci/remoting/engine/JnlpServer3Handshake.java
            src/main/java/org/jenkinsci/remoting/engine/JnlpServerHandshake.java
            src/test/java/org/jenkinsci/remoting/engine/JnlpProtocol1Test.java
            src/test/java/org/jenkinsci/remoting/engine/JnlpProtocol2Test.java
            src/test/java/org/jenkinsci/remoting/engine/JnlpProtocol3Test.java
            src/test/java/org/jenkinsci/remoting/engine/JnlpProtocolTest.java
            http://jenkins-ci.org/commit/remoting/d999b955f2cb7cc62b39944d1cd7c4198c1474a8
            Log:
            JENKINS-36871 Remove dead classes

            Show
            scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Stephen Connolly Path: src/main/java/org/jenkinsci/remoting/engine/JnlpProtocol.java src/main/java/org/jenkinsci/remoting/engine/JnlpProtocol1.java src/main/java/org/jenkinsci/remoting/engine/JnlpProtocol2.java src/main/java/org/jenkinsci/remoting/engine/JnlpProtocol3.java src/main/java/org/jenkinsci/remoting/engine/JnlpProtocolFactory.java src/main/java/org/jenkinsci/remoting/engine/JnlpServer3Handshake.java src/main/java/org/jenkinsci/remoting/engine/JnlpServerHandshake.java src/test/java/org/jenkinsci/remoting/engine/JnlpProtocol1Test.java src/test/java/org/jenkinsci/remoting/engine/JnlpProtocol2Test.java src/test/java/org/jenkinsci/remoting/engine/JnlpProtocol3Test.java src/test/java/org/jenkinsci/remoting/engine/JnlpProtocolTest.java http://jenkins-ci.org/commit/remoting/d999b955f2cb7cc62b39944d1cd7c4198c1474a8 Log: JENKINS-36871 Remove dead classes
            Hide
            scm_issue_link SCM/JIRA link daemon added a comment -

            Code changed in jenkins
            User: Stephen Connolly
            Path:
            src/main/java/org/jenkinsci/remoting/engine/Jnlp3ConnectionState.java
            src/main/java/org/jenkinsci/remoting/engine/Jnlp4ConnectionState.java
            src/main/java/org/jenkinsci/remoting/engine/JnlpClientDatabase.java
            src/main/java/org/jenkinsci/remoting/engine/JnlpConnectionState.java
            src/main/java/org/jenkinsci/remoting/engine/JnlpConnectionStateListener.java
            src/main/java/org/jenkinsci/remoting/engine/JnlpProtocol1Handler.java
            src/main/java/org/jenkinsci/remoting/engine/JnlpProtocol2Handler.java
            src/main/java/org/jenkinsci/remoting/engine/JnlpProtocol3Handler.java
            src/main/java/org/jenkinsci/remoting/engine/JnlpProtocol4Handler.java
            src/main/java/org/jenkinsci/remoting/engine/JnlpProtocolHandler.java
            src/main/java/org/jenkinsci/remoting/engine/JnlpProtocolHandlerFactory.java
            src/main/java/org/jenkinsci/remoting/engine/LegacyJnlpConnectionState.java
            src/main/java/org/jenkinsci/remoting/engine/LegacyJnlpProtocolHandler.java
            src/test/java/org/jenkinsci/remoting/engine/JnlpProtocolHandlerTest.java
            http://jenkins-ci.org/commit/remoting/fc646c3677247843dba5a78a84e03b3d1a81e91a
            Log:
            JENKINS-36871 Fix up javadoc and copyright headers

            Compare: https://github.com/jenkinsci/remoting/compare/d2504bc8f461...fc646c367724

            Show
            scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Stephen Connolly Path: src/main/java/org/jenkinsci/remoting/engine/Jnlp3ConnectionState.java src/main/java/org/jenkinsci/remoting/engine/Jnlp4ConnectionState.java src/main/java/org/jenkinsci/remoting/engine/JnlpClientDatabase.java src/main/java/org/jenkinsci/remoting/engine/JnlpConnectionState.java src/main/java/org/jenkinsci/remoting/engine/JnlpConnectionStateListener.java src/main/java/org/jenkinsci/remoting/engine/JnlpProtocol1Handler.java src/main/java/org/jenkinsci/remoting/engine/JnlpProtocol2Handler.java src/main/java/org/jenkinsci/remoting/engine/JnlpProtocol3Handler.java src/main/java/org/jenkinsci/remoting/engine/JnlpProtocol4Handler.java src/main/java/org/jenkinsci/remoting/engine/JnlpProtocolHandler.java src/main/java/org/jenkinsci/remoting/engine/JnlpProtocolHandlerFactory.java src/main/java/org/jenkinsci/remoting/engine/LegacyJnlpConnectionState.java src/main/java/org/jenkinsci/remoting/engine/LegacyJnlpProtocolHandler.java src/test/java/org/jenkinsci/remoting/engine/JnlpProtocolHandlerTest.java http://jenkins-ci.org/commit/remoting/fc646c3677247843dba5a78a84e03b3d1a81e91a Log: JENKINS-36871 Fix up javadoc and copyright headers Compare: https://github.com/jenkinsci/remoting/compare/d2504bc8f461...fc646c367724
            Hide
            scm_issue_link SCM/JIRA link daemon added a comment -

            Code changed in jenkins
            User: Stephen Connolly
            Path:
            src/main/java/hudson/remoting/Asynchronous.java
            src/main/java/hudson/remoting/Base64.java
            src/main/java/hudson/remoting/CallableFilter.java
            src/main/java/hudson/remoting/Channel.java
            src/main/java/hudson/remoting/ClassFilter.java
            src/main/java/hudson/remoting/CommandTransport.java
            src/main/java/hudson/remoting/FastPipedInputStream.java
            src/main/java/hudson/remoting/FastPipedOutputStream.java
            src/main/java/hudson/remoting/RemoteClassLoader.java
            src/main/java/org/jenkinsci/remoting/CallableDecorator.java
            src/main/java/org/jenkinsci/remoting/Role.java
            src/main/java/org/jenkinsci/remoting/RoleSensitive.java
            src/main/java/org/jenkinsci/remoting/engine/JnlpProtocol3Handler.java
            src/main/java/org/jenkinsci/remoting/util/SettableFuture.java
            http://jenkins-ci.org/commit/remoting/aae74aec41d1c970e60602010ff77cfe0facf96e
            Log:
            JENKINS-36871 Make all the rest of the javadoc work on Java 8's strict validation

            Show
            scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Stephen Connolly Path: src/main/java/hudson/remoting/Asynchronous.java src/main/java/hudson/remoting/Base64.java src/main/java/hudson/remoting/CallableFilter.java src/main/java/hudson/remoting/Channel.java src/main/java/hudson/remoting/ClassFilter.java src/main/java/hudson/remoting/CommandTransport.java src/main/java/hudson/remoting/FastPipedInputStream.java src/main/java/hudson/remoting/FastPipedOutputStream.java src/main/java/hudson/remoting/RemoteClassLoader.java src/main/java/org/jenkinsci/remoting/CallableDecorator.java src/main/java/org/jenkinsci/remoting/Role.java src/main/java/org/jenkinsci/remoting/RoleSensitive.java src/main/java/org/jenkinsci/remoting/engine/JnlpProtocol3Handler.java src/main/java/org/jenkinsci/remoting/util/SettableFuture.java http://jenkins-ci.org/commit/remoting/aae74aec41d1c970e60602010ff77cfe0facf96e Log: JENKINS-36871 Make all the rest of the javadoc work on Java 8's strict validation
            Hide
            scm_issue_link SCM/JIRA link daemon added a comment -

            Code changed in jenkins
            User: Stephen Connolly
            Path:
            src/main/java/org/jenkinsci/remoting/engine/JnlpProtocol3Handler.java
            http://jenkins-ci.org/commit/remoting/7d003c854d4d8896bd2dcaf664caa1c806987b70
            Log:
            JENKINS-36871 Switch back to a PrintWriter

            Compare: https://github.com/jenkinsci/remoting/compare/fc646c367724...7d003c854d4d

            Show
            scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Stephen Connolly Path: src/main/java/org/jenkinsci/remoting/engine/JnlpProtocol3Handler.java http://jenkins-ci.org/commit/remoting/7d003c854d4d8896bd2dcaf664caa1c806987b70 Log: JENKINS-36871 Switch back to a PrintWriter Compare: https://github.com/jenkinsci/remoting/compare/fc646c367724...7d003c854d4d
            Hide
            scm_issue_link SCM/JIRA link daemon added a comment -

            Code changed in jenkins
            User: Stephen Connolly
            Path:
            src/main/java/org/jenkinsci/remoting/protocol/IOHub.java
            http://jenkins-ci.org/commit/remoting/38cd6e424705ff64df68080ab0df9a3a4468a56a
            Log:
            JENKINS-36871 Optimize hot code path

            Show
            scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Stephen Connolly Path: src/main/java/org/jenkinsci/remoting/protocol/IOHub.java http://jenkins-ci.org/commit/remoting/38cd6e424705ff64df68080ab0df9a3a4468a56a Log: JENKINS-36871 Optimize hot code path
            Hide
            scm_issue_link SCM/JIRA link daemon added a comment -

            Code changed in jenkins
            User: Stephen Connolly
            Path:
            src/main/java/org/jenkinsci/remoting/util/ByteBufferQueue.java
            src/main/java/org/jenkinsci/remoting/util/ByteBufferQueueInputStream.java
            http://jenkins-ci.org/commit/remoting/bbb5865e7cd18ad6854c12ab03d1d5e5e424ec0f
            Log:
            JENKINS-36871 Remove intermediary ByteBuffer.wrap for simple case

            Show
            scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Stephen Connolly Path: src/main/java/org/jenkinsci/remoting/util/ByteBufferQueue.java src/main/java/org/jenkinsci/remoting/util/ByteBufferQueueInputStream.java http://jenkins-ci.org/commit/remoting/bbb5865e7cd18ad6854c12ab03d1d5e5e424ec0f Log: JENKINS-36871 Remove intermediary ByteBuffer.wrap for simple case
            Hide
            scm_issue_link SCM/JIRA link daemon added a comment -

            Code changed in jenkins
            User: Stephen Connolly
            Path:
            src/main/java/org/jenkinsci/remoting/util/ByteBufferQueue.java
            src/main/java/org/jenkinsci/remoting/util/ByteBufferQueueOutputStream.java
            http://jenkins-ci.org/commit/remoting/d40ca3d1870174d017a432b0f85ca40f3ee8c270
            Log:
            JENKINS-36871 Remove intermediary ByteBuffer.wrap for simple case

            Show
            scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Stephen Connolly Path: src/main/java/org/jenkinsci/remoting/util/ByteBufferQueue.java src/main/java/org/jenkinsci/remoting/util/ByteBufferQueueOutputStream.java http://jenkins-ci.org/commit/remoting/d40ca3d1870174d017a432b0f85ca40f3ee8c270 Log: JENKINS-36871 Remove intermediary ByteBuffer.wrap for simple case
            Hide
            scm_issue_link SCM/JIRA link daemon added a comment -

            Code changed in jenkins
            User: Stephen Connolly
            Path:
            src/test/java/org/jenkinsci/remoting/engine/HandlerLoopbackLoadStress.java
            http://jenkins-ci.org/commit/remoting/4bc69f2886d63734e00b000673af4ff00b8f3dd6
            Log:
            JENKINS-36871 Test bed for stressing out handler implementations

            Show
            scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Stephen Connolly Path: src/test/java/org/jenkinsci/remoting/engine/HandlerLoopbackLoadStress.java http://jenkins-ci.org/commit/remoting/4bc69f2886d63734e00b000673af4ff00b8f3dd6 Log: JENKINS-36871 Test bed for stressing out handler implementations
            Hide
            scm_issue_link SCM/JIRA link daemon added a comment -

            Code changed in jenkins
            User: Stephen Connolly
            Path:
            src/main/java/org/jenkinsci/remoting/protocol/FilterLayer.java
            src/main/java/org/jenkinsci/remoting/protocol/ProtocolStack.java
            http://jenkins-ci.org/commit/remoting/75c4cf7c8ee6c2c464300efd8664c648ba6d6eb0
            Log:
            JENKINS-36871 Allow a filter to call `completed()` from both the receive and send sides without bombing out.

            Prevents stack traces such as

            ```
            Exception in thread "main" java.lang.IllegalStateException: Filter has already been completed
            at org.jenkinsci.remoting.protocol.FilterLayer.completed(FilterLayer.java:106)
            at org.jenkinsci.remoting.protocol.impl.ConnectionHeadersFilterLayer.complete(ConnectionHeadersFilterLayer.java:365)
            at org.jenkinsci.remoting.protocol.impl.ConnectionHeadersFilterLayer.doSend(ConnectionHeadersFilterLayer.java:498)
            at org.jenkinsci.remoting.protocol.ProtocolStack$Ptr.doSend(ProtocolStack.java:691)
            at org.jenkinsci.remoting.protocol.ApplicationLayer.write(ApplicationLayer.java:157)
            at org.jenkinsci.remoting.protocol.impl.ChannelApplicationLayer.start(ChannelApplicationLayer.java:226)
            at org.jenkinsci.remoting.protocol.ProtocolStack.init(ProtocolStack.java:202)
            at org.jenkinsci.remoting.protocol.ProtocolStack.access$700(ProtocolStack.java:107)
            at org.jenkinsci.remoting.protocol.ProtocolStack$Builder.build(ProtocolStack.java:555)
            at org.jenkinsci.remoting.engine.JnlpProtocol4PlainHandler.connect(JnlpProtocol4PlainHandler.java:149)
            at org.jenkinsci.remoting.engine.JnlpProtocolHandler.connect(JnlpProtocolHandler.java:140)
            at org.jenkinsci.remoting.engine.HandlerLoopbackLoadStress.startClient(HandlerLoopbackLoadStress.java:466)
            at org.jenkinsci.remoting.engine.HandlerLoopbackLoadStress.main(HandlerLoopbackLoadStress.java:426)
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
            at java.lang.reflect.Method.invoke(Method.java:498)
            at com.intellij.rt.execution.application.AppMain.main(AppMain.java:147)
            ```

            Show
            scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Stephen Connolly Path: src/main/java/org/jenkinsci/remoting/protocol/FilterLayer.java src/main/java/org/jenkinsci/remoting/protocol/ProtocolStack.java http://jenkins-ci.org/commit/remoting/75c4cf7c8ee6c2c464300efd8664c648ba6d6eb0 Log: JENKINS-36871 Allow a filter to call `completed()` from both the receive and send sides without bombing out. Prevents stack traces such as ``` Exception in thread "main" java.lang.IllegalStateException: Filter has already been completed at org.jenkinsci.remoting.protocol.FilterLayer.completed(FilterLayer.java:106) at org.jenkinsci.remoting.protocol.impl.ConnectionHeadersFilterLayer.complete(ConnectionHeadersFilterLayer.java:365) at org.jenkinsci.remoting.protocol.impl.ConnectionHeadersFilterLayer.doSend(ConnectionHeadersFilterLayer.java:498) at org.jenkinsci.remoting.protocol.ProtocolStack$Ptr.doSend(ProtocolStack.java:691) at org.jenkinsci.remoting.protocol.ApplicationLayer.write(ApplicationLayer.java:157) at org.jenkinsci.remoting.protocol.impl.ChannelApplicationLayer.start(ChannelApplicationLayer.java:226) at org.jenkinsci.remoting.protocol.ProtocolStack.init(ProtocolStack.java:202) at org.jenkinsci.remoting.protocol.ProtocolStack.access$700(ProtocolStack.java:107) at org.jenkinsci.remoting.protocol.ProtocolStack$Builder.build(ProtocolStack.java:555) at org.jenkinsci.remoting.engine.JnlpProtocol4PlainHandler.connect(JnlpProtocol4PlainHandler.java:149) at org.jenkinsci.remoting.engine.JnlpProtocolHandler.connect(JnlpProtocolHandler.java:140) at org.jenkinsci.remoting.engine.HandlerLoopbackLoadStress.startClient(HandlerLoopbackLoadStress.java:466) at org.jenkinsci.remoting.engine.HandlerLoopbackLoadStress.main(HandlerLoopbackLoadStress.java:426) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at com.intellij.rt.execution.application.AppMain.main(AppMain.java:147) ```
            Hide
            scm_issue_link SCM/JIRA link daemon added a comment -

            Code changed in jenkins
            User: Stephen Connolly
            Path:
            src/main/java/org/jenkinsci/remoting/protocol/IOHub.java
            http://jenkins-ci.org/commit/remoting/6da1cb4c1f09583382195b4608a2759d49fd65b3
            Log:
            JENKINS-36871 Using a single final class allows for inlining of hot method

            Show
            scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Stephen Connolly Path: src/main/java/org/jenkinsci/remoting/protocol/IOHub.java http://jenkins-ci.org/commit/remoting/6da1cb4c1f09583382195b4608a2759d49fd65b3 Log: JENKINS-36871 Using a single final class allows for inlining of hot method
            Hide
            scm_issue_link SCM/JIRA link daemon added a comment -

            Code changed in jenkins
            User: Stephen Connolly
            Path:
            src/test/java/org/jenkinsci/remoting/util/ByteBufferQueueTest.java
            http://jenkins-ci.org/commit/remoting/d942165c92e31b6b2e716e61e1ce6c9e74269357
            Log:
            JENKINS-36871 Add some more test cases

            Show
            scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Stephen Connolly Path: src/test/java/org/jenkinsci/remoting/util/ByteBufferQueueTest.java http://jenkins-ci.org/commit/remoting/d942165c92e31b6b2e716e61e1ce6c9e74269357 Log: JENKINS-36871 Add some more test cases
            Hide
            scm_issue_link SCM/JIRA link daemon added a comment -

            Code changed in jenkins
            User: Stephen Connolly
            Path:
            src/main/java/org/jenkinsci/remoting/protocol/IOHub.java
            http://jenkins-ci.org/commit/remoting/4b291b3ab370e1ddee8b656c96cef636a86c6573
            Log:
            JENKINS-36871 WIndows!?!

            Show
            scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Stephen Connolly Path: src/main/java/org/jenkinsci/remoting/protocol/IOHub.java http://jenkins-ci.org/commit/remoting/4b291b3ab370e1ddee8b656c96cef636a86c6573 Log: JENKINS-36871 WIndows!?!
            Hide
            scm_issue_link SCM/JIRA link daemon added a comment -

            Code changed in jenkins
            User: Stephen Connolly
            Path:
            src/main/java/org/jenkinsci/remoting/util/ByteBufferQueue.java
            http://jenkins-ci.org/commit/remoting/6cd91459c8b0e263e907ccdad271ba327e020d93
            Log:
            JENKINS-36871 Improve single-byte `get()` performance

            Show
            scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Stephen Connolly Path: src/main/java/org/jenkinsci/remoting/util/ByteBufferQueue.java http://jenkins-ci.org/commit/remoting/6cd91459c8b0e263e907ccdad271ba327e020d93 Log: JENKINS-36871 Improve single-byte `get()` performance
            Hide
            scm_issue_link SCM/JIRA link daemon added a comment -

            Code changed in jenkins
            User: Stephen Connolly
            Path:
            src/main/java/org/jenkinsci/remoting/util/ByteBufferQueueInputStream.java
            http://jenkins-ci.org/commit/remoting/74bf4fa676837b682ced32ad684474001e525665
            Log:
            JENKINS-36871 Optimize single byte `read()` performance

            Show
            scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Stephen Connolly Path: src/main/java/org/jenkinsci/remoting/util/ByteBufferQueueInputStream.java http://jenkins-ci.org/commit/remoting/74bf4fa676837b682ced32ad684474001e525665 Log: JENKINS-36871 Optimize single byte `read()` performance
            Hide
            scm_issue_link SCM/JIRA link daemon added a comment -

            Code changed in jenkins
            User: Stephen Connolly
            Path:
            src/main/java/org/jenkinsci/remoting/util/FastByteBufferQueueInputStream.java
            src/test/java/org/jenkinsci/remoting/util/FastByteBufferQueueInputStreamTest.java
            http://jenkins-ci.org/commit/remoting/8e595fcd116d0df7f712a1ac41d7188a1b943b6f
            Log:
            JENKINS-36871 Stripped back higher performance ByteBufferQueue InputStream implementation

            • Drops support for mark and unbounded read in return for faster performance
            Show
            scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Stephen Connolly Path: src/main/java/org/jenkinsci/remoting/util/FastByteBufferQueueInputStream.java src/test/java/org/jenkinsci/remoting/util/FastByteBufferQueueInputStreamTest.java http://jenkins-ci.org/commit/remoting/8e595fcd116d0df7f712a1ac41d7188a1b943b6f Log: JENKINS-36871 Stripped back higher performance ByteBufferQueue InputStream implementation Drops support for mark and unbounded read in return for faster performance
            Hide
            scm_issue_link SCM/JIRA link daemon added a comment -

            Code changed in jenkins
            User: Stephen Connolly
            Path:
            src/main/java/hudson/remoting/AbstractByteBufferCommandTransport.java
            http://jenkins-ci.org/commit/remoting/3c0db40c31165dea74cac5791adae4e99c179bad
            Log:
            JENKINS-36871 Switch to FastByteBufferQueueInputStream

            • We don't need the general purpose mark support or unbounded reads, so lets get more performance
            Show
            scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Stephen Connolly Path: src/main/java/hudson/remoting/AbstractByteBufferCommandTransport.java http://jenkins-ci.org/commit/remoting/3c0db40c31165dea74cac5791adae4e99c179bad Log: JENKINS-36871 Switch to FastByteBufferQueueInputStream We don't need the general purpose mark support or unbounded reads, so lets get more performance
            Hide
            scm_issue_link SCM/JIRA link daemon added a comment -

            Code changed in jenkins
            User: Stephen Connolly
            Path:
            src/main/java/org/jenkinsci/remoting/protocol/ProtocolStack.java
            http://jenkins-ci.org/commit/remoting/b5656c06abb78a2c384fbcee631107a3b476f164
            Log:
            JENKINS-36871 Halve the number of stack walks when checking if open

            Show
            scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Stephen Connolly Path: src/main/java/org/jenkinsci/remoting/protocol/ProtocolStack.java http://jenkins-ci.org/commit/remoting/b5656c06abb78a2c384fbcee631107a3b476f164 Log: JENKINS-36871 Halve the number of stack walks when checking if open
            Hide
            scm_issue_link SCM/JIRA link daemon added a comment -

            Code changed in jenkins
            User: Stephen Connolly
            Path:
            src/main/java/org/jenkinsci/remoting/engine/JnlpProtocol1Handler.java
            src/main/java/org/jenkinsci/remoting/engine/JnlpProtocol2Handler.java
            src/main/java/org/jenkinsci/remoting/engine/JnlpProtocol3Handler.java
            src/main/java/org/jenkinsci/remoting/engine/JnlpProtocol4Handler.java
            src/main/java/org/jenkinsci/remoting/engine/JnlpProtocol4PlainHandler.java
            src/main/java/org/jenkinsci/remoting/engine/JnlpProtocolHandler.java
            src/main/java/org/jenkinsci/remoting/engine/JnlpProtocolHandlerFactory.java
            src/main/java/org/jenkinsci/remoting/engine/LegacyJnlpProtocolHandler.java
            src/test/java/org/jenkinsci/remoting/engine/JnlpProtocolHandlerTest.java
            http://jenkins-ci.org/commit/remoting/1edda2be2a24732a2ff184207d859468d69b4877
            Log:
            JENKINS-36871 Blocking I/O is faster when you have very few connections, so allow preference declaration

            Show
            scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Stephen Connolly Path: src/main/java/org/jenkinsci/remoting/engine/JnlpProtocol1Handler.java src/main/java/org/jenkinsci/remoting/engine/JnlpProtocol2Handler.java src/main/java/org/jenkinsci/remoting/engine/JnlpProtocol3Handler.java src/main/java/org/jenkinsci/remoting/engine/JnlpProtocol4Handler.java src/main/java/org/jenkinsci/remoting/engine/JnlpProtocol4PlainHandler.java src/main/java/org/jenkinsci/remoting/engine/JnlpProtocolHandler.java src/main/java/org/jenkinsci/remoting/engine/JnlpProtocolHandlerFactory.java src/main/java/org/jenkinsci/remoting/engine/LegacyJnlpProtocolHandler.java src/test/java/org/jenkinsci/remoting/engine/JnlpProtocolHandlerTest.java http://jenkins-ci.org/commit/remoting/1edda2be2a24732a2ff184207d859468d69b4877 Log: JENKINS-36871 Blocking I/O is faster when you have very few connections, so allow preference declaration
            Hide
            scm_issue_link SCM/JIRA link daemon added a comment -

            Code changed in jenkins
            User: Stephen Connolly
            Path:
            LICENSE.md
            NOTICE
            http://jenkins-ci.org/commit/remoting/c8be8453dbee9cb3c7156307fa64b5c6a0618149
            Log:
            JENKINS-36871 The code was missing a NOTICE and LICENSE files

            • You'll see why I spotted this next
            Show
            scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Stephen Connolly Path: LICENSE.md NOTICE http://jenkins-ci.org/commit/remoting/c8be8453dbee9cb3c7156307fa64b5c6a0618149 Log: JENKINS-36871 The code was missing a NOTICE and LICENSE files You'll see why I spotted this next
            Hide
            scm_issue_link SCM/JIRA link daemon added a comment -

            Code changed in jenkins
            User: Stephen Connolly
            Path:
            pom.xml
            src/assembly/agent-load-test.xml
            src/assembly/agent-load-test/LICENSE.md
            src/assembly/agent-load-test/NOTICE
            src/assembly/agent-load-test/README.md
            src/assembly/agent-load-test/agent-load-test
            src/assembly/agent-load-test/agent-load-test.bat
            src/test/java/org/jenkinsci/remoting/engine/HandlerLoopbackLoadStress.java
            http://jenkins-ci.org/commit/remoting/19093e34f77f6beb0af6d767addb75bee09ef0e6
            Log:
            JENKINS-36871 Add a load testing client

            • This needs its own LICENSE and NOTICE files as it includes things like JUnit
            Show
            scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Stephen Connolly Path: pom.xml src/assembly/agent-load-test.xml src/assembly/agent-load-test/LICENSE.md src/assembly/agent-load-test/NOTICE src/assembly/agent-load-test/README.md src/assembly/agent-load-test/agent-load-test src/assembly/agent-load-test/agent-load-test.bat src/test/java/org/jenkinsci/remoting/engine/HandlerLoopbackLoadStress.java http://jenkins-ci.org/commit/remoting/19093e34f77f6beb0af6d767addb75bee09ef0e6 Log: JENKINS-36871 Add a load testing client This needs its own LICENSE and NOTICE files as it includes things like JUnit
            Hide
            scm_issue_link SCM/JIRA link daemon added a comment -

            Code changed in jenkins
            User: Stephen Connolly
            Path:
            src/main/java/hudson/remoting/Engine.java
            http://jenkins-ci.org/commit/remoting/41841e520b6cfec0bb1179cf33ef969aec230886
            Log:
            JENKINS-36871 Use Blocking-I/O for the clients

            Show
            scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Stephen Connolly Path: src/main/java/hudson/remoting/Engine.java http://jenkins-ci.org/commit/remoting/41841e520b6cfec0bb1179cf33ef969aec230886 Log: JENKINS-36871 Use Blocking-I/O for the clients
            Hide
            scm_issue_link SCM/JIRA link daemon added a comment -

            Code changed in jenkins
            User: Stephen Connolly
            Path:
            src/test/java/org/jenkinsci/remoting/engine/JnlpProtocolHandlerTest.java
            http://jenkins-ci.org/commit/remoting/0529c154be04e030855a801e65cd0d096ae8130f
            Log:
            JENKINS-36871 Test timing is needs longer when dealing with slower build agents

            Compare: https://github.com/jenkinsci/remoting/compare/19093e34f77f...0529c154be04

            Show
            scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Stephen Connolly Path: src/test/java/org/jenkinsci/remoting/engine/JnlpProtocolHandlerTest.java http://jenkins-ci.org/commit/remoting/0529c154be04e030855a801e65cd0d096ae8130f Log: JENKINS-36871 Test timing is needs longer when dealing with slower build agents Compare: https://github.com/jenkinsci/remoting/compare/19093e34f77f...0529c154be04
            Hide
            scm_issue_link SCM/JIRA link daemon added a comment -

            Code changed in jenkins
            User: Stephen Connolly
            Path:
            src/main/java/org/jenkinsci/remoting/engine/JnlpProtocol4Handler.java
            src/main/java/org/jenkinsci/remoting/engine/JnlpProtocol4PlainHandler.java
            http://jenkins-ci.org/commit/remoting/2ce2f8ac22816813b413f09b37d2c05151eb1b3a
            Log:
            JENKINS-36871 Fix failing tests

            Show
            scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Stephen Connolly Path: src/main/java/org/jenkinsci/remoting/engine/JnlpProtocol4Handler.java src/main/java/org/jenkinsci/remoting/engine/JnlpProtocol4PlainHandler.java http://jenkins-ci.org/commit/remoting/2ce2f8ac22816813b413f09b37d2c05151eb1b3a Log: JENKINS-36871 Fix failing tests
            Hide
            scm_issue_link SCM/JIRA link daemon added a comment -

            Code changed in jenkins
            User: Stephen Connolly
            Path:
            src/test/java/org/jenkinsci/remoting/engine/JnlpProtocolHandlerTest.java
            http://jenkins-ci.org/commit/remoting/ac9bcabdb7a69e0cf8e49ca92ce9cad8fd9b6842
            Log:
            JENKINS-36871 Forgot to test JNLP4-plaintext

            Compare: https://github.com/jenkinsci/remoting/compare/0529c154be04...ac9bcabdb7a6

            Show
            scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Stephen Connolly Path: src/test/java/org/jenkinsci/remoting/engine/JnlpProtocolHandlerTest.java http://jenkins-ci.org/commit/remoting/ac9bcabdb7a69e0cf8e49ca92ce9cad8fd9b6842 Log: JENKINS-36871 Forgot to test JNLP4-plaintext Compare: https://github.com/jenkinsci/remoting/compare/0529c154be04...ac9bcabdb7a6
            Hide
            mbarr Matthew Barr added a comment -

            Is there any way to tell when this might be released? We're very interested in this work.

            It sounds like this needs a remoting release, which will later make it's way to a jenkins release.

            (We might also be willing to test a nightly, but I'm going to have to figure out a bit more of the process first.)

            Show
            mbarr Matthew Barr added a comment - Is there any way to tell when this might be released? We're very interested in this work. It sounds like this needs a remoting release, which will later make it's way to a jenkins release. (We might also be willing to test a nightly, but I'm going to have to figure out a bit more of the process first.)
            Hide
            antoniobeyah Antonio Beyah added a comment -

            +1, also interested in this. Any update on when this is expected to be released?

            Show
            antoniobeyah Antonio Beyah added a comment - +1, also interested in this. Any update on when this is expected to be released?
            Hide
            oleg_nenashev Oleg Nenashev added a comment -

            Marking it as Resolved. We're preparing to the Remoting 3.0 release right now

            Show
            oleg_nenashev Oleg Nenashev added a comment - Marking it as Resolved. We're preparing to the Remoting 3.0 release right now
            Hide
            scm_issue_link SCM/JIRA link daemon added a comment -

            Code changed in jenkins
            User: Stephen Connolly
            Path:
            core/src/main/java/jenkins/slaves/DefaultJnlpSlaveReceiver.java
            core/src/main/java/jenkins/slaves/IOHubProvider.java
            core/src/main/java/jenkins/slaves/JnlpAgentReceiver.java
            core/src/main/java/jenkins/slaves/JnlpSlaveAgentProtocol.java
            core/src/main/java/jenkins/slaves/JnlpSlaveAgentProtocol2.java
            core/src/main/java/jenkins/slaves/JnlpSlaveAgentProtocol3.java
            core/src/main/java/jenkins/slaves/JnlpSlaveAgentProtocol4.java
            core/src/main/java/jenkins/slaves/JnlpSlaveHandshake.java
            core/src/main/resources/jenkins/slaves/JnlpSlaveAgentProtocol4/description.jelly
            core/src/main/resources/jenkins/slaves/Messages.properties
            core/src/test/java/jenkins/slaves/DefaultJnlpSlaveReceiverTest.java
            pom.xml
            http://jenkins-ci.org/commit/jenkins/71cbe0cc7c601c04509faa618b23194335288fee
            Log:
            [JENKINS-36871, JENKINS-37565] JNLP4-connect implementation and Remoting 3 (#2492)

            • JENKINS-36871 Switch to the new JnlpProtocolHandler based implementation

            Todo

            • [ ] Restore the cookie behaviour (but done right this time)
            • [ ] Perhaps investigate issuing clients with TLS certificates (but would require a UI for managing them)
            • JENKINS-36871 Oleg wants to log an exception that cannot happen
            Show
            scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Stephen Connolly Path: core/src/main/java/jenkins/slaves/DefaultJnlpSlaveReceiver.java core/src/main/java/jenkins/slaves/IOHubProvider.java core/src/main/java/jenkins/slaves/JnlpAgentReceiver.java core/src/main/java/jenkins/slaves/JnlpSlaveAgentProtocol.java core/src/main/java/jenkins/slaves/JnlpSlaveAgentProtocol2.java core/src/main/java/jenkins/slaves/JnlpSlaveAgentProtocol3.java core/src/main/java/jenkins/slaves/JnlpSlaveAgentProtocol4.java core/src/main/java/jenkins/slaves/JnlpSlaveHandshake.java core/src/main/resources/jenkins/slaves/JnlpSlaveAgentProtocol4/description.jelly core/src/main/resources/jenkins/slaves/Messages.properties core/src/test/java/jenkins/slaves/DefaultJnlpSlaveReceiverTest.java pom.xml http://jenkins-ci.org/commit/jenkins/71cbe0cc7c601c04509faa618b23194335288fee Log: [JENKINS-36871, JENKINS-37565] JNLP4-connect implementation and Remoting 3 (#2492) JENKINS-36871 Switch to the new JnlpProtocolHandler based implementation Todo [ ] Restore the cookie behaviour (but done right this time) [ ] Perhaps investigate issuing clients with TLS certificates (but would require a UI for managing them) JENKINS-36871 License headers and javadocs JENKINS-36871 Restore cookie handling JENKINS-36871 Integrating Agent discovery components JENKINS-36871 Pick up remoting 3.0-SNAPSHOT JENKINS-36871 Pick up newer snapshot JENKINS-36871 Oleg wants to log an exception that cannot happen
            Hide
            oleg_nenashev Oleg Nenashev added a comment -

            The fix is integrated towards 2.27

            Show
            oleg_nenashev Oleg Nenashev added a comment - The fix is integrated towards 2.27
            Hide
            sag47 Sam Gleske added a comment - - edited

            How does one confirm that JNLP4 is being used? I tried the latest Jenkins ver. 2.38 (weekly) and configured a JNLP slave (there's no option to configure what kind of JNLP slave).

            Additionally, the agent logs don't show much in the way of output confirming which JNLP protocol is even being used. Here's the full log output from the initialization of the JNLP slave.

            JNLP agent connected from /REDACTED
            <===[JENKINS REMOTING CAPACITY]===>Slave.jar version: 3.3
            This is a Unix agent
            Agent successfully connected and online
            

            So far, I'm not sure how to tell what protocol is being used.

            Show
            sag47 Sam Gleske added a comment - - edited How does one confirm that JNLP4 is being used? I tried the latest Jenkins ver. 2.38 (weekly) and configured a JNLP slave (there's no option to configure what kind of JNLP slave). Additionally, the agent logs don't show much in the way of output confirming which JNLP protocol is even being used. Here's the full log output from the initialization of the JNLP slave. JNLP agent connected from /REDACTED <===[JENKINS REMOTING CAPACITY]===>Slave.jar version: 3.3 This is a Unix agent Agent successfully connected and online So far, I'm not sure how to tell what protocol is being used.
            Hide
            sag47 Sam Gleske added a comment -

            Nevermind, I found it in Manage Jenkins > Configure Global Security > JNLP. In the Advanced section, you have to enable JNLP4 (and can optionally disable the other protocols). Then if you look at the agent log you can see the JNLP4 class being used in the thread dump output. It would be nice if the agent Log output displayed which protocol it is using in the agent startup information.

            Show
            sag47 Sam Gleske added a comment - Nevermind, I found it in Manage Jenkins > Configure Global Security > JNLP . In the Advanced section, you have to enable JNLP4 (and can optionally disable the other protocols). Then if you look at the agent log you can see the JNLP4 class being used in the thread dump output. It would be nice if the agent Log output displayed which protocol it is using in the agent startup information.
            Hide
            sag47 Sam Gleske added a comment -

            It would be nice if the agent Log output displayed which protocol it is using in the agent startup information.

            I created JENKINS-40700 as an enhancement.

            Show
            sag47 Sam Gleske added a comment - It would be nice if the agent Log output displayed which protocol it is using in the agent startup information. I created JENKINS-40700 as an enhancement.

              People

              • Assignee:
                stephenconnolly Stephen Connolly
                Reporter:
                stephenconnolly Stephen Connolly
              • Votes:
                2 Vote for this issue
                Watchers:
                9 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: