[Geoserver-devel] GeoTools / GeoServer PMC meeting 2020-12-22

GeoTools / GeoServer PMC meeting - 2020-12-22### Attending

Torben Barsballe

Kevin Smith

Ian Turton

Jody Garnett

Andrea Aime

Jukka Rahkonnen

Alessandro Parma

Jim Hughes

Nuno Oliveira

Actions from last meeting:- [DONE] Thank Brad and Mark for the migration work :slight_smile:

Agenda1. JTS 1.18 Upgrade

  1. CITE Test contract

  2. Remaining 2020 budget

  3. HTTP client in GeoTools

  4. GeoServer Docker image alternatives

  5. More codebase cleanups

Actions- Jody: Start email PSC vote this year to pay out of our 2020 budget for CITE test contract, and then send authorization to treasurer when work is complete

JTS 1.18 Upgrade

JTS 1.18 upgrade, featuring Overlay NG (robust etc…)

  • New in 1.18

  • Setting to turn off / on (usual geotools system property setting)

  • Performance improvements

  • Address topology exceptions (stability)

  • Such improvement it is used always for precision sensitive operations like GeometryPrecisionReducer

James:

Discussion:

  • Approach: enable “ng” on master, disable on “stable”, …

  • Flag is jts.overlay=ng is jts.overlay=old

  • Backporting dependency changes can be troublesome, had some recent experience with GeoTools being affected by linear rings api change

CITE Test contract

Are we coming up to the end 2020 budget for this activity?

  • What do we want to do? With respect to payment out of 2020 budget …

  • Action: Start email PSC vote this year … to pay out of our 2020 budget, and then send authorization to treasurer when work is complete

  • Work is still in progress, some delays (see 2020 :slight_smile: )

  • Anything we can do to help? Not really …

Remaining 2020 Budget:

Other discussion:

If you wish to take action, please send a motion to the appropriate developer list?

HTTP client in GeoTools

Q: What is the story with this? Roar Brænden

GeoTools HTTPClient interface:

  • Java implementation

  • Multithreaded using http commons

Got a few threads that clients are difficult to find, generally useful, duplication gt-wms and gt-wfs both implement…

Someone implemented a PR: https://github.com/geotools/geotools/pull/3256

  • Move to gt-main? Not a good idea as we would get dependency on apache commons …

  • Isolate into a single interface

  • Build a new implementation using apache http commons (replace http commons)

  • Implement Java 11 (but we cannot do java 11 only code)

  • Additional ideas, example async

Action:

  • Jody: Will write it up as a proposal library/gt-http and plugin/gt-http-components and send it to email for vote?

GeoServer Docker image alternatives

Existing activity: https://github.com/geoserver/docker

  • What happened here? There is one PR waiting on feedback …

  • This sets up at runtime …

Alsandro would like to propose an alternative approach:

Discussion notes:

  • The two approaches could be used together, you could always add more extensions by hand after if needed.

  • How to include this stuff in the geoserver release chain?

  • Edit a text file in the repository used by DockerHub, trigger rebuild and publish of docker?

  • Would I need to add this to the release process?

  • Advantage is that you do not have a delay each time you run the container …

If you want to change the extensions, you need to build locally, with different list extensions

  • See custombuild.sh used to make a war (requires linux)

Discussion

  • How to include gdal (g-dal / or goo-dle for italians) native binaries, built custom gdal to get java bindings …

  • See link from torben here: https://github.com/planetlabs/stratus/blob/master/build/docker/amazonlinux-gdal-py-java11/Dockerfile

  • Uses Gdal 2.3.2 on amazon-linux, likely needs some tuning for other builds

  • Also libjpegturbo

  • Already included

  • How to include community modules? Would have to download from nexus repository, or modify custombuild.sh

  • Can we have the docker image:

    1. Download everything (static docker image) from source forge or nexus
    1. Then use runtime to copy that is requested into position on container startup

Action:

  • Make a PR to start this repository going

More codebase cleanups

GeoTools samples: