Hi, I'm trying to implement a WPS process (in Python) that can be called in parallel to produce data on the same imagemosaic layer (each process will produce different time steps).
I tried making each WPS publishing the same store (by calling the create_imagemosaic method) but I got a lot of errors appearing in Geoserver : - sometimes not all the timesteps available in the directory are referenced in the layer capabilities - I often get messages (apparently from GDAL) like the following : ERROR 4: `/testing/data/geoserver/data/TEST_WS/TEST_LAYER/indexer.properties' not recognised as a supported file format. - I also often get a class cast exception while geoserver is updating the granules : java.lang.ClassCastException: org.geotools.data.shapefile.ShapefileFeatureSource cannot be cast to org.geotools.data.simple.SimpleFeatureStore - Another error concerning the shapefile used for the index (file that is totally handled on geoserver side) : sometimes it does not find it... java.io.FileNotFoundException: /testing/data/geoserver/data/TEST_WS/TEST_LAYER/TEST_LAYER.shp I tried adding a FileLock forcing the WPS processes to NOT ACCES the REST API in parrallel but it did not change much (there are less exceptions, but there are still a few)... Therefore I decided to change my way of creating the layer : - before : I was asking Geoserver to create (or overwrite) an ImageMosaic layer with the content that it will find in a given directory (needed files were created manually) - now : I'm trying to achieve this exactly as they describe it in the gsconfig guide But : 1. Creating a new imagemosaic layer by uploading a simple zip file containing only the indexer.properties and timeregex.properties files (no datastore.properties as I am using shapefiles for storing the index) does not seem to work. The issued command looks like : cat.create_imagemosaic("NOAAWW3_NCOMultiGrid_WIND_test", "NOAAWW3_NCOMultiGrid_WIND_test.zip"), but I get an exception stating that geoserver "Could not aquire reader for coverage." I went into geoserver's code and the part failing is when geoserver tries to create a GridCoverage2D from the content of the directory, which at the time, only contains the indexer.properties and the timeregex.properties. Therefore, is it possible to create the store and the layer without having any data "yet" in the directory ? If not, does this mean that the example in gsconfig guide is wrong ? 2. Harvesting external granules by calling the harvest_externalgranule provided by gsconfig also does not seem to work. As the previous step is failing creating the layer, this call is ended by the following exception : "Failed to access the existing reader to check if it can harvest new files". Geoserver tries to create a GridCoverage2D from the input folder and it simply does not work... Any ideas on how to achieve this correctly ? Thanks, Cyril -- View this message in context: http://osgeo-org.1560.x6.nabble.com/ImageMosaic-creation-using-gsconfig-tp5211132.html Sent from the GeoServer - User mailing list archive at Nabble.com. ------------------------------------------------------------------------------ _______________________________________________ Geoserver-users mailing list Geoserver-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/geoserver-users