Hello GeoServer Community,
We’re unable to get GeoWebCache (GWC) to write tiles in our GeoServer Cloud (2.25.3.0-CLOUD) K8s deployment. We see “Disk Used: 0.0 B” in the UI, and no tile files are created on disk. The core issue seems to be GWC not even attempting to intercept WMS requests for caching, verified this through the DEBUG Level logging.
Setup Details:
- GeoServer Version:
2.25.3.0-CLOUD
(K8s microservices, WMS pod runs asroot
). - Target Cache Path:
[Our Data Directory Mount Point]/gwc/
(a Persistent Volume). - Client: Leaflet
L.tileLayer.wms
sendingTILED=true
requests. - GWC Config:
Direct WMS Integration
is enabled (from startup logs).- A
File BlobStore
namedMyFileBlobStore
is explicitly created in the UI, pointing to[Our Data Directory Mount Point]/gwc/
, and[Our Raster Layer]
is assigned to it. GWC_DISKQUOTA_DISABLED=true
(explains 0.0 B UI display).
Observation (from WMS Pod Logs):
- During startup, logs show:
INFO ... org.geoserver.cloud.gwc.config.core : forcing System Property GEOWEBCACHE_CACHE_DIR=[Our Data Directory Mount Point]/gwc
- During active map Browse (generating WMS requests with
TILED=true
), the logs contain ABSOLUTELY NODEBUG
messages fromorg.geowebcache
ororg.geoserver.gwc
related to incoming tile requests, cache misses/hits, or tile storage. All we see areorg.geotools.renderer.lite
messages (dynamic rendering). This means GWC is not intercepting.
Summary of Troubleshooting & Findings:
- Write Permissions: Confirmed
[Data Directory Mount Path]/gwc/
is writable by GeoServer (creation ofgeowebcache.xml
and.bak
files works). - GWC Debugging:
LOGGING_LEVEL_ORG_GEOWEBCACHE=DEBUG
etc. env vars are confirmed applied in pod manifest.
Hypothesis: The GEOWEBCACHE_CACHE_DIR
system property/environment variable, due to how it’s integrated in GeoServer Cloud, seems to be overriding GWC’s normal behavior, preventing it from intercepting WMS requests for caching and ignoring UI-configured BlobStores for operational use.
Open Questions:
- In
GeoServer 2.25.3.0-CLOUD
, can theGEOWEBCACHE_CACHE_DIR
system property prevent GWC from processing any WMS requests for caching, even whenTILED=true
is sent and aFile BlobStore
is explicitly assigned to the layer in the UI? - What might cause GWC to show no request/cache-related DEBUG logs during active map Browse, even when
DEBUG
is enabled and requests are being served dynamically? - Are there specific GeoServer Cloud configurations (beyond standard UI settings) that might conflict with or override GWC’s tile interception mechanism?
Any guidance on how to enable GWC to intercept and cache in this GEOWEBCACHE_CACHE_DIR
-forced environment would be greatly appreciated.