Skip to content

[JENKINS-23378] Raise minimum requirement to servlet 3.1 #23180

Closed

Description

@jenkins-infra-bot

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.


Originally reported by kohsuke, imported from: Raise minimum requirement to servlet 3.1
  • status: Resolved
  • priority: Major
  • component(s): core
  • label(s): 2.0
  • resolution: Fixed
  • resolved: 2016-02-29T16:58:15+00:00
  • votes: 7
  • watchers: 9
  • imported: 2025-11-24
Raw content of original issue

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.

Activity

  1. jenkins-infra-bot commented on Jun 9, 2014

    @jenkins-infra-bot
    Author
    kohsuke:

    See http://jenkins-ci.org/content/thinking-about-moving-servlet-30 for the context.

  2. jenkins-infra-bot commented on Jun 10, 2014

    @jenkins-infra-bot
    Author
    domi:
    • Original comment link
    • Raw content of original 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...

    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...

  3. jenkins-infra-bot commented on Jun 10, 2014

    @jenkins-infra-bot
    Author
    rsandell:
    • Original comment link
    • Raw content of original 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

    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

  4. jenkins-infra-bot commented on Jun 10, 2014

    @jenkins-infra-bot
    Author
    kreyssel:
    • Original comment link
    • Raw content of original comment:

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

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

  5. jenkins-infra-bot commented on Jun 12, 2014

    @jenkins-infra-bot
    Author
    mrebasti:
    • Original comment link
    • Raw content of original 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.

    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.

  6. jenkins-infra-bot commented on Oct 21, 2015

    @jenkins-infra-bot
    Author
    kohsuke:
    • Original comment link
    • Raw content of original 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.

    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.

  7. jenkins-infra-bot commented on Oct 25, 2015

    @jenkins-infra-bot
    Author
    danielbeck:
    • Original comment link
    • Raw content of original 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).

    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).

  8. jenkins-infra-bot commented on Feb 19, 2016

    @jenkins-infra-bot
    Author
    kohsuke:

    Proposed change to Winstone at jenkinsci/winstone#22

  9. jenkins-infra-bot commented on Feb 21, 2016

    @jenkins-infra-bot
    Author
    scm_issue_link:

    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.

  10. jenkins-infra-bot commented on Feb 22, 2016

    @jenkins-infra-bot
    Author
    kohsuke:
    • Original comment link
    • Raw content of original 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

    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
  11. jenkins-infra-bot commented on Feb 22, 2016

    @jenkins-infra-bot
    Author
    scm_issue_link:

    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.

  12. jenkins-infra-bot commented on Feb 25, 2016

    @jenkins-infra-bot
    Author
    scm_issue_link:

    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

  13. jenkins-infra-bot commented on Feb 25, 2016

    @jenkins-infra-bot
    Author
    scm_issue_link:

    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

  14. jenkins-infra-bot commented on Feb 25, 2016

    @jenkins-infra-bot
    Author
    kohsuke:
    • Original comment link
    • Raw content of original comment:

      We need to also update test-harness to use Jetty9

    We need to also update test-harness to use Jetty9

  15. jenkins-infra-bot commented on Feb 25, 2016

    @jenkins-infra-bot
    Author
    scm_issue_link:

    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: jenkinsci/maven-hpi-plugin@01181f0...a91d455

  16. jenkins-infra-bot commented on Feb 25, 2016

    @jenkins-infra-bot
    Author
    scm_issue_link:
    • Original comment link
    • Raw content of original 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

    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

  17. jenkins-infra-bot commented on Feb 26, 2016

    @jenkins-infra-bot
    Author
    scm_issue_link:

    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: jenkinsci/jenkins-test-harness@5681958...f8efd00

  18. jenkins-infra-bot commented on Feb 26, 2016

    @jenkins-infra-bot
    Author
    scm_issue_link:
    • Original comment link
    • Raw content of original 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.

    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.

  19. jenkins-infra-bot commented on Feb 29, 2016

    @jenkins-infra-bot
    Author
    scm_issue_link:
    • Original comment link
    • Raw content of original 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: 796b824...08a8f14

    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: 796b824...08a8f14

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions