Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-23378

Raise minimum requirement to servlet 3.1

    XMLWordPrintable

    Details

    • Type: New Feature
    • Status: Resolved (View Workflow)
    • Priority: Major
    • Resolution: Fixed
    • Component/s: core
    • Labels:
    • Similar Issues:

      Description

      This issue is a trial balloon to see how people think of us moving to Servlet 3.0 as the minimum requirement for Jenkins to improve user experience.

      If you have thoughts about this (including arguments against this), please make your case as a comment, so that we can make an informed decision.

        Attachments

          Issue Links

            Activity

            kohsuke Kohsuke Kawaguchi created issue -
            Show
            kohsuke Kohsuke Kawaguchi added a comment - See http://jenkins-ci.org/content/thinking-about-moving-servlet-30 for the context.
            Hide
            domi Dominik Bartholdi added a comment -

            I think this is fine and we should just go on with this.
            If someone has an issue with this, then he does not have to update to the latest version until he is ready.

            In general I think the level of compatibility we try to fulfil with jenkins is not healthy for the project anymore...

            Show
            domi Dominik Bartholdi added a comment - I think this is fine and we should just go on with this. If someone has an issue with this, then he does not have to update to the latest version until he is ready. In general I think the level of compatibility we try to fulfil with jenkins is not healthy for the project anymore...
            Hide
            rsandell rsandell added a comment -

            I've been trying to get the support guys to upgrade our Jenkins env to tomcat7 for a while now, but we keep backing down to tomcat6 as soon as instabilities arise.
            So I'm for this change as it would force us to actually take the leap

            Show
            rsandell rsandell added a comment - I've been trying to get the support guys to upgrade our Jenkins env to tomcat7 for a while now, but we keep backing down to tomcat6 as soon as instabilities arise. So I'm for this change as it would force us to actually take the leap
            Hide
            kreyssel Conny Kreyßel added a comment -

            +1 for the Switch. Guys using tomcat6 should be able to move to tomcat7.

            Show
            kreyssel Conny Kreyßel added a comment - +1 for the Switch. Guys using tomcat6 should be able to move to tomcat7.
            Hide
            mrebasti Marcelo Rebasti added a comment -

            Upgrading to Servlet 3.0 is a great idea, especially if only the 3% user base will be impacted.

            The only thing to have in consideration is that without servlet 3.1 Jenkins won't be able to use WebSockets or Server-Side Events, as both require non-blocking IO and HTTP protocol upgrade, features available from Servlet 3.1.

            All the libraries that I know that promise comet-style communication for Servlet < 3.1 use long polling, or open a special port for the WebSocket connection.

            Show
            mrebasti Marcelo Rebasti added a comment - Upgrading to Servlet 3.0 is a great idea, especially if only the 3% user base will be impacted. The only thing to have in consideration is that without servlet 3.1 Jenkins won't be able to use WebSockets or Server-Side Events, as both require non-blocking IO and HTTP protocol upgrade, features available from Servlet 3.1. All the libraries that I know that promise comet-style communication for Servlet < 3.1 use long polling, or open a special port for the WebSocket connection.
            Hide
            kohsuke Kohsuke Kawaguchi added a comment -

            I'm changing this to Servlet 3.1. See this post for an overview of what's new in servlet 3.1. Among other things it support NIO.

            Show
            kohsuke Kohsuke Kawaguchi added a comment - I'm changing this to Servlet 3.1. See this post for an overview of what's new in servlet 3.1. Among other things it support NIO.
            kohsuke Kohsuke Kawaguchi made changes -
            Field Original Value New Value
            Summary Raise minimum requirement to servlet 3.0 Raise minimum requirement to servlet 3.1
            Hide
            danielbeck Daniel Beck added a comment -

            Tomcat 8 is the first release to support 3.1 (initial release mid 2014).

            Jetty 9.1 is required for 3.1, which will require updating Winstone-Jetty (which is based on 8.1 with Servlet 3.0 support only).

            WebSphere may only support Servlet 3.1 in its current 9 beta release?

            May be interesting to repeat the experience used to gather the data for the spreadsheet linked from http://jenkins-ci.org/content/thinking-about-moving-servlet-30 for Servlet 3.1. The spec is only two and a half years old, rather than 3.0's five when this issue was opened (now 6.5 years).

            Show
            danielbeck Daniel Beck added a comment - Tomcat 8 is the first release to support 3.1 (initial release mid 2014). Jetty 9.1 is required for 3.1, which will require updating Winstone-Jetty (which is based on 8.1 with Servlet 3.0 support only). WebSphere may only support Servlet 3.1 in its current 9 beta release? May be interesting to repeat the experience used to gather the data for the spreadsheet linked from http://jenkins-ci.org/content/thinking-about-moving-servlet-30 for Servlet 3.1. The spec is only two and a half years old, rather than 3.0's five when this issue was opened (now 6.5 years).
            hrmpw Patrick Wolf made changes -
            Labels 2.0
            Hide
            kohsuke Kohsuke Kawaguchi added a comment -

            Proposed change to Winstone at https://github.com/jenkinsci/winstone/pull/22

            Show
            kohsuke Kohsuke Kawaguchi added a comment - Proposed change to Winstone at https://github.com/jenkinsci/winstone/pull/22
            drulli Ulli Hafner made changes -
            Link This issue is blocking JENKINS-32377 [ JENKINS-32377 ]
            Hide
            scm_issue_link SCM/JIRA link daemon added a comment -

            Code changed in jenkins
            User: Kohsuke Kawaguchi
            Path:
            war/pom.xml
            http://jenkins-ci.org/commit/jenkins/27e161587b859b01e56c65603dba893c404b9d00
            Log:
            JENKINS-23378 integrate Winstone 3.x that brings Servlet 3.1

            executable-war module was also adjusted to keep up with the winstone
            change.

            Show
            scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Kohsuke Kawaguchi Path: war/pom.xml http://jenkins-ci.org/commit/jenkins/27e161587b859b01e56c65603dba893c404b9d00 Log: JENKINS-23378 integrate Winstone 3.x that brings Servlet 3.1 executable-war module was also adjusted to keep up with the winstone change.
            Hide
            kohsuke Kohsuke Kawaguchi added a comment -

            I've updated maven-hudson-dev-plugin to Jetty 9.2 as well, and the corresponding change to the 2.0 branch is going through the pipeline. The remaining work at this point is:

            • Update maven-hpi-plugin
            • Update web.xml
            Show
            kohsuke Kohsuke Kawaguchi added a comment - I've updated maven-hudson-dev-plugin to Jetty 9.2 as well, and the corresponding change to the 2.0 branch is going through the pipeline. The remaining work at this point is: Update maven-hpi-plugin Update web.xml
            Hide
            scm_issue_link SCM/JIRA link daemon added a comment -

            Code changed in jenkins
            User: Kohsuke Kawaguchi
            Path:
            pom.xml
            war/pom.xml
            http://jenkins-ci.org/commit/jenkins/2b90f1c6cbd9fe9779a5e94b96f503fef5a08308
            Log:
            JENKINS-23378 new version of hudson-dev plugin that supports Servlet 3.1

            I had to disable annotation scanning or else it adds too much overhead
            to the startup time.

            Show
            scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Kohsuke Kawaguchi Path: pom.xml war/pom.xml http://jenkins-ci.org/commit/jenkins/2b90f1c6cbd9fe9779a5e94b96f503fef5a08308 Log: JENKINS-23378 new version of hudson-dev plugin that supports Servlet 3.1 I had to disable annotation scanning or else it adds too much overhead to the startup time.
            Hide
            scm_issue_link SCM/JIRA link daemon added a comment -

            Code changed in jenkins
            User: Kohsuke Kawaguchi
            Path:
            pom.xml
            http://jenkins-ci.org/commit/jenkins/da91c95ff08533effd602d7c55556e026ca10031
            Log:
            JENKINS-23378 maven-hpi-plugin that supports servlet 3.1

            Show
            scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Kohsuke Kawaguchi Path: pom.xml http://jenkins-ci.org/commit/jenkins/da91c95ff08533effd602d7c55556e026ca10031 Log: JENKINS-23378 maven-hpi-plugin that supports servlet 3.1
            Hide
            scm_issue_link SCM/JIRA link daemon added a comment -

            Code changed in jenkins
            User: Kohsuke Kawaguchi
            Path:
            core/pom.xml
            core/src/main/java/hudson/WebAppMain.java
            war/src/main/webapp/WEB-INF/web.xml
            http://jenkins-ci.org/commit/jenkins/8713646a47b964f9b25d6eb1f7ee610cc5686404
            Log:
            JENKINS-23378 Servlet 3.1

            Start declaring servlet 3.1 dependency

            Show
            scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Kohsuke Kawaguchi Path: core/pom.xml core/src/main/java/hudson/WebAppMain.java war/src/main/webapp/WEB-INF/web.xml http://jenkins-ci.org/commit/jenkins/8713646a47b964f9b25d6eb1f7ee610cc5686404 Log: JENKINS-23378 Servlet 3.1 Start declaring servlet 3.1 dependency
            Hide
            kohsuke Kohsuke Kawaguchi added a comment -

            We need to also update test-harness to use Jetty9

            Show
            kohsuke Kohsuke Kawaguchi added a comment - We need to also update test-harness to use Jetty9
            Hide
            scm_issue_link SCM/JIRA link daemon added a comment -

            Code changed in jenkins
            User: Kohsuke Kawaguchi
            Path:
            pom.xml
            src/main/java/org/jenkinsci/maven/plugins/hpi/AbstractJettyMojo.java
            src/main/java/org/jenkinsci/maven/plugins/hpi/ConsoleScanner.java
            src/main/java/org/jenkinsci/maven/plugins/hpi/RunMojo.java
            http://jenkins-ci.org/commit/maven-hpi-plugin/a91d455c77093335fae1baf6a8bfb1a54a2a1f04
            Log:
            Merge pull request #28 from jenkinsci/jetty9.2

            JENKINS-23378 update to Jetty9.2

            Compare: https://github.com/jenkinsci/maven-hpi-plugin/compare/01181f07e3e9...a91d455c7709

            Show
            scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Kohsuke Kawaguchi Path: pom.xml src/main/java/org/jenkinsci/maven/plugins/hpi/AbstractJettyMojo.java src/main/java/org/jenkinsci/maven/plugins/hpi/ConsoleScanner.java src/main/java/org/jenkinsci/maven/plugins/hpi/RunMojo.java http://jenkins-ci.org/commit/maven-hpi-plugin/a91d455c77093335fae1baf6a8bfb1a54a2a1f04 Log: Merge pull request #28 from jenkinsci/jetty9.2 JENKINS-23378 update to Jetty9.2 Compare: https://github.com/jenkinsci/maven-hpi-plugin/compare/01181f07e3e9...a91d455c7709
            Hide
            scm_issue_link SCM/JIRA link daemon added a comment -

            Code changed in jenkins
            User: Kohsuke Kawaguchi
            Path:
            pom.xml
            src/main/java/org/jvnet/hudson/test/HudsonTestCase.java
            src/main/java/org/jvnet/hudson/test/JavaNetReverseProxy.java
            src/main/java/org/jvnet/hudson/test/JenkinsRule.java
            src/main/java/org/jvnet/hudson/test/NoListenerConfiguration.java
            src/main/java/org/jvnet/hudson/test/ThreadPoolImpl.java
            http://jenkins-ci.org/commit/jenkins-test-harness/eec94edfe6a4708ebb3ea068d94d7a8e6f37996e
            Log:
            JENKINS-23378 Servlet 3.1 support

            Test harness now runs with Jetty 9.2

            Show
            scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Kohsuke Kawaguchi Path: pom.xml src/main/java/org/jvnet/hudson/test/HudsonTestCase.java src/main/java/org/jvnet/hudson/test/JavaNetReverseProxy.java src/main/java/org/jvnet/hudson/test/JenkinsRule.java src/main/java/org/jvnet/hudson/test/NoListenerConfiguration.java src/main/java/org/jvnet/hudson/test/ThreadPoolImpl.java http://jenkins-ci.org/commit/jenkins-test-harness/eec94edfe6a4708ebb3ea068d94d7a8e6f37996e Log: JENKINS-23378 Servlet 3.1 support Test harness now runs with Jetty 9.2
            Hide
            scm_issue_link SCM/JIRA link daemon added a comment -

            Code changed in jenkins
            User: Kohsuke Kawaguchi
            Path:
            pom.xml
            src/main/java/org/jvnet/hudson/test/HudsonTestCase.java
            src/main/java/org/jvnet/hudson/test/JavaNetReverseProxy.java
            src/main/java/org/jvnet/hudson/test/JenkinsRule.java
            src/main/java/org/jvnet/hudson/test/NoListenerConfiguration.java
            src/main/java/org/jvnet/hudson/test/ThreadPoolImpl.java
            http://jenkins-ci.org/commit/jenkins-test-harness/f8efd0032cda8584aafd6fc435fd7bb8e61df8c6
            Log:
            Merge pull request #12 from jenkinsci/jetty9.2

            JENKINS-23378 Servlet 3.1 support

            Compare: https://github.com/jenkinsci/jenkins-test-harness/compare/5681958948c3...f8efd0032cda

            Show
            scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Kohsuke Kawaguchi Path: pom.xml src/main/java/org/jvnet/hudson/test/HudsonTestCase.java src/main/java/org/jvnet/hudson/test/JavaNetReverseProxy.java src/main/java/org/jvnet/hudson/test/JenkinsRule.java src/main/java/org/jvnet/hudson/test/NoListenerConfiguration.java src/main/java/org/jvnet/hudson/test/ThreadPoolImpl.java http://jenkins-ci.org/commit/jenkins-test-harness/f8efd0032cda8584aafd6fc435fd7bb8e61df8c6 Log: Merge pull request #12 from jenkinsci/jetty9.2 JENKINS-23378 Servlet 3.1 support Compare: https://github.com/jenkinsci/jenkins-test-harness/compare/5681958948c3...f8efd0032cda
            Hide
            scm_issue_link SCM/JIRA link daemon added a comment -

            Code changed in jenkins
            User: Kohsuke Kawaguchi
            Path:
            war/src/main/webapp/WEB-INF/web.xml
            http://jenkins-ci.org/commit/jenkins/76c4c121a3b5fdeec9138ac463a33df911c378e5
            Log:
            JENKINS-23378 accept any user with any role

            not just those who have one of the roles defined in this web.xml

            The special role name $B!H (B* $B!I (B is a shorthand for all role names
            defined in the deployment descriptor. The special role name $B!H (B** $B!I (B is a
            shorthand for any authenticated user independent of role. When
            the special role name $B!H (B** $B!I (B appears in an authorization constraint,
            it indicates that any authenticated user, independent
            of role, is authorized to perform the constrained requests.

            Show
            scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Kohsuke Kawaguchi Path: war/src/main/webapp/WEB-INF/web.xml http://jenkins-ci.org/commit/jenkins/76c4c121a3b5fdeec9138ac463a33df911c378e5 Log: JENKINS-23378 accept any user with any role not just those who have one of the roles defined in this web.xml The special role name $B!H (B* $B!I (B is a shorthand for all role names defined in the deployment descriptor. The special role name $B!H (B** $B!I (B is a shorthand for any authenticated user independent of role. When the special role name $B!H (B** $B!I (B appears in an authorization constraint, it indicates that any authenticated user, independent of role, is authorized to perform the constrained requests.
            Hide
            scm_issue_link SCM/JIRA link daemon added a comment -

            Code changed in jenkins
            User: Kohsuke Kawaguchi
            Path:
            changelog.html
            core/pom.xml
            core/src/main/java/hudson/WebAppMain.java
            core/src/main/java/hudson/cli/CLIAction.java
            core/src/main/java/hudson/model/AsyncAperiodicWork.java
            core/src/main/java/hudson/model/AsyncPeriodicWork.java
            core/src/main/java/hudson/security/csrf/DefaultCrumbIssuer.java
            core/src/main/java/hudson/util/StreamTaskListener.java
            core/src/main/java/hudson/util/XStream2.java
            core/src/main/java/jenkins/security/ApiTokenProperty.java
            core/src/main/resources/hudson/ProxyConfiguration/help-name.html
            core/src/main/resources/hudson/ProxyConfiguration/help-name_de.html
            core/src/main/resources/hudson/ProxyConfiguration/help-name_fr.html
            core/src/main/resources/hudson/ProxyConfiguration/help-name_tr.html
            core/src/main/resources/hudson/model/Messages_pl.properties
            core/src/main/resources/hudson/model/View/AsynchPeople/index_pl.properties
            core/src/main/resources/hudson/triggers/TimerTrigger/help-spec.html
            pom.xml
            test/pom.xml
            test/src/test/java/hudson/model/ComputerConfigDotXmlTest.java
            test/src/test/java/hudson/model/QueueTest.java
            test/src/test/java/hudson/model/UpdateSiteTest.java
            test/src/test/java/hudson/util/XStream2Security247Test.java
            test/src/test/java/jenkins/security/Security232Test.java
            test/src/test/resources/hudson/util/XStream2Security247Test/config.xml
            war/src/main/webapp/WEB-INF/web.xml
            http://jenkins-ci.org/commit/jenkins/08a8f1472205d33f742cf2e3a4f27b3c49e69f06
            Log:
            Merge pull request #2063 from jenkinsci/JENKINS-23378

            [FIXED JENKINS-23378] Servlet 3.1

            Compare: https://github.com/jenkinsci/jenkins/compare/796b82461b90...08a8f1472205

            Show
            scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Kohsuke Kawaguchi Path: changelog.html core/pom.xml core/src/main/java/hudson/WebAppMain.java core/src/main/java/hudson/cli/CLIAction.java core/src/main/java/hudson/model/AsyncAperiodicWork.java core/src/main/java/hudson/model/AsyncPeriodicWork.java core/src/main/java/hudson/security/csrf/DefaultCrumbIssuer.java core/src/main/java/hudson/util/StreamTaskListener.java core/src/main/java/hudson/util/XStream2.java core/src/main/java/jenkins/security/ApiTokenProperty.java core/src/main/resources/hudson/ProxyConfiguration/help-name.html core/src/main/resources/hudson/ProxyConfiguration/help-name_de.html core/src/main/resources/hudson/ProxyConfiguration/help-name_fr.html core/src/main/resources/hudson/ProxyConfiguration/help-name_tr.html core/src/main/resources/hudson/model/Messages_pl.properties core/src/main/resources/hudson/model/View/AsynchPeople/index_pl.properties core/src/main/resources/hudson/triggers/TimerTrigger/help-spec.html pom.xml test/pom.xml test/src/test/java/hudson/model/ComputerConfigDotXmlTest.java test/src/test/java/hudson/model/QueueTest.java test/src/test/java/hudson/model/UpdateSiteTest.java test/src/test/java/hudson/util/XStream2Security247Test.java test/src/test/java/jenkins/security/Security232Test.java test/src/test/resources/hudson/util/XStream2Security247Test/config.xml war/src/main/webapp/WEB-INF/web.xml http://jenkins-ci.org/commit/jenkins/08a8f1472205d33f742cf2e3a4f27b3c49e69f06 Log: Merge pull request #2063 from jenkinsci/ JENKINS-23378 [FIXED JENKINS-23378] Servlet 3.1 Compare: https://github.com/jenkinsci/jenkins/compare/796b82461b90...08a8f1472205
            scm_issue_link SCM/JIRA link daemon made changes -
            Resolution Fixed [ 1 ]
            Status Open [ 1 ] Resolved [ 5 ]
            rtyler R. Tyler Croy made changes -
            Workflow JNJira [ 155945 ] JNJira + In-Review [ 195309 ]

              People

              Assignee:
              Unassigned Unassigned
              Reporter:
              kohsuke Kohsuke Kawaguchi
              Votes:
              7 Vote for this issue
              Watchers:
              9 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: