Repository navigation
Conversation
added 3 commits
October 26, 2026 13:11
The geowave:DistributedRender rendering transformation never took effect through GeoServer. Since it was introduced in 0.9.3, the GetMap callback that should have handed such a layer to the DistributedRenderAggregation checked whether the layer's FeatureTypeStyle was a ProcessFunction, which it never is, so GeoServer rendered the layer itself like any other, and GeoServerIngestIT's distributed render check compared two ordinary renders. Making the callback match turns up further failures against GeoServer 3 (the WMS stand-in has no GeoServer configuration, and GeoServer's direct raster path cannot find the internal process), and the feature is the only GeoWave code that uses GeoServer's classes, which are GPL-licensed. This removes the adapter/vector/render package, DistributedRenderProcess, InternalProcessFactory, DistributedRenderProcessUtils, the DistributedRenderer in org.geotools.renderer.lite, the getMapCallback bean and its applicationContext.xml, the DistributedRender styles and the GeoServerIngestIT check that used one. GeoWaveFeatureCollection and GeoWaveFeatureReader lose their distributed render paths. Persistable IDs 509 to 513 and 521 are retired rather than freed. Co-authored-by: Rich Fecher <richard.fecher@vantor.com>
With distributed rendering gone, no GeoWave code uses GeoServer, yet the vector and raster adapters still had gs-wms-core as a compile dependency, so the tools, Accumulo and HBase JARs each carried 1,746 entries under org/geoserver and 111 under org/vfny, from gs-main, gs-ows, gs-platform and gs-wms-core, all GPL-licensed or restricted in Eclipse IP review, along with Spring and the other libraries only GeoServer used. * The adapters no longer depend on GeoServer, the root POM no longer manages its artifacts and the analytics API no longer needs to exclude them. Only the integration tests still use GeoServer: they run its WAR, as geowave gs run does. * The vector adapter declares gt-process-feature, which DecimationProcess implements and which used to come through GeoServer, managed with the GeoTools scope so the GeoServer plugin JAR still leaves it to GeoServer. It drops cyclops, which only the distributed render aggregation used. * tika-core is managed at the 3.3.2 GeoServer used to bring in; left alone, s3fs-nio's 2.9.2 would replace it, and CVE-2025-66516 affects tika-core up to 3.2.1. gt-netcdf no longer brings in gt-epsg-hsql, which the exclusion on gs-wms-core used to keep out by accident. * The tools, Accumulo and HBase JARs exclude any org.geoserver artifact from shading, and the release script refuses to publish a JAR with GeoServer classes in it. Co-authored-by: Rich Fecher <richard.fecher@vantor.com>
89 dependencies leave the list with GeoServer, among them gs-main, gs-ows, gs-platform and gs-wms-core, the Spring and Spring Security modules only GeoServer used, and tika-core 2.9.2, gt-epsg-hsql and hsqldb. No GeoServer artifact remains. Of the 18 entries that were restricted, 7 are among those removed, and the other 11 have been approved since the file was last generated, so none is restricted. sqlite-jdbc leaves the list too, though the REST services WAR still bundles it: the rest-services-war profile adds it, and Dash runs without that profile, so it was only listed because GeoServer brought it in. Co-authored-by: Rich Fecher <richard.fecher@vantor.com>
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
For the Eclipse IP review: the tools, Accumulo and HBase JARs that GeoWave publishes each bundled 1,746 GeoServer classes. GeoServer is GPL-2.0, and
gs-main/gs-owsare GPL-2.0-only and restricted in Eclipse IP review. They got in because the vector and raster adapters depended ongs-wms-coreat compile scope, solely for distributed rendering.Distributed rendering never ran through GeoServer. Since it was introduced,
DistributedRenderCallbackhas checkedstyle instanceof ProcessFunctionon aFeatureTypeStyle, which is never true, so the DistributedRender SLD always rendered as an ordinary style inside GeoServer. Correcting that check exposed two further failures: the deregistered internal process factory, then GeoServer not findinginternal:InternalDistributedRender. The maintainer decided to remove the feature rather than repair it.Changes
adapter/vector/renderpackage and its test,DistributedRenderProcess,InternalProcessFactory,DistributedRenderProcessUtils,org.geotools.renderer.lite.DistributedRenderer, andapplicationContext.xml, whose only bean was thegetMapCallback;GeoWaveFeatureCollectionandGeoWaveFeatureReader, and the reference inGeoWaveGSProcessFactory;GeoServerIngestIT's distributed-render tile check. Its other WMS checks stay.FeatureAdapterPersistableRegistry.gs-wms-coreis gone from the vector and raster adapters, as are the analytics API's exclusions and allgs-*entries in the root POM. The only GeoServer left is the integration-test harness'sgs-web-appWAR intest/pom.xml.gt-process-feature, which arrived through GeoServer, is now explicit, becauseDecimationProcessuses it.cyclopsis dropped, because only the render aggregation used it.org.geoserver*:*;.utility/publish-release-binaries.shrefuses to publish a JAR containingorg/geoserverororg/vfny.gt-epsg-hsqlis excluded fromgt-netcdf.Verification (JDK 21, local)
PersistableRegistryTestpasses 2/2.org/geoserverorg/vfnyaccumulo-it-server: 168 run, 0 failures.hbase-it-server: 160 run, 0 failures.GeoServerIngestITandGeoServerITunderfilesystem-it: 24 run, 0 failures.geowave gs runwith the GeoServer 3.0.1 WAR:Eclipse IP
DEPENDENCIES: 805 → 716 entries, 0 restricted. Nogs-*remains.IP Check and Python Tests will fail here until #1998 merges; the runner's newer Maven rejects
docs/pom.xml.