Hello,
I can't comment on app schema tests nor splitting security out of main,
although the latest sounds like a good idea and will probably lead to a bit
of decoupling which should be a good thing, say you want a stripped down
version of geoserver with no security at all, then you could go for it. But
maybe I'm just talking out of ignorance here.
What I do want to bring to the table is two things:
- On build.geoserver.org, there's a tmpfs mount at /mnt/memtmp that can be
used to speed up the build by means of avoiding tests to hit the disk so
much. We've done that for the geogig builds and it helped a lot. Would just
need to add the following JVM argument to the build:
-Djava.io.tmpdir=/mnt/memtmp/geoserver
Last time I checked (a rather long time ago) the build left quite a bit of
garbage in /tmp (though not sure of it was geoserver's or geotools' build
that left the most). This could also be an opportunity to avoid flooding
the build server with that many remanents (it ran out of disk space once
upon a time due to that). To do so we could run a post build shell script
that just removed everything in /mnt/memtmp/geoserver, if no two builds
will ever run in parallel. Otherwise it'd be cool if the tmp directory
could be parametrized on a per build basis, like in running a pre build
script that creates /mnt/memtmp/${build.number} or so, and a post script
that removes it.
- The other thing I'd like to mention, although a bit off topic, is a what
if the main codebase is reduced. That is, _IMHO_, the current policy for
both gt and gs of allowing almost anyone to create almost any community
module on the main codebase is rather archaic. What do you guys think of
creating sibling projects under each project github organization to hold
those (that is, github.com/geoserver/community and
github.com/geotools/unsupported)? After all, one should (would, could) keep
an unofficial project/module as an independent project until deemed good
enough to ask to be included as an unsupported module, and then just once
it's good enough for the main codebase be moved to it, instead of flooding
it with runaway unsupported modules?
I don't know, I think that could work out pretty well.
Just my 2c.
Cheers,
Gabriel
On Thu, Nov 1, 2018 at 3:48 PM Andrea Aime <[email protected]>
wrote:
> Hi,
> I was looking into build times, and trying to see if there is anything
> doable to reduce them.
> On a serial build I've found nothing, tried to tune the JVM heap, the
> garbage collector, run test with a profiler, nothing helped.
>
> However, on a parallel build, there are "flat CPU" parts of the build that
> enjoy little parallelization.
> On that shows up evidently is, towards the end, app-schema tests, they
> take a lot of time, and end up being at the
> end because they depend both on wms and wfs, which are the main drivers of
> our build (the slow part
> is main->wfs->wms, after main there is parallelilzation, then we have to
> wait for wfs to finish, parallelization
> again, then wms to finish, final parallelization).
>
> The app-schema ones have a small number of wms tests, but are waiting for
> wms to build because of those.
> So I'm asking to the app-schema experts, would it be hard to have a
> app-schema-wfs-test and a app-schema-wms-test,
> making the bulk of app-schema test run as soon as wfs is ready?
> I see there are also dependencies on web-ui and restconfig, those could
> maybe also be split in their own little modules
>
> The other "beast" that could enjoy some splitting is gs-main, the security
> portion could maybe be separated out, but
> not sure there are many modules that could run without depending also on
> it (which would defeat the purpose of
> splitting main). Has anyone ever looked into it?
>
> 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
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/geoserver-devel
>
--
Gabriel Roldán
Software Developer | Boundless <http://boundlessgeo.com/>
[email protected]
@boundlessgeo <http://twitter.com/boundlessgeo/>
_______________________________________________
Geoserver-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geoserver-devel