Hello,

I think this is a misunderstanding. I did not intend my email as a complaint or criticism (and especially not to make myself "feel better", I don't see it that way at all). It was merely intended as an entirely neutral issue report, like "hey, I found this thing that seemed to have slipped in to our project that is something for all of us to look at and think about".

Perhaps "dodgy" was a poor word choice, but all I meant with that particular sentence was "despite the fact that this isn't causing any major issues for anyone, it is still a potential loophole and a situation we should maybe consider improving /either way/". By no means I was pointing the finger at a particular person(s), I think these things just happen in a project like ours and I wanted to report it. That is my honest opinion about it, and that is honestly all that what was on my mind when I wrote that email.

And yes, I am absolutely more than willing to think along for solutions. But I didn't have any solutions yet and I felt I needed more information first, or to study it better, and I thought I'd report it in the meantime as a open question, invite some brainstorming (as Ben did). Sometimes other people know things of the top of their heads that they can respond immediately that saves me a lot of time finding out, so that is why I send an email before I have a solution. I guess that I should have written more specific questions in my email rather than ending with the "dodgy" comment. I do apologise for my poor communication in that regard, which can be explained by the fact that I wrote it at the end of my workday (next time, I'll keep it for the beginning of the next and take the time to ask specific questions). I hope that clears it up.

I do like Ben's suggestions, but of course he is looking at the broader picture, and particularly from the geotools side. I think any way we can get rid of static code in geotools would be an improvement.

I have another question though - why is geoserver doing this thing in GeoServerInitStartupListener? I'm not just asking about the place it is doing, why is it doing this at all? What was the original idea behind it and does it still count? I think ImageWorker is on the classpath of geoserver in any case, so whether it does its own JAI initialisation before or after ImageWorker, it seems pointless. Or am I wrong?

Kind Regards

Niels


On 12/10/2016 10:48 AM, Andrea Aime wrote:
On Fri, Dec 9, 2016 at 10:19 PM, Ben Caradoc-Davies <b...@transient.nz <mailto:b...@transient.nz>> wrote:

    I think this was a fair comment.


Our community provided a guideline as to what constructive criticism is, that is not, it's simply criticism (without the constructive part).

The voting guidelines for anything are clear, one can vote -1 but only providing alternative paths, while this is of course just a random discussion the expected approach would be the same, simply venting out criticism does not help anybody, besides maybe make the
one writing the mail feel better.

I can understand the frustration of someone that did not put the GeoServerInitStartupListener as the very first thing running at JVM startup, forgetting or being unable to do so is going to cause a lot of frustrating debugging (not just for JAI but for other aspects as well), however simple complaints are of no help to anyone.

    Andrea, I would appreciate your view on whether GeoTools could
    benefit from some sort of configuration API. I know little about
    JAI and JAIExt, but could a configuration API be used to inject
    some sort of manager into GeoTools? Or do dependencies and cycles
    mean we will end up reinventing Spring?


I don't have a view on this problem, haven't been bit by it significantly and/or when it happened, I could only blame myself and did not have resource to propose an actual improvement along with the resources to implement it
(typical case, forgetting to set the axis order hints right on startup).

Just an observation, initialization of JAI is an issue of itself, something like setting up the registry needs to be done at startup, very first thing, so some control over init order is necessary there, what provides this control depends on the technology used to write the application and its context (command line, OSGI, servlet, aws lambda), but I'm skeptical that is actually a GeoTools problem to solve (we'd have to marry some specific class wiring solution).

The highly dynamic nature of JAI (dynamic registry, priorities, anything swappable at any time, but not without side effects) makes it hard to deal with, especially today that we have replaced most parts of it. If we ever get to rewrite it, the new version could use some lessons learned to avoid some of these issues (e.g., it could disallow changing the registry past a certain init point).

Regards
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

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


-------------------------------------------------------

------------------------------------------------------------------------------
Developer Access Program for Intel Xeon Phi Processors
Access to Intel Xeon Phi processor-based developer platforms.
With one year of Intel Parallel Studio XE.
Training and support from Colfax.
Order your platform today.http://sdm.link/xeonphi
_______________________________________________
GeoTools-Devel mailing list
GeoTools-Devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geotools-devel

Reply via email to