[Geoserver-devel] [JIRA] (GEOS-9385) GWC initialization thrashes CPU and filesystem at startup

Gabriel Roldan created an issue

GeoServer / ImprovementGEOS-9385

GWC initialization thrashes CPU and filesystem at startup

Issue Type:

ImprovementImprovement

Assignee:

Gabriel Roldan

Components:

GWC

Created:

28/Oct/19 4:47 PM

Priority:

MediumMedium

Reporter:

Gabriel Roldan

During system startup, GeoServer’s GWC initialization does parallel loading of tile layer config objects on the ForkJoinPool.commonPool() which by one side thrashes the file system with many (as in as many cores) I/O threads, and by the other side is heavily locked on XStream synchronized blocks, as all threads share a single XStream instance for unmarshalling of GeoServerTileLayerInfo objects.

Once that’s done, GWCInitializer loads all GeoServer LayerInfo and LayerGroupInfo objects from the catalog into an in-memory list and traverses it again on the ForkJoinPool.commonPool() to find which tile layers are not to be in-memory cached by GWC’s CacheProvider. Although this doesn’t incur in any I/O, wastes memory and processing power when there’s no need to fetch all catalog’s layers and layergroups into an ArrayList.

Add Comment

Add Comment

Get Jira notifications on your phone! Download the Jira Cloud app for Android or iOS


This message was sent by Atlassian Jira (v1001.0.0-SNAPSHOT#100114-sha1:6a0801f)

Atlassian logo