Version: 9.3.16.v20170120 |

Testing a Jetty Release
Previous | Chapter 35. Contributing to Jetty Home |

##### Contact the core Jetty developers at www.webtide.com

private support for your internal/customer projects ... custom extensions and distributions ... versioned snapshots for indefinite support ... scalability guidance for your apps and Ajax/Comet projects ... development services for sponsored feature development

## Testing a Jetty Release

To test a Jetty release, complete the following steps for each release you want to test:

1. Download the staged release:

        wget https://oss.sonatype.org/content/repositories/jetty-[reponumber]/org/eclipse/jetty/jetty-distribution/[jetty-version]/jetty-distribution-9.[jetty-minor-version].tar.gz

2. Extract to a directory of your choice.

3. Start jetty:

        cd [installdir] ; java -jar start.jar

4. If there are no exceptions, proceed. Otherwise, investigate.
5. Open http://localhost:8080/ in a browser. In the examples section click "Test Jetty Webapp". You should see the `test.war` webapp.
6. Go through ALL the tests and verify that everything works as expected.
7. In the examples section click "JAAS Test" and verify that everything works as expected.
8. In the examples section click "JNDI Test" and verify that everything works as expected.
9. In the examples section click "Servlet 3.1 Test" and verify that everything works as expected.

10. Verify that hot deployment works.

         cd [installdir] ;
         touch [pathToJettyDistribution]/webapps.demo/test.xml

11. Verify that `test.war` gets redeployed in `STDOUT`.

12. Verify that the spdy example webapp and spdy-proxy do work

         cd jetty_src/jetty-spdy/spdy-example-webapp
         mvn jetty:run-forked

13. Browse to https://localhost:8443 and verify that all looks ok

14. Stop the server with CTRL+C and restart it in proxy mode:

         mvn -Pproxy jetty:run-forked

15. Browse to http://localhost:8080 and https://localhost:8443 and verify that all looks ok

### Testing CometD

1. Clone CometD.

        clone git://github.com/cometd/cometd.git
        git clone git://github.com/cometd/cometd.git

2. Edit `pom.xml` and update `jetty-version.`

           <properties>
               <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
               <jetty-version>7.6.2.v20120308</jetty-version>
               <jetty-plugin-version>${jetty-version}</jetty-plugin-version>
               <slf4j-version>1.6.4</slf4j-version>
               <spring-version>3.1.0.RELEASE</spring-version>
           </properties>
           <repositories>
           <repository>
             <id>Jetty Staging</id>
             <url>https://oss.sonatype.org/content/repositories/jetty-988/</url>
           </repository>
         </repositories>

3. Build Cometd:

        mvn clean install

4. Be patient.
5. Run the loadtest as it is described here: http://cometd.org/documentation/2.x/howtos/loadtesting. Keep the default values, but make sure that you raise the clients setting to 1000. Run the loadtest until 'JIT compilation time' is close to a value of zero (about 10k calls).

6. Make sure that the performance results are reasonably fast. On a MacBook Pro i7 2.6ghz dualcore produces the following:

        ========================================
       Statistics Started at Fri Mar 09 13:44:35 CET 2012
       Operative System: Mac OS X 10.7.3 amd64
       JVM : Oracle Corporation Java HotSpot(TM) 64-Bit Server VM runtime 23.0-b16 1.7.0_04-ea-b14
       Processors: 4
       System Memory: 99.583336% used of 30.0 GiB
       Used Heap Size: 36.490677 MiB
       Max Heap Size: 1920.0 MiB
       Young Generation Heap Size: 896.0 MiB
       - - - - - - - - - - - - - - - - - - - -
       Testing 1000 clients in 100 rooms, 10 rooms/client
       Sending 1000 batches of 10x50 bytes messages every 10000 ?s
       [GC [PSYoungGen: 786432K->8736K(917504K)] 823650K->45954K(1966080K), 0.0309940 secs] [Times: user=0.09 sys=0.00, real=0.03 secs]
       [GC [PSYoungGen: 795168K->11424K(917504K)] 832386K->48642K(1966080K), 0.0513360 secs] [Times: user=0.13 sys=0.00, real=0.05 secs]
       [GC [PSYoungGen: 797856K->14560K(917504K)] 835074K->51778K(1966080K), 0.0432940 secs] [Times: user=0.12 sys=0.00, real=0.05 secs]
       [GC [PSYoungGen: 800992K->15680K(917504K)] 838210K->52898K(1966080K), 0.0491200 secs] [Times: user=0.14 sys=0.00, real=0.05 secs]
       [GC [PSYoungGen: 802112K->17568K(917504K)] 839330K->54786K(1966080K), 0.0484950 secs] [Times: user=0.14 sys=0.00, real=0.05 secs]
       [GC [PSYoungGen: 804000K->17600K(917504K)] 841218K->54818K(1966080K), 0.0456460 secs] [Times: user=0.14 sys=0.01, real=0.05 secs]
       [GC [PSYoungGen: 804032K->19488K(917504K)] 841250K->56706K(1966080K), 0.0542000 secs] [Times: user=0.15 sys=0.00, real=0.05 secs]
       [GC [PSYoungGen: 805920K->20224K(917504K)] 843138K->57442K(1966080K), 0.0486350 secs] [Times: user=0.16 sys=0.00, real=0.05 secs]
       [GC [PSYoungGen: 806656K->20192K(917504K)] 843874K->57410K(1966080K), 0.0566690 secs] [Times: user=0.15 sys=0.00, real=0.06 secs]
       [GC [PSYoungGen: 806624K->21152K(917504K)] 843842K->58370K(1966080K), 0.0536740 secs] [Times: user=0.16 sys=0.00, real=0.06 secs]
       [GC [PSYoungGen: 807584K->21088K(917504K)] 844802K->58306K(1966080K), 0.0576060 secs] [Times: user=0.18 sys=0.00, real=0.06 secs]
       [GC [PSYoungGen: 807520K->22080K(917504K)] 844738K->59298K(1966080K), 0.0663300 secs] [Times: user=0.19 sys=0.01, real=0.06 secs]
       - - - - - - - - - - - - - - - - - - - -
       Statistics Ended at Fri Mar 09 13:45:21 CET 2012
       Elapsed time: 45826 ms
           Time in JIT compilation: 52 ms
           Time in Young Generation GC: 606 ms (12 collections)
           Time in Old Generation GC: 0 ms (0 collections)
       Garbage Generated in Young Generation: 9036.513 MiB
       Garbage Generated in Survivor Generation: 21.65625 MiB
       Garbage Generated in Old Generation: 0.0 MiB
       Average CPU Load: 156.54865/400
       ----------------------------------------

       Outgoing: Elapsed = 45820 ms | Rate = 218 messages/s - 21 requests/s - ~0.083 Mib/s
       Waiting for messages to arrive 996960/999045
       All messages arrived 999045/999045
       Messages - Success/Expected = 999045/999045
       Incoming - Elapsed = 45945 ms | Rate = 21743 messages/s - 9496 responses/s(43.68%) - ~8.295 Mib/s
       Messages - Wall Latency Distribution Curve (X axis: Frequency, Y axis: Latency):
        @                    _  24 ms (8765, 0.88%)
              @              _  45 ms (58952, 5.90%)
                 @           _  67 ms (87065, 8.71%)
                    @        _  88 ms (113786, 11.39%)
                          @  _  109 ms (167426, 16.76%)
                          @  _  131 ms (176163, 17.63%) ^50%
                     @       _  152 ms (123182, 12.33%)
                 @           _  174 ms (90918, 9.10%)
               @             _  195 ms (67209, 6.73%) ^85%
            @                _  216 ms (46989, 4.70%)
          @                  _  238 ms (24975, 2.50%) ^95%
         @                   _  259 ms (16509, 1.65%)
        @                    _  281 ms (8454, 0.85%) ^99%
       @                     _  302 ms (4324, 0.43%)
       @                     _  323 ms (2955, 0.30%)
       @                     _  345 ms (957, 0.10%) ^99.9%
       @                     _  366 ms (204, 0.02%)
       @                     _  388 ms (144, 0.01%)
       @                     _  409 ms (25, 0.00%)
       @                     _  430 ms (43, 0.00%)
       Messages - Wall Latency 50th%/99th% = 117/275 ms
       Messages - Wall Latency Min/Ave/Max = 2/123/430 ms
       Messages - Network Latency Min/Ave/Max = 1/114/417 ms
       Thread Pool - Concurrent Threads max = 239 | Queue Size max = 1002 | Queue Latency avg/max = 12/101 ms

7. Deploy `cometd.war` to the `webapps` directory of the jetty-distribution tested above.

        cp cometd-demo/target/cometd-demo-[version].war [pathToJetty]/jetty-distribution-[jetty-version]/webapps/

8. Start jetty and make sure there are no exceptions.

        cd [pathToJetty] && java -jar start.jar

9. Go through all pages of the demo and test them:

        http://localhost:8080/cometd-demo-2.4.1-SNAPSHOT/

If all tests are green, you are done!

Previous | Top |
Releasing Jetty | Home |

See an error or something missing? Contribute to this documentation at Github!(Generated: 2017-01-20)