Hi,
you have seen what this is about from the subject... before delving into
the details, let's have a look at the results:

[INFO] Ysld GeoServer Plugin .............................. SUCCESS [
15.820 s]
[INFO] MongoDB Data Store ................................. SUCCESS [
0.803 s]
[INFO] REST SLD service ................................... SUCCESS [03:59
min]
[INFO] GeoFence security integration ...................... SUCCESS [01:19
min]
[INFO] GeoFence Server .................................... SUCCESS [01:55
min]
[INFO] GeoServer Release Module 2.15-SNAPSHOT ............. SUCCESS [
0.820 s]
[INFO]
------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO]
------------------------------------------------------------------------
[INFO] Total time: *14:04 min (Wall Clock)*
[INFO] Finished at: 2018-10-14T16:04:18+02:00
[INFO]
------------------------------------------------------------------------
~/devel/git-gs/src (jdk11_build) $ mvn -version
Apache Maven 3.5.3 (3383c37e1f9e9b3bc3df5050c29c8aff9f295297;
2018-02-24T20:49:05+01:00)
Maven home: /home/aaime/apps/apache-maven-3.5.3
*Java version: 11, vendor: Oracle Corporation*
Java home: /usr/lib/jvm/jdk-11
Default locale: it_IT, platform encoding: UTF-8
OS name: "linux", version: "4.15.0-34-generic", arch: "amd64", family:
"unix"

(forget about that vendor indication, it's actually OpenJDK):

~/devel/git-gs/src (jdk11_build) $ java -version
openjdk version "11" 2018-09-25
OpenJDK Runtime Environment 18.9 (build 11+28)
OpenJDK 64-Bit Server VM 18.9 (build 11+28, mixed mode)


[image: image.png]

In order for the above to happen two PRs need to be applied, in addition to
the ones already presented
for imageio-ext and geotools:

   - GeoWebCache: https://github.com/GeoWebCache/geowebcache/pull/695
   - GeoServer: https://github.com/geoserver/geoserver/pull/3182

As you can see by the numbers of commits in those two, it has not been as
easy as with GeoTools and friends,
but the number of modified files is overall not big, nothing particularly
fancy.

Bits worth noticing:

   - HashMap iteration order changed once more, a few tests needed to be
   amended
   - XML encoding of numbers and CDATA changed (different precision,
   different spacing around CDATA), some tests had to be amended
   - Changing the size of a thread pool at runtime incurs into stricter
   checks than before
   - GeoServerExtensions integration with SPI broke, I fell down on the
   GeoTools FactoryRegistry code, not sure if what was done is the best way to
   handle it, I'm open to suggestions:

   
https://github.com/geoserver/geoserver/pull/3182/files#diff-8414b5ac2b07c761343e3d61d80cf320R154

   - The security LDAP module now builds (before it was trying to access a
   class that's truly gone due to a debugging statement in the embedded LDAP
   server being used), but tests do not run (get skipped) because now the
   embedded server won't start... even all I did was to bump it a couple of
   bugfix versions (bumping just one had the same result). That, and the newer
   version of the server is still a milestone and the spring ldap integration
   is declared not to work with it. Think we need someone that understands
   LDAP to make it actually run tests again.
   - Commons-lang3 had to be upgraded to the latest version, as some
   utilities triggered Java version number parsing and failed. No biggie, but
   GWC had to be upgraded from commons-lang 2, which makes up most of the file
   changes in the PR
   - Hazelcast has been upgraded to the latest version, which is a beta,
   but also the first run supposed to be running on JDK11. Still triggers some
   warnings, checking their issue tracker it seems at least some are being
   worked on before final release.

Going back to the performance topic the build times are a joke, using JDK8
and a "-T8" build I normally build on 7:30 to 8:00, with JDK11 it takes
around 14 minutes!
Are we screwed? We'll see, in the meantime I did a quick and silly
benchmark against topp:states:

 ab -n 3600 -c 16  "
http://localhost:8080/geoserver/topp/wms?SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&FORMAT=image%2Fpng&TRANSPARENT=true&LAYERS=topp%3Astates&exceptions=application%2Fvnd.ogc.se_inimage&SRS=EPSG%3A4326&STYLES=&WIDTH=768&HEIGHT=330&BBOX=-130.60546875%2C23.37890625%2C-63.10546875%2C52.3828125
"

*Concurrency Level:      16*
Time taken for tests:   8.729 seconds
*Complete requests:      3600*
Failed requests:        0
Total transferred:      251305200 bytes
HTML transferred:       250491600 bytes
*Requests per second:    412.44 [#/sec] (mean)*
Time per request:       38.794 [ms] (mean)
Time per request:       2.425 [ms] (mean, across all concurrent requests)
Transfer rate:          28116.37 [Kbytes/sec] received

The performance on JDK8 + marlin is, by memory, the same (it's late and I
don't want to rebuild everything in JDK 8 to confirm.
Also note the GeoServer status page screenshot, you'll notice that JDK11 is
using its own embedded Marlin version (as you probably
know, it has become the default renderer in JDK since version 9).
So, it seems something is up with the build but maybe not on runtime (more
checks are needed).

Soo.. next steps:

   - I have to look into the GeoTools build and make it mergeable
   - A review on the various PRs would be much appreciated
   - Once the two above are done, I'd suggest to merge and call "step 1"
   done, so that when the sprint starts we can fork off and concentrate on
   warnings removal and modularization/re-packaging

Cheers
Andrea

==

GeoServer Professional Services from the experts! Visit http://goo.gl/it488V
for more information. == Ing. Andrea Aime @geowolf Technical Lead
GeoSolutions S.A.S. Via di Montramito 3/A 55054 Massarosa (LU) phone: +39
0584 962313 fax: +39 0584 1660272 mob: +39 339 8844549
http://www.geo-solutions.it http://twitter.com/geosolutions_it
------------------------------------------------------- *Con riferimento
alla normativa sul trattamento dei dati personali (Reg. UE 2016/679 -
Regolamento generale sulla protezione dei dati “GDPR”), si precisa che ogni
circostanza inerente alla presente email (il suo contenuto, gli eventuali
allegati, etc.) è un dato la cui conoscenza è riservata al/i solo/i
destinatario/i indicati dallo scrivente. Se il messaggio Le è giunto per
errore, è tenuta/o a cancellarlo, ogni altra operazione è illecita. Le
sarei comunque grato se potesse darmene notizia. This email is intended
only for the person or entity to which it is addressed and may contain
information that is privileged, confidential or otherwise protected from
disclosure. We remind that - as provided by European Regulation 2016/679
“GDPR” - copying, dissemination or use of this e-mail or the information
herein by anyone other than the intended recipient is prohibited. If you
have received this email by mistake, please notify us immediately by
telephone or e-mail.*
_______________________________________________
Geoserver-devel mailing list
Geoserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-devel

Reply via email to