I certainly have no objections to things being faster.
My only concern was on the geotools side, if there was an API change. I don’t
see that as a consideration on geoserver though (application vs library).
I’m not really able to help with it at the moment though, although I may be
able to apply some test effort.
Brad
From: Andrea Aime [mailto:[email protected]]
Sent: Saturday, 14 October 2017 2:30 AM
To: Geoserver-devel <[email protected]>
Subject: Re: [Geoserver-devel] Speeding up the GeoServer build by splitting
some modules
Hi,
as with the thread on geotools-devel, there seems to be a distinct lack of
enthusiams
for the topic.
Can at least get a sense if there are people opposed to the changes I'm
proposing?
I'd like to know before starting to split modules apart :-)
Cheers
Andreda
On Wed, Oct 11, 2017 at 6:36 PM, Andrea Aime <[email protected]
<mailto:[email protected]> > wrote:
Hi,
following up the geotools-devel thread on speeding up the build, I've made some
checks on
GeoServer as well.
<aside>
Please let's not start a discussion about tests being integration and thus
slow, we all know that,
but I'm trying to discuss something that can be done with limited resources
here,
not planning the next 10 years of development or selling an idea for the next
code sprint :-)
(it's a fair conversation topic, if you want to start it please just do so in a
separate mail thread).
</aside>
Compared to GeoTools the build takes longer because, among other reasons, it
parallelizes a lot less.
The "chain of death" keeping the build in low parallel mode is, roughly:
main->wfs->wms->restconfig->app-schema-test
The main module takes here 1:20, and everything else depends on it. A large
chunk of that time is
spent running security related tests.
I'm only semi serious here, but as far as I can see, it could be beneficial to
move the securty
tests to their own module (e.g., security/core) while leaving the security
classes in main.
I'm just semi-serious because I realize splitting apart the classes and their
tests is not that great,
but at the same time, it could easily shave off 30-60 seconds off the critical
path.
The WMS dependency onto WFS is hard to un-tangle, I've tried already some years
ago and
eventually gave up, it would require its own mini-sprint imho... so off the
board for this discussion.
Restconfig is where things get interesting and actually doable in a relatively
short time.
Restconfig is a slow module to build, and has to wait onto all core OGC
services to be built, but it
does not have to be that way: I propose we split the service support part into
a small per service
module, e.g.:
* gs-restconfig-wfs
* gs-restconfig-wms
* gs-restconfig-wcs
* gs-restconfig-wps (missing today, no way to configure WPS from REST)
* gs-restconfig-csw (missing today, no way to configure CSW from REST)
Basically gs-restconfig would contain the core abstract service controller
class, and the "one class modules"
would add the templates, extra code, and tests (side effect, we'd make the
service rest configuration
actually pluggable).
There are also 4-5 a few tests hitting the OGC services as part of the tests,
those could also be moved
to the service specific restconfig module.
This way the main gs-restconfig module could start building as soon as gs-main
has completed.
The other module that should be split imho is the app-schema-test one, in the
current build, and
on my current machine, it runs alone for 55 seconds after any other module has
terminated building.
The reason being that it depends on too many things, wfs, wms, restconfig.
I believe the module mostly does WFS tests with a few WMS and I believe just
one REST test, so can
we split it into three parts that can start running as soon as their
dependencies are made available?
* app-schema-wfs-test
* app-schema-wms-test
* app-schema-rest-test
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 <tel:+39%200584%20962313>
fax: +39 0584 1660272 <tel:+39%200584%20166%200272>
mob: +39 <tel:+39%20339%20884%204549> 339 8844549
http://www.geo-solutions.it
http://twitter.com/geosolutions_it
AVVERTENZE AI SENSI DEL D.Lgs. 196/2003
Le informazioni contenute in questo messaggio di posta elettronica e/o nel/i
file/s allegato/i sono da considerarsi strettamente riservate. Il loro utilizzo
è consentito esclusivamente al destinatario del messaggio, per le finalità
indicate nel messaggio stesso. Qualora riceviate questo messaggio senza esserne
il destinatario, Vi preghiamo cortesemente di darcene notizia via e-mail e di
procedere alla distruzione del messaggio stesso, cancellandolo dal Vostro
sistema. Conservare il messaggio stesso, divulgarlo anche in parte,
distribuirlo ad altri soggetti, copiarlo, od utilizzarlo per finalità diverse,
costituisce comportamento contrario ai principi dettati dal D.Lgs. 196/2003.
The information in this message and/or attachments, is intended solely for the
attention and use of the named addressee(s) and may be confidential or
proprietary in nature or covered by the provisions of privacy act (Legislative
Decree June, 30 2003, no.196 - Italy's New Data Protection Code).Any use not in
accord with its purpose, any disclosure, reproduction, copying, distribution,
or either dissemination, either whole or partial, is strictly forbidden except
previous formal approval of the named addressee(s). If you are not the intended
recipient, please contact immediately the sender by telephone, fax or e-mail
and delete the information in this message that has been received in error. The
sender does not give any warranty or accept liability as the content, accuracy
or completeness of sent messages and accepts no responsibility for changes
made after they were sent or for other risks which arise as a result of e-mail
transmission, viruses, etc.
--
Regards,
Andrea Aime
==
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
AVVERTENZE AI SENSI DEL D.Lgs. 196/2003
Le informazioni contenute in questo messaggio di posta elettronica e/o nel/i
file/s allegato/i sono da considerarsi strettamente riservate. Il loro utilizzo
è consentito esclusivamente al destinatario del messaggio, per le finalità
indicate nel messaggio stesso. Qualora riceviate questo messaggio senza esserne
il destinatario, Vi preghiamo cortesemente di darcene notizia via e-mail e di
procedere alla distruzione del messaggio stesso, cancellandolo dal Vostro
sistema. Conservare il messaggio stesso, divulgarlo anche in parte,
distribuirlo ad altri soggetti, copiarlo, od utilizzarlo per finalità diverse,
costituisce comportamento contrario ai principi dettati dal D.Lgs. 196/2003.
The information in this message and/or attachments, is intended solely for the
attention and use of the named addressee(s) and may be confidential or
proprietary in nature or covered by the provisions of privacy act (Legislative
Decree June, 30 2003, no.196 - Italy's New Data Protection Code).Any use not in
accord with its purpose, any disclosure, reproduction, copying, distribution,
or either dissemination, either whole or partial, is strictly forbidden except
previous formal approval of the named addressee(s). If you are not the intended
recipient, please contact immediately the sender by telephone, fax or e-mail
and delete the information in this message that has been received in error. The
sender does not give any warranty or accept liability as the content, accuracy
or completeness of sent messages and accepts no responsibility for changes
made after they were sent or for other risks which arise as a result of e-mail
transmission, viruses, etc.
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Geoserver-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geoserver-devel