12. Release Notes

12.1. rasdaman v10.5 (2025-04-04)

12.1.1. New features, enhancements, bug fixes

12.1.1.1. OGC frontend (petascope)

  • Support for OpenEO batch jobs (docs)

  • Improve handling of concurrent update operations in petascope

  • Fixed web admin page and web API to not allow updating user’s current access per month

  • Fixed API to check if a coverage exist

  • Fixed petascopedb migration

  • Fixed internal SECORE is not loadable from external tomcat

  • Fixed to allow second operand of WCPS bit(), mod() and pow() as a coverage expression

  • Fixed error in WCPS query when scaling a condense declared in LET clause

12.1.1.2. rasdaman core

  • Encoding to CSV / JSON formats is faster by up to an order of magnitude

  • Updated default formatting of CSV and JSON outputs (docs)

  • Improve performance of encoding to all formats when the intermediate results can fit in memory

  • Improve performance of applying color maps and transposing results before encode by up to an order of magnitude

  • Fixed determining amount of available memory in container environments

12.1.1.3. rasfed

  • Handle qualified/unqualified collection name request properly

  • Enhanced cache in rasdaman by notifying inpeer/collection changes from local rasfed

  • Added error logs in case petascope failed to deserialize JSON string reported by rasfed to objects

12.1.1.4. wcst_import

  • Existing camelCase settings in ingredients files have been deprecated, the snake_case alternatives should be used (docs)

  • Fixed wcs_extract recipe to work with arbitrary number of pixels specified in partitioning_scheme setting

  • Added new expression to extract a tag’s value of a specific band in gdal recipe (docs)

12.1.2. Upgrading

The sections below contain instructions on how to upgrade the software installation from a previous version to stable rasdaman v10.4.

12.1.2.1. From v10.4

To upgrade from the previous stable version v10.4 to stable v10.5:

  1. Stop rasdaman with sudo service rasdaman stop; make sure that the processes are really stopped: if ps aux | grep -E 'ras(mgr|server)' returns any processes, stop them with pkill -9 -f 'ras(mgr|server)'

  2. Update the repository metadata with sudo apt-get update

  3. Two ways to upgrade rasdaman:

    • Upgrade all packages including rasdaman with sudo apt-get upgrade, or

    • Upgrade only the rasdaman package with sudo apt-get install $(dpkg -l | grep "^ii *rasdaman" | awk '{ print $2; }')

12.1.2.2. From testing

To upgrade from the latest testing version to stable v10.5:

  1. Stop rasdaman with sudo service rasdaman stop; make sure that the processes are really stopped: if ps aux | grep -E 'ras(mgr|server)' returns any processes, stop them with pkill -9 -f 'ras(mgr|server)'

  2. Remove the current rasdaman package with sudo apt-get remove $(dpkg -l | grep "rasdaman" | awk '{ print $2; }'); this is required because the stable package generally has the same version but a lower iteration number than the testing one

  3. Change the testing package repository to the stable one in /etc/apt/sources.list.d/rasdaman.list

  4. Update the repository metadata with sudo apt-get update

  5. Install the new rasdaman version with sudo apt-get install $(dpkg -l | grep "rasdaman" | awk '{ print $2; }') (docs)

12.1.3. Migrating

For migrating from one to another OS version, see the migration guide.

12.1.4. Incompatible changes

12.1.4.1. Encode to CSV/JSON

The default format of CSV encoding (docs) is now closer to the standard formatting. Dimensions are distinguished by new lines instead of braces (“{” and “}”), and null values are omitted from the output. In particular, the following changes have been done to the default values of the supported “formatParameters”:

Table 12.1 Format parameter defaults changes

option name

old default

new default

enableNull

false

true

nullValue

N/A

""

dimensionStart

"{"

""

dimensionEnd

"}"

""

dimensionSeparator

","

"\n"

prettyPrint (new)

N/A

true

If the old format of v10.4 and earlier is preferred, it can be achieved by adding the following to the format parameters of the encode function:

▶ show

The format of JSON has been also updated to pretty print the output with new lines and indentation by default. Reverting to the old behavior can be done by specifying "prettyPrint": false in the encode format parameters.

12.1.4.2. wcst_import settings

Any camelCase settings in wcst_import ingredient files are deprecated (but still valid). It is recommended to update ingredient JSON files to use the corresponding snake_case variants.

Table 12.2 camelCase to snake_case setting name changes

old option

new option

pixelIsPoint

pixel_is_point

observationType

observation_type

nilValue

nil_value

nilReason

nil_reason

nilValues

nil_values

uomCode

uom_code

codeType

code_type

codeSpace

code_space

filterMessagesMatching

filter_messages_matching

gridOrder

grid_order

crsOrder

crs_order

directPositions

direct_positions

dataBound

data_bound

areasOfValidity

areas_of_validity

sliceGroupSize

slice_group_size

12.1.4.3. Configuration

allow_write_requests_from setting in petascope.properties is deprecated and will be removed in next major version (docs).

12.1.4.4. raslib

The r_Sinterval and r_Minterval C++ classes have changed memory layout, and may require recompilation of any C++ applications or C++ UDFs using them.

12.1.5. Patch releases

Below fixes in rasdaman v10.5.X patch releases are listed.

12.2. rasdaman v10.4 (2024-11-29)

12.2.1. New features, enhancements, bug fixes

12.2.1.1. OGC frontend (petascope)

  • New simplified and consistent formula for translating geo to grid coordinates when importing / subsetting for regular axes (docs)

  • Support authentication of users via a GitHub account (docs)

  • New API for setting and retrieving a coverage thumbnail (docs)

  • Support passing user-defined parameters for a style fragment in WMS GetMap requests (docs)

  • Change result of admin/udf/listdetails requests to JSON format (docs)

  • UDFs can provide documentation via a getDocumentation() method in the UDF implementation (docs)

  • Changes in triggers or deleting a coverage will be automatically reflected in federated peers

  • Removed API for whitelist/blacklist WMS layers

  • Removed support for coverage metadata in JSON format

  • Required negative geo resolution for axis type Y when importing new coverage

  • Improved performance of WMS GetCapabilities with federated layers

  • Text responses, e.g. for GetCapabilities, will be compressed / decompressed automatically in the Web browser for faster download (docs)

  • Broadcast all layers in the federation instead of only whitelisted layers

  • In DescribeCoverage response the swe:label will be same as the swe:field name if a quantity’s label is not set

  • Validate colorPaletteTable in coverage’s metadata when updating / inserting

  • Throw exception when the WMS GetMap TIME parameter is not a specific datetime value

  • Show blacklisted federated coverages/layers from peer nodes when logged in as admin user

  • Improved checking peer petascope endpoints

  • Improved handling for escaped special XML characters in coverage’s metadata

  • Improved checking a layer’s existence when getting capabilities

  • Improved checking if a coverage exists in petascope’s remote cache

  • Fixed out of memory error when deleting a coveage containing an axis with large number of coefficients

  • Fixed missing manually editted coverage’s metadata in WCS DescribeCoverage responses

  • Fixed null value in WCPS calendar query when VALUES expression is a scalar value

  • Fixed error when concatenating values in an axis iterator domain for a calendar query

  • Fixed issue with zero value for axis extent resolution in petascopedb

  • Fixed issue with incorrect value for axis extent resolution of pyramid member coverages

12.2.1.2. rasdaman core

  • Support authentication of users via a GitHub account; rasql supports option –token as an alternative to –user/–passwd (docs)

  • Support granting/revoking a list of privileges to a role or user (docs)

  • Several new variants for listing privileges (docs)

  • Changing access control directly through rasql commands will be reflected in petascope without requiring a petascope restart

  • Removed PRIV_OWS_WMS_BLACKWHITELIST_LAYER privilege

  • Utility script /opt/rasdaman/bin/backup_rasdaman.sh to help with backing up the rasdaman installation, database and data (docs)

  • Improve listing federated collections in case of firewall timeouts

  • Fixed listing collections on a particular peer node when the port is specified as well

  • Fixed reporting of UPDATE/DELETE query execution times in rasserver logs

  • Fixed distinction of SELECT INTO queries as update statements in edge cases

  • Fixed serialization of scalar literals in federated subqueries

  • Fixed propagation of NULL scalar results in federated subquries

12.2.1.3. wcst_import

  • New setting thumbnail_path to set a coverage’s thumbnail (docs)

  • New setting wms_styles to add styles to a WMS layer when inserting a coverage (docs)

  • New setting coverage_metadata to define non-rasdaman global metadata in ingredients file (docs)

  • New setting blacklist_source_coverages to control the visibility of source coverages of a virtual coverage (docs)

  • Support validity setting for adjusting areasOfValidity of updating coefficients implicitly (docs)

  • Match multiple input files to defined areasOfValidity` in a single ingredients file

  • Support for OGC/O/Temporal CRS

  • Support for specifying band settings in sentinel1 recipe

  • Removed support for coverage’s metadata in JSON format

  • Nested functions in expressions are evaluated properly in python list comprehension

12.2.1.4. federation

  • Removed properties penaltyTimeForBeingInactive in rasfed.properties and improved the way to verify if a peer node is active

  • Improved rasfed status update between peers

  • Improved federation communication between rasfed and petascope

12.2.1.5. secore

  • Fixed issue to show invalid EPSG CRS with source opengis.net and

  • Aded new setting max_cache_size for controlling SECORE’s cache size.

  • Added new setting ignore_agents_matching in secore.properties to filter requests crawling SECORE by user-agent bots

12.2.1.6. Installation

12.2.1.7. Documentation

  • New guide for upgrading from Ubuntu 22.04 to Ubuntu 24.04 (docs)

  • New doc for configuration in secore.properties (docs)

12.2.2. Upgrading

The sections below contain instructions on how to upgrade the software installation from a previous version to stable rasdaman v10.3.

12.2.2.1. From v10.3

To upgrade from the previous stable version v10.3 to stable v10.4:

  1. Stop rasdaman with sudo service rasdaman stop; make sure that the processes are really stopped: if ps aux | grep -E 'ras(mgr|server)' returns any processes, stop them with pkill -9 -f 'ras(mgr|server)'

  2. Update the repository metadata with sudo apt-get update

  3. Two ways to upgrade rasdaman:

    • Upgrade all packages including rasdaman with sudo apt-get upgrade, or

    • Upgrade only the rasdaman package with sudo apt-get install $(dpkg -l | grep "^ii *rasdaman" | awk '{ print $2; }')

12.2.2.2. From testing

To upgrade from the latest testing version to stable v10.4:

  1. Stop rasdaman with sudo service rasdaman stop; make sure that the processes are really stopped: if ps aux | grep -E 'ras(mgr|server)' returns any processes, stop them with pkill -9 -f 'ras(mgr|server)'

  2. Remove the current rasdaman package with sudo apt-get remove $(dpkg -l | grep "rasdaman" | awk '{ print $2; }'); this is required because the stable package generally has the same version but a lower iteration number than the testing one

  3. Change the testing package repository to the stable one in /etc/apt/sources.list.d/rasdaman.list

  4. Update the repository metadata with sudo apt-get update

  5. Install the new rasdaman version with sudo apt-get install $(dpkg -l | grep "rasdaman" | awk '{ print $2; }') (docs)

12.2.3. Migrating

For migrating from one to another OS version, see the migration guide.

12.2.4. Incompatible changes

  • Removed WMS layer blacklisting - this is now handled solely by blacklisting the corresponding coverage

  • WCPS UDFs need to be rebuilt with sudo -u rasdaman bash /opt/rasdaman/share/rasdaman/petascope/udf/build_udfs.sh

  • The new formula for translating geo to grid coordinates in petascope may result in small (maximum 1 pixel) shift in results of WCS / WCPS queries

12.2.5. Patch releases

Below fixes in rasdaman v10.4.X patch releases are listed.

12.2.5.1. v10.4.10 (2025-03-04)

rasserver core

  • Reduce memory usage in the encode() function

  • Improve performance of streaming array results to the client

wcst_import

  • Fixed issue with numpy array conversion to Decimal for netCDF recipe

rasfed

  • Improved rasfed caches in rasmgr/rasserver with mqtt

12.2.5.2. v10.4.9 (2025-03-01)

rasserver core

  • Improved consistency of scale results in case of varying operand tiling schemes

  • Reduce requests to local rasfed by caching information for up to 5 minutes

OGC frontend (petascope)

  • Optimize evaluation of WMS GetMap requests to generate more efficient rasql queries

  • Improved null error handling in rare case when updating a coverage and running WMS GetMap requests in parallel

  • Improved logging of rasql queries associated with OGC requests

  • Improved performance for irregular axis coefficients

wcst_import

  • Added retrying for CRS parsing in wcst_import

12.2.5.3. v10.4.8 (2025-02-19)

rasserver core

  • Dropping a collection will automatically drop any triggers that reference it

  • Improved query execution errors with accurate line/column/token information

  • Fixed null value propagation in clip function

  • More efficient and accurate common-subexpression elimination in rasql queries

  • More accurate serialized format of floating-point null values

OGC frontend (petascope)

  • Improved error handler when importing same coverage id in parallel

  • Improved connection handling when rasdaman is busy

  • Improved query result handling on exceptions after a rasql query has executed

  • Improved importing downscaled pyramid based on a virtual coverage

  • Improved logging when deleting coverages

  • Return correct range data types when encoding in gml or json of CIS 1.1 standard

wcst_import

  • Added coverageId request parameter in InsertCoverage request for better logging in petascope.log

12.2.5.4. v10.4.7 (2025-02-03)

OGC frontend (petascope)

  • Fix performance regression in GetCapabilities on federated servers introduced in v10.4.4

12.2.5.5. v10.4.6 (2025-01-31)

rasserver core

  • Do not print number type suffix for long values (l), e.g. in sdoms when listing a trigger

OGC frontend (petascope)

  • Fixed issue with null remote coverages when processing WCS GetCapabilities

  • Improved performance for WMS GetMap request in case coverage has large local metadata

12.2.5.6. v10.4.5 (2025-01-30)

rasserver core

  • Add polygonize() function for converting raster arrays to vector (docs)

  • Triggers support testing if a sdom covers / intersects some or all of the areas of a particular collection accessed in a query (docs)

OGC frontend (petascope)

  • Return correct headers for plain text WCPS results

  • WCPS polygonize function for converting a 2D coverage to a vector format (see doc)

wcst_import

  • Reduced absolute file path in fileReferenceHistory metadata to just file name

12.2.5.7. v10.4.4 (2025-01-23)

OGC frontend (petascope)

  • Fixed incorrect values of sizeInBytesWithPyramidLevels results in WCS GetCapabilities responses

  • Fixed invalid grid domain generated for irregular axis nested subset

  • Improved virtual coverage performance with irregular axes

  • Derived geo XY resolutions from source coverage if omitted from ingredients file of a virtual coverage

  • Add support for creating a subset virtual coverage based on source coverages

  • Add support for creating a virtual coverage from another virtual coverage

  • Fixed some failed subsettings on a virtual coverage’s with regular/irregular axes

wcst_import

  • Add support for creating a subset virtual coverage based on source coverages

  • Throw error when metadata value of a property key is not a JSON string

  • Fixed issue with evaluating bands metadata as python function

wcs-client

  • Remove trailling & character in shortened CRS in WSClient>Describe Coverage tab

12.2.5.8. v10.4.3 (2025-12-30)

OGC frontend (petascope)

  • Fixed coefficients issue of irregular axes when handling WMS GetMap requests over timeseries

12.2.5.9. v10.4.2 (2024-12-21)

OGC frontend (petascope)

  • Log unreadable coverages when logged in with admin user

  • Fixed slowness of WMS GetCapabilities result for federation

  • Fixed synchronization of virtual coverage with updates on source coverages

  • Fixed issue with escaped element tag name improperly in coverage’s metadata

  • Fixed issue with duplicated elements in coverage’s metadata

rasdaman core

  • Fixed Python UDF issues on Ubuntu 24.04

  • Fixed small discrepancy in results from color map application in AVX-512 optimized rasdaman

12.2.5.10. v10.4.1 (2024-12-10)

OGC frontend (petascope)

  • Fixed not found coverage issue with NC style format

  • Fixed minor deviances from the WMTS standard

  • Fixed Dimension’s extent for regular axis reported in WMS GetCapabilities results

  • Improved caches for coverages and layers

rasdaman core

  • Throw error instead of just logging a warning when a registered file fails to open/decode

  • Support for caching registered Sentinel-2 files from s3 on local filesystem

12.3. rasdaman v10.3 (2024-03-13)

12.3.1. New features, enhancements, bug fixes

12.3.1.1. rasdaman core

  • Support for Python UDFs (docs)

  • Support for shift_to rasql function (docs)

  • Support for overlay in general array condenser (docs)

  • Support for ascending / descending order of iteration in CONDENSE

  • Code using raslib to send rasql queries to rasdaman can now check the null status of a returned scalar r_Primitive value with the is_null() method

  • Null status of scalar values is transmitted to the client, and printed as NULL by the rasql command-line tool

  • The rasql tool can read passwords from a ~/.raspass file (docs)

  • Added railroad diagram of the rasql language grammar (docs)

12.3.1.2. OGC frontend (petascope)

  • Areas of validity for temporal coefficients of irregular axes on newly imported coverages (docs)

  • Advanced calendar capabilities in WCS/WCPS (docs)

  • API to update the null values of a coverage (docs)

  • API to return the list of loaded WCPS UDFs (docs)

  • OGC API - Coverages endpoint /rasdaman/oapi with support for latest standard draft version (docs)

  • Add support for openEO at endpoint /rasdaman/openeo (docs)

  • Add support for OGC Geodatacubes API specification at /rasdaman/gdc (docs)

  • New setting crs_domain to configure the domain for CRS URLs in WCS responses (docs)

  • Move several fixed settings of Spring framework from petascope.properties to application.properties (internal to rasdaman.war)

  • Do not add implicit nodata values to encode; may require adding null values [..] clause to WMS style queries

  • In WCPS scalar results which are null values are now returned as NULL (or { NULL, ... } for composite values)

  • Added railroad diagram of the WCPS language grammar (docs)

  • Metadata elements under covMetadata in the WCS DescribeCoverage response will have a rasdaman namespace with a ras: prefix by default (unless a namespace was set during data import)

12.3.1.3. wcst_import

  • if "tiling" is not specified in the ingredients file (docs), it will be automatically derived

  • an --analyze option when invoking wcst_import.sh has similar effect as "mock": true in the ingredients (docs)

  • "skip": "files_that_fail_to_open" to skip files which cannot analyze by wcst_import (docs)

12.3.1.4. rasfed

  • New rasfed settings readFromOutpeerTimeoutMs and writeToOutpeerTimeoutMs allowing to configure the timeout to read / write from / to an outpeer node (docs)

12.3.1.5. installation

  • Packages optimized for specific CPU architectures are available: rasdaman (SSE 4.1), rasdaman-avx (AVX), rasdaman-avx2 (AVX2), rasdaman-avx512 (AVX-512); to see which features are supported by your CPU, run grep flags /proc/cpuinfo | head -n1 | grep -o -E '(sse|avx)[^ ]*' (docs)

  • Packages for Ubuntu 24.04

12.3.2. Upgrading

The sections below contain instructions on how to upgrade the software installation from a previous version to stable rasdaman v10.3.

12.3.2.1. From v10.2

To upgrade from the previous stable version v10.2 to stable v10.3:

  1. Stop rasdaman with sudo service rasdaman stop; make sure that the processes are really stopped: if ps aux | grep -E 'ras(mgr|server)' returns any processes, stop them with pkill -9 -f 'ras(mgr|server)'

  2. Update the repository metadata with sudo apt-get update

  3. Two ways to upgrade rasdaman:

    • Upgrade all packages including rasdaman with sudo apt-get upgrade, or

    • Upgrade only the rasdaman package with sudo apt-get install $(dpkg -l | grep "^ii *rasdaman" | awk '{ print $2; }')

12.3.2.2. From testing

To upgrade from the latest testing version to stable v10.3:

  1. Stop rasdaman with sudo service rasdaman stop; make sure that the processes are really stopped: if ps aux | grep -E 'ras(mgr|server)' returns any processes, stop them with pkill -9 -f 'ras(mgr|server)'

  2. Remove the current rasdaman package with sudo apt-get remove rasdaman; this is required because the stable package generally has the same version but a lower iteration number than the testing one

  3. Change the testing package repository to the stable one in /etc/apt/sources.list.d/rasdaman.list

  4. Update the repository metadata with sudo apt-get update

  5. Install the new rasdaman version with sudo apt-get install $(dpkg -l | grep "rasdaman" | awk '{ print $2; }') (docs)

12.3.3. Migrating

For migrating from one to another OS version, see the migration guide.

12.3.4. Incompatible changes

If a query returns a scalar value that is null in rasdaman, then rasj will now return a null object. Hence, Java code using rasj to send rasql queries to rasdaman should check if returned scalar objects are null.

12.3.5. Patch releases

Below fixes in rasdaman v10.3.X patch releases are listed.

12.3.5.1. v10.3.16 (2024-xx-xx)

OGC frontend (petascope)

  • Improved GetCapabilities performance for federation.

  • If an outpeer is stopped, then throw coverage not found instead of loading the object from petascope’s cache

  • OAPI added support for cube:dimensions and summaries properties when describing a collection

  • Fixed issue with curtain clipping returning invalid grid extents

  • Improved initalizing time for WMTS TimeMatrixSet when petascope starts

  • Fixed issue in pyramid member coverage’s axis extent without propagated grid extents from coverage’s index axes

  • Fixed issue when WCPS UDF contains a wrong package name

  • Fixed out of geo extents issue for WMS GetMap request with a style containing another federated virtual coverage

12.3.5.2. v10.3.15 (2024-09-18)

rasdaman core

  • Fixed merging of nested subsets in an marray cell expression

  • Fixed evaluation of shift_to in certain cases

  • Fixed revoking an invalid role which is not granted to a user

OGC frontend (petascope)

  • Fixed issue with importing files with data type Int8 for gdal v.3.7+ in petascope

  • Fixed issue with incorrect reloading tables / dropdowns in Web Admin access control

  • Fixed issue with null error when slicing in all axes of a virtual coverage

  • Fixed issue with null value when deserializing RangeType from federated serialized basic coverages

wcst_import

  • Support OGC/0/Temporal CRS

12.3.5.3. v10.3.14 (2024-08-30)

rasdaman core

  • Fixed evaluation of nested subsets with iterator references in an marray/condense

  • Fixed listing of collections with access disabled by a trigger

  • Fixed transmission of scalar result null status in federation remote subqueries

OGC frontend (petascope)

  • Fixed issue with null error in case a federated coverage has a WCPS fragment style containing an unqualified layer name

  • Fixed issue with WMS subset in case pyramid’s lower bound is smaller than base coverage’s lower bound

  • Fixed issue in federation when a range label has spaces

12.3.5.4. v10.3.13 (2024-08-16)

rasdaman core

  • Fixed band selection on clip with coordinates

OGC frontend (petascope)

  • Added retry in case CRS resolver fails to respond

wcst_import

  • Fixed potential crash when applying too many data expressions during netcdf data import

12.3.5.5. v10.3.12 (2024-08-04)

rasdaman core

  • More robust reading of rasfed properties during rasdaman startup

  • Throw a more descriptive error when updating a non-insitu ingested tile with an insitu one

  • Throw error instead of crash when insitu decoded file has different base type from the collection type

  • Properly update MDD type in ALTER COLLECTION statements

OGC frontend (petascope)

  • Fixed issue with displaying WMS layer as blacklisted but only the associated coverage is blacklisted

12.3.5.6. v10.3.11 (2024-07-25)

rasdaman core

  • Fixed null value propagation when extending an array

  • Fixed issue introduced in v10.3.10 in queries with array joins

wsclient

  • Added error message handler in login form

12.3.5.7. v10.3.10 (2024-07-18)

rasdaman core

  • Fixed join of non-matching tiles in induced condenser

  • Fixed splitting of marray constructor in intra-query parallelization

wsclient

  • Fixed issue with cached logged in user caused WebWorldWind could not load properly

wcst_import

  • Fixed issue with parsing datetime literal in areasOfValidity

12.3.5.8. v10.3.9 (2024-07-09)

rasdaman core

  • Fixed join of arrays with non-matching tilings in an marray constructor

  • Fixed selecting a point withing array sdom but not touching any physical tile should return a NULL

OGC frontend (petascope)

  • Improved coverage’s metadata in XML handler

  • Added API to update a regular axis’ origin (docs)

wsclient

  • Fixed issue with loading main app when no authentication is enabled in petascope.properties

documentation

  • Add documentation on common access-control patterns (docs)

12.3.5.9. v10.3.8 (2024-06-24)

OGC frontend (petascope)

  • Improved loading time for large areas of validity coefficients of an irregular axis

  • Show rasdaman rasj stacktraces in petascope.log when full_stacktraces=false

  • Improved null checks in petascope for invalid request/service/version parameters and WMS style name

  • Supported WCPS UDF names with snake_case

documentation

  • Improved documentation of rasdaman-specific metadata in DescribeCoverage responses (docs)

12.3.5.10. v10.3.7 (2024-06-17)

rasdaman core

  • Fixed slow evaluation of certain types of federated queries

  • Make rasfed startup more robust

  • Increased default federation peer connection timeout from 3 to 10 seconds

  • Suppress harmless connection warnings in rasfed.log

OGC frontend (petascope)

  • Fixed coverage’s metadata with nested ras:covMetadata elements issue

12.3.5.11. v10.3.6 (2024-06-05)

rasdaman core

  • New configuration option in rasmgr.conf to set limit on amount of memory rasdaman can use for evaluating queries (docs)

  • Default memory limit in rasdaman is set to 1 GB less than available system memory as reported by /proc/meminfo

wcst_import

  • Fixed issue with default_null_values is an empty array

12.3.5.12. v10.3.5 (2024-05-31)

rasdaman core

  • Fixed issue with restarting rasserver processes in case of a crash

  • More robust handling of cached data

  • Fixed accuracy of floating-point values in federated subqueries

OGC frontend (petascope)

  • Improved coverage data models internally

  • Fixed issue with requesting non geo-referenced dimensions which are already defined in a WMS style

  • Fixed WMTS to show the tile matrix set name properly

  • Fixed an issue with WMS BGCOLOR

wcst_import

  • Fix creating multiband null values in the generated GML file

documentation

  • Added section for the structure of rasdaman-specific metadata in DescribeCoverage responses (docs)

12.3.5.13. v10.3.4 (2024-05-07)

rasdaman core

  • Fixed issue with shutdown in case of server crash

OGC frontend (petascope)

  • Fixed issue with WMS on virtual layers in corner cases when the layer native CRS is different than EPSG:4326

  • Add API for converting an irregular axis to regular axis (docs)

  • Add API support for updating range type of a coverage (docs)

wcst_import

  • Add label setting in general_coverage recipe to specify a band’s label

wsclient

  • Fixed issue with WMS timeslider for regular time axis in UnixTime CRS

12.3.5.14. v10.3.3 (2024-04-22)

wcst_import

  • Do not send request to non-existing IndexCRS unit of measurement URL

  • Implicitly if possible try to convert min/max values of a temporal axis to ISO datetime for general_recipe

OGC frontend (petascope)

  • Improve WCS / WMS GetCapabilities response time for federated objects by cache

wsclient

  • Improve sliders for DescribeLayer tab when a layer has a lot of timeslices

12.3.5.15. v10.3.2 (2024-04-10)

rasdaman core

  • mosaic function for mosaicing multiple arrays into one (docs)

  • Support for specifying multiples of bytes with kB, MB, or GB suffix (docs)

  • Clipping linestring / polygon that extends outside the MDD spatial domain will return the full clip domain instead of just the intersection with the MDD spatial domain

  • Bug fixes and improvements in the rasdaman cache

OGC frontend (petascope)

  • Do not add colorPalette from coverage’s global metadata in rasql encode() if colorMap exists as extra metadata

  • Support adding sibling customized metadadata besides rasdaman’s metadata in coverage’s metadata

general

  • Improvements in stability and robustness

rasfed

  • Added rasmgr’s port and rasdaman version in the output of active_outpeers message request

12.3.5.16. v10.3.1 (2024-03-22)

rasdaman core

  • Add support for listing UDFs with parameters and result type in human-readable as well as JSON format (docs)

  • Fix performance of marray expressions in edge case with multiple interval iterators and array-valued cell expression

  • Fix quota evaluation in edge case when all quota is exhausted but the current query does not require a specific resource at all

OGC frontend (petascope)

  • Set default CRS endpoint https://www.opengis.net to return in WCS DescribeCoverage results

  • Support spatial geo XY axis labels in subsettingCRS of target resolutions / domains expression in WCPS crsTransform()

  • Filter remote coverages in GetCapabilities results by requesting rasdaman user properly

  • Fix WCS GetCapabilities to respond request sections parameter properly

  • Add support in WCS and WCPS for subsetting by axis labels specified in the subsettingCRS

  • Fix updating areas of validity properly for an irregular with direct positions specified in the ingredients file

installation

  • Add libgrpc as dependency to the rasdaman Debian packages

12.4. rasdaman v10.2 (2023-03-15)

12.4.1. New features, enhancements, bug fixes

12.4.1.1. rasdaman core

  • Add support for monthly and per-query quotas (docs)

  • Add support for collecting query cost metrics to be used for billing purposes (docs)

  • Add support for using PostgreSQL as a backend, as an alternative to the default SQLite backend (docs)

  • Add support for –queryfile and –out formatted options in rasql

  • Multiplication with bool (e.g. masks) preserves the type of the non-bool operand, avoiding unnecessary type inflation (docs)

  • Flexible serialization of multi-band tiles to either pixel or channel-interleaved representation

  • Improve scalability when handling many clients concurrently

12.4.1.2. OGC frontend (petascope)

  • Support billing features with web APIs

  • Support creating a downscaled coverage of a virtual coverage

  • WCPS supports non-standard scale by factors (docs)

  • WCPS supports axis iterators in coverage constructor with geo extents from domain() operator (as well as .lo and .hi)

  • WCPS crsTransform supports target geo XY resolution and geo XY bounding box extra parameters.

  • WCPS supports domain($coverageExpression, axisLabel).resolution to get the geo resolution of an axis

  • WCPS fixed parsing of WHERE clause when LET is also present in a query

  • Support logging level for rasj in petascope.properties (docs)

  • Enhanced serialization / deserialization for fetching coverages / layers objects from peers

  • Fixed creating a local pyramid member when there is a remote pyramid member with the same name

  • Fixed to remove extra spaces from the petascope.log path in the default petascope.properties

12.4.1.3. federation

  • Enhance caches in petascope to collect remote objects for GetCapabilities results

  • Support RASBASE running on postgresql (docs)

12.4.1.4. wcst_import

  • Support alternative CRS shorthand notation (docs)

  • Support relative file path when importing netCDF/HDF4/HDF5 files via gdal recipe

  • Optimized import of Sentinel 2 data when possible (docs)

  • Fixed import of non-globbed files in subdirectories

  • Fixed invocation with ingredients file with whitespace in the file path

12.4.1.5. documentation

  • Expand section about migrating from one OS version to another with specific steps for Ubuntu 18.04 to 20.04, and Ubuntu 20.04 to 22.04 (docs)

  • Add section about ows4R package to access OGC WCS via R (docs)

12.4.1.6. installation

  • Drop support for CentOS 7 and Ubuntu 18.04 packages as these OS are close to EOL

  • Add feature to run an optional custom check script in the watch_rasdaman.sh script (docs)

  • Support JAVA_OPTS environment variable in migrate_petascopedb.sh

12.4.2. Upgrading

The sections below contain instructions on how to upgrade the software installation from a previous version to stable rasdaman v10.2.

12.4.2.1. From v10.1

To upgrade from the previous stable version v10.1 to stable v10.2:

  1. Stop rasdaman with sudo service rasdaman stop; make sure that the processes are really stopped: if ps aux | grep -E 'ras(mgr|server)' returns any processes, stop them with pkill -9 -f 'ras(mgr|server)'

  2. Update the repository metadata with sudo apt-get update

  3. Install the new rasdaman version with sudo apt-get install rasdaman

12.4.2.2. From testing

To upgrade from the latest testing version to stable v10.2:

  1. Stop rasdaman with sudo service rasdaman stop; make sure that the processes are really stopped: if ps aux | grep -E 'ras(mgr|server)' returns any processes, stop them with pkill -9 -f 'ras(mgr|server)'

  2. Remove the current rasdaman package with sudo apt-get remove rasdaman; this is required because the stable package generally has the same version but a lower iteration number than the testing one

  3. Change the testing package repository to the stable one in /etc/apt/sources.list.d/rasdaman.list (Ubuntu) or /etc/yum.repos.d/rasdaman.repo (CentOS 7)

  4. Update the repository metadata with sudo apt-get update

  5. Install the new rasdaman version with sudo apt-get install rasdaman

12.4.3. Migrating

For migrating from one to another OS version, see the migration guide.

12.4.4. Incompatible changes

  • Ubuntu 18.04 and CentOS 7 are not supported anymore, rasdaman v10.2 can be installed only on Ubuntu 20.04 and 22.04

  • The server/client protocol has backwards-incompatible changes:

    • C++ / Java clients must be recompiled with the latest rasdaman client API libraries to be able to communicate with rasdaman v10.2 servers

    • In federations, all rasdaman instances must be upgraded to the same rasdaman v10.2

    • C++ UDF libraries must be recompiled against the rasdaman v10.2 libraries in /opt/rasdaman/lib after upgrading

12.4.5. Patch releases

Below fixes in rasdaman v10.2.X patch releases are listed.

12.4.5.1. v10.2.15 (2024-01-12)

rasdaman core

  • Initialize extended areas in extend() with null values

  • Fix overlay of operands with different tilings

OGC frontend (petascope)

  • Drop rasdaman collection in case of failed to insert first null values when creating a new coverage

  • Fix issue with WMS layers not shown in WMS GetCapabilities in case of duplicated layer names

  • Improve WCPS subsets by pushing down outer subsets to inner subsets if possible

12.4.5.2. v10.2.14 (2023-12-08)

rasdaman core

  • Fix CONCAT to automatically shift operand arrays to the origin of the first array

  • Fix PROJECT to the same CRS as the source CRS

  • Fix federated queries to virtual coverages

  • Fix propagation of null values through cast operations when the null values are still in range of the new type

  • Fix subsetting over array-valued MARRAY operations

OGC frontend (petascope)

  • Support -- as separators in federated qualified coverage id

  • Added billing quota management and users queries metrics view in web admin pages

wcst_import

  • Support codeSpace for "observationType": "categorial" in general_recipe

12.4.5.3. v10.2.13 (2023-11-30)

rasdaman core

  • Improve performance of list collections sizes queries

  • Fix parsing of multiband nullsets from collections on federated nodes

OGC frontend (petascope)

  • Extra local metadata of updated coverage’s metadata is serialized properly in GML

  • Show more accurate coverage size in bytes in GetCapabilities results

  • Add new INSPIRE setting inspire_dls_spatial_dataset_identifier in petascope.properties

  • Support swe:Category and SWE definition attribute

  • Add billing management web admin page

  • Adjusted GML responses from WCS 2.1.0 GetCapabilities, DescribeCoverage and GetCoverage requests

wsclient

  • Fixed issue with sending outputType=GeneralGridCoverage parameter for non-GML format in WCS GetCoverage tab

  • Added option to select WCS 2.0.1 result from GetCapabilities tab (default it is WCS 2.1.0)

wcst_import

  • [RE] Add nilValues setting to support importing band with multiple null values

  • Add definition attribute in a band’s specification

  • Add observationType setting to set the type of a band to show in GML

12.4.5.4. v10.2.12 (2023-11-21)

rasdaman core

  • Add support for reporting collection sizes with a list collections sizes query

  • Improve performance of dbinfo() for large arrays

rasfed

  • Local rasfed sends request to ask for status message from inpeer nodes

OGC frontend (petascope)

  • Add rasdaman/admin/version endpoint to return rasdaman’s version

  • If authentication is not enabled, petascope still requires basic authentication with privileged user’s credentials for admin requests

  • Improve band subsetting in one-band coverage

  • Improve WMS GetMap request in case of mismatching coefficients between base and pyramid members

  • Using source coverage’s collection name properly when inserting a new virtual coverage

wsclient

  • Added option to select coverage type in WCS DescribeCoverage / GetCoverage tabs (default it is CIS 1.1)

12.4.5.5. v10.2.11 (2023-10-23)

rasdaman core

  • Fix CONCAT of induced condenser operands

  • Throw an error when a composite value with a single band is created

OGC frontend (petascope)

  • Improve WMS GetMap response results when scaling small grid domains to target width and height

  • Virtual coverage uses first source coverage metadata as its metadata in case no metadata is set when inserting the virtual coverage

  • Create a new pyramid member should use the previous pyramid member if it exists in case of scale vector is equal for non-XY axis

secore

  • Return text/xml by default and application/gml+xml format if request header is Accept: application/gml+xml

wcst_import

  • Faster import of Sentinel-2 data from S3 storage (docs)

  • wcst_import only logs to terminal console, instead of logging to log file

12.4.5.6. v10.2.10 (2023-09-22)

rasdaman core

  • Fix estimating result size for quota evaluation to be more accurate when encode has a colorMap

  • Improve logged error on quota violation

  • Change default RASSTATS location on first install to /opt/rasdaman/data/rasstats/RASSTATS

  • Allow creating RASSTATS even if RASBASE already exists

OGC frontend (petascope)

  • WCPS supports binary induced function atan2 / arctan2 (docs)

  • WCS/WCPS allows subsetting / crsTransform() by OGC:CRS84 CRS

  • Document external Tomcat security configuration for billing API (docs)

  • Fix issue with missing sqlite JDBC driver for billing API

  • WMS fixed slicing on regular time axis to return proper grid index

  • Throw detailed error when accessing embedded SECORE which is not enabled in petascope.properties

  • Validate rasdaman_user and rasdaman_pass settings if non-empty at startup

wsclient

  • Fix sometimes wsclient does not show the login page at loading page

  • Do not require double logins for admin functions

wcst_import

  • wcst_import works with https SECORE URL configured in petascope.properties

12.4.5.7. v10.2.9 (2023-09-07)

rasdaman core

  • Add support for binary induced function arctan2

  • The pow / power function supports exponent of any type (not just floating-point)

  • Fix unfair scheduling in rasmgr

OGC frontend (petascope)

  • Add usernames as a new criterion on statistic page of rasdaman web admin tools

  • Fix WMS GetMap request with WCPS fragment style containing pre-defined axis slicings

  • Fix coverage’s WGS84 bounding box to return in WCS GetCapabilities response

  • Fix wrong collection alias in generated rasql FROM clause in case of scaling a pyramid member with different collection name to coverage id

  • Fix coverage’s metadata returned in XML format for WCS DescribeCoverage request

  • Add check for invalid non-XY subsets which are out of extents in WMS GetMap requests

  • SECORE resolves CRS defined in userdb with full XQuery query

  • Improve rasdaman’s collection type creation with band names

  • WCS / WCPS supports CRS projection with shorthand style format

12.4.5.8. v10.2.8 (2023-08-09)

rasdaman core

  • dbinfo output contains the null values if any were specified for the collection

  • Fix evaluation of federated queries containing UDF operations

OGC frontend (petascope)

  • WMS GetMap filters null values which are out of range values [0-255] for encoding in PNG

  • Fix WCPS UDFs not reloaded in case of jar files rebuilt

  • WCPS fixed missing collection iterators of some source collections in rasql FROM clause

  • WCPS fixed scale() / extend() operators with target domains specified from LET clause variable

  • WCPS fixed OVERLAY behavior with b is on top of a for a OVERLAY b

  • WCPS UDF signature supports non-argument

wcst_import

  • Fixed parsing errors for per-band null values in default_null_values setting in the ingredients file

wsclient

  • Allow admin to overwrite metadata when the current metadata is invalid XML

12.4.5.9. v10.2.7 (2023-07-23)

rasdaman core

  • Fix evaluation of nested CONDENSE with a WHERE clause referencing coordinates of parent MARRAY

OGC frontend (petascope)

  • Fix null error of WCPS subsets on an empty area of a virtual coverage

  • Fix WMS GetCapabilities to conform with OGC 1.3.0 schema

  • Support BGColor optional parameter in WMS GetMap request for requesting layer with 1, 3 or 4 bands

  • WMS GetMap without TRANSPARENT=TRUE return white color for nodata pixels instead of transparency

  • Fix problem with WMS GetMap request on multiple layers with different geo extents and resolutions

  • WMS GetMap request support crs=CRS:84

  • [RE] Add a warning message when updating the admin user configured in petascope.properties via petascope

  • Strip random parameter from incoming requests to bypass web browser’s cache

  • Update ANTLR4 library for WCPS to the latest version to support java 11+

  • Enhance WCS scaling extension via WCPS query

  • Remove unused collection alias in generated rasql queries from WCPS queries

WSClient

  • Fix WMS GetCapabilities to conform with OGC 1.3.0 schema

12.4.5.10. v10.2.6 (2023-06-20)

rasdaman core

  • Fix evaluation of federated queries when a remote coverage has multiple nullsets

  • Fix evaluation of array-valued array constructor in edge cases

  • Fix evaluation of scale operator in edge cases

OGC frontend (petascope)

  • Fix WMS results in case of different geo extents accross base and its pyramid members

  • Dimension elements must contain a units attribute in WMS GetCapabilities response

  • Internal SECORE shows the context path based on petascope endpoint in results

  • Fix null error in case when crsDefinition is not available in WCPS

  • Auto reload WCPS UDFs when UDF jars files changed / removed

  • Fixed WCPS to return multipart responses properly

  • Improve pyramid member selection when requesting a non-existing coefficient on coverage axis

  • More robust handling of parallel tasks in federated services

  • Improve optimization of scaling and subsetting operations in WCPS queries

  • Improve performance of GetCapabilities requests

wcst_import

  • Fix time_series_regular recipe to work with UnixTime CRS

SECORE

12.4.5.11. v10.2.5 (2023-05-19)

rasdaman core

  • Fix bug in scale operator evaluation in certain edge cases

OGC frontend (petascope)

  • Fix incorrect results for WMS GetMap on YX grid orders layer

  • Support XY axes order with NorthEast orientation (e.g. EPSG:31467)

wsclient

  • Show WCS/WMS GET requests on the GUI

12.4.5.12. v10.2.4 (2023-05-05)

rasdaman core

  • Improved performance of scaling 2D arrays

OGC frontend (petascope)

  • Gracefully handle when a coverage type does not exist in rasdaman

  • Fixed petascope deployment with H2 database backend

  • Sort pyramid members by scale factor when creating a new pyramid member

  • Improved performance when processing WCS GetCapabilities requests

  • Fixed shifting error in irregular axis when doing subsettings

  • Fixed null error when creating pyramid member of a renamed pyramid member coverage

  • Fixed error when renaming a pyramid member of a base coverage

  • Enhanced authentication checking in wsclient on petascope startup

  • Fixed problem with WMS GetMap on coverages with NaN null values

  • Enhanceed accuracy for WMS GetMap subsets on lower resolution layers

wsclient

  • Display shorter federated coverage Ids and layer names on GetCapabilities tabs with tooltips

  • Recalculate the total coverages/layers and their sizes when filtering on tables in GetCapabilities tabs

  • Add tab in DescribeLayer WMS tab to allow to add an existing geo-referenced coverage as a pyramid member of the selected layer

  • Add CreateLayer tab to create a WMS layer from an existing geo-referenced coverage

  • Enhanced performance after deleting a coverage / layer and creating / deleting a style of a WMS layer

  • Added DeleteLayer tab to remove a WMS layer

  • Fixed error to display footprints on WebWorldWind in both WCS and WMS GetCapabilities tabs

  • Added Login button in case authentication_type=basic_header and rasdaman_user=some_user are set in petascope.properties

  • Display error when petascope is not loadable when wsclient starts

  • Fixed GetCoverage button error in case petascope endpoint is not /rasdaman/ows

12.4.5.13. v10.2.3 (2023-04-19)

rasdaman core

  • Improve performance in list collections / GetCapabilities queries in large federations

OGC frontend (petascope)

  • Support java 17

  • Enhance resolving UoM CRS when running internal SECORE

  • Fixed internal SECORE failed to start when petascope starts

  • Support internal SECORE for different web application name instead of rasdaman.war

  • Improved time to create WMTS layers when petascope starts

CRS resolver (SECORE)

  • Support java 17

wcst_import

  • Add validation to check that "skip":true if "execute_if":"import_failed" is set

12.4.5.14. v10.2.2 (2023-03-29)

rasdaman core

  • Fixed performance regression in list collections queries with federated peers

  • Improved performance of starting/stopping rasdaman

  • Fixed signal handlers to be async-signal-safe

OGC frontend (petascope)

  • Fixed to not initialize embedded CRS resolver if internal is not set in secore_urls

  • Fixed error parsing when rasfed is enabled and no outpeer is online

12.4.5.15. v10.2.1 (2023-03-24)

rasdaman core

  • Add support for ceil, floor, and round unary induced functions (docs)

  • Fixes on client and server handling in rasmgr

OGC frontend (petascope)

  • Reduce time to load WMTS GetCapabilities

  • Fixed issue to parse version for federated WMS layers from peer nodes

  • Support round, ceil and floor operations in WCPS

  • Enhance selection for working resolvers to request CRSs

  • Reduce requests to SECORE when building coverage objects

  • Support ASCII printable characters for creating user password via user management page

  • Fixed parsing version for federated WMS layers from peer nodes

wcst_import

  • Support execute_if setting to control when an after_import hook is executed (docs)

12.5. rasdaman v10.1 (2022-10-21)

12.5.1. High-level summary

  • Rasdaman now provides OGC WMTS support out of the box, in addition to the long present implementations of OGC WCS, WCPS, and WMS.

  • On a lower level, WCPS and rasql support sorting array slices along a given axis, as well as reversing the order of slices to e.g. flip an image along an axis.

  • Query evaluation is continuously improved to be more efficient, e.g. WCS / WCPS scale operations will now automatically use a lower-resolution pyramid coverage if one exists.

  • Last but not least, this version brings improvements wrt. user-friendliness as well. Data import is simpler to configure as some complex settings are now automatically derived, more ergonomic shorthand functions have been added in WCPS, etc.

12.5.2. New features, enhancements, bug fixes

12.5.2.1. rasdaman core

  • Support for sorting array slices along an axis by an aggregation expression (docs)

  • Support for flipping the order of array slices along an axis (docs)

  • Initialize empty areas in subsetting operations with null values

  • Fix evaluation of overlay operation on arrays with null values

12.5.2.2. OGC frontend (petascope)

  • WMTS (OGC Web Map Tile Service) support added (docs)

  • WMTS passes OGC CITE tests

  • WMS passes OGC CITE WMS raster conformance tests

  • WMS fixes invalid XML element names in GetCapabilities

  • WMS supports a non-standard random parameter to bypass Web browser cache (docs)

  • WCPS supports sort operator (docs)

  • WCPS supports flip operator (docs)

  • WCPS supports imageCrsdomain as trimming subset in scale operator

  • WCPS fixed combination of different grid domains in coverage condense

  • WCPS LET clause supports WKT expressions

  • WMS query fragment styles support combining coverages with mismatching irregular axes

  • Optimize WCPS queries with scale and subset operators to use pyramids if applicable

  • WCPS supports crsTransform() shorthand operator (docs)

  • Support importing local files to external endpoint (docs)

  • Fix WMS wrong results with rasql / wcps fragments style on virtual coverages

  • Fix scaling on sliced virtual coverages by non-XY axes

  • Optimize processing WCPS requests with multiple binary expressions

  • Support WMS GetMap requests with non XY axis labels as request parameters

  • Fix null error when parsing compound CRS

  • Fix WMS style with WCPS query fragment with fixed subset domains

12.5.2.3. wcst_import

  • Option import_order supports value “none” to import files without sorting them beforehand

  • Add timeout for analyzing input files

  • If default_null_values is set to [], then a coverage without null values is created

  • Add setting filterMessagesMatching to filter unwanted GRIB messages

  • Automate setting gridOrder in ingredients (docs)

  • Support ${bbox} expression used in after_import hook (docs)

  • Support importing local files to external endpoint (docs)

12.5.3. Upgrading

The sections below contain instructions on how to upgrade the software installation from a previous version to stable rasdaman v10.1.

12.5.3.1. From v10.0

To upgrade from the previous stable version v10.0 to stable v10.1:

  1. Stop rasdaman with sudo service rasdaman stop; make sure that the processes are really stopped: if ps aux | grep -E 'ras(mgr|server)' returns any processes, stop them with pkill -9 -f 'ras(mgr|server)'

  2. On Ubuntu update the repository metadata with sudo apt-get update

  3. Install the new rasdaman version with sudo apt-get install rasdaman (Ubuntu) or sudo yum update rasdaman (CentOS 7)

12.5.3.2. From testing

To upgrade from the latest testing version to stable v10.1:

  1. Stop rasdaman with sudo service rasdaman stop; make sure that the processes are really stopped: if ps aux | grep -E 'ras(mgr|server)' returns any processes, stop them with pkill -9 -f 'ras(mgr|server)'

  2. Remove the current rasdaman package with sudo apt-get remove rasdaman (Ubuntu) or sudo yum erase rasdaman (CentOS 7); this is required because the stable package generally has the same version but a lower iteration number than the testing one

  3. Change the testing package repository to the stable one in /etc/apt/sources.list.d/rasdaman.list (Ubuntu) or /etc/yum.repos.d/rasdaman.repo (CentOS 7)

  4. On Ubuntu update the repository metadata with sudo apt-get update

  5. Install the new rasdaman version with sudo apt-get install rasdaman (Ubuntu) or sudo yum update rasdaman (CentOS 7)

12.5.4. Patch releases

Below fixes in rasdaman v10.1.X patch releases are listed.

12.5.4.1. v10.1.4 (2023-02-02)

rasdaman core

  • rasmgr queues client connections to increase the number of concurrent clients that rasdaman can handle

OGC frontend (petascope)

  • Improve error reporting when rasdaman crashes

  • Create proper temporary collection types and delete them after a WCPS query with decode() finished

  • Log warning message when petascope failed to close a connection to rasdaman

  • WCPS fixed handling of non-numeric bounds on irregular axis subsets

12.5.4.2. v10.1.3 (2023-01-05)

rasdaman core

  • Updating a UDF library in the rasdaman UDFs directory does not require rasdaman restart

  • Support specifying variables as an array when encoding to NetCDF (docs)

  • Improved error reporting with more details

  • Improved optimization of subseting operations

  • Fixed evaluation of join of empty collections

OGC frontend (petascope)

  • WCPS fixed handling of reduce expression on a virtual coverage without subsets

  • WMS fixed handling of WCPS query fragments on a layer with pyramids

  • WCPS / WMS improved performance for irregular axis with long list of BigDecimal values

  • WCPS fixed the grid origin of XY axes after crsTransform()

  • Support creating pyramid members from a virtual base coverage

  • WCPS fixed encoding to netcdf of dynamically created multiband coverage

  • Axis labels specified in an axis iterator are incorporated in the resulting coverage

  • Fixed importing with regular time axis

  • Improve performance on coverages with very large irregular axes

  • WCPS fixed parsing of unary minus expressions

  • Encoding to netCDF preserves variable order

wcst_import

  • virtual_coverage recipe supports scale_factors / scale_levels settings

12.5.4.3. v10.1.2 (2022-11-24)

rasdaman core

  • Fixed problem in UDF evaluation with non-char array results

  • Fixed problem with evaluating induced condensers with multidimensional iterators

OGC frontend (petascope)

  • WCPS supports cellCount() to get the total number of grid pixels of a coverage expression

  • WCPS supports sum() as an alias of add() operator

  • WCPS fixes evaluation of coverage constructor with coverage-resultuing values expression

  • WCS fixes authorization for WCS GetCoverage requests

  • WMS fixes evaluation of query fragment styles with predefined non-XY slices

wcst_import

  • Fix checking if an axis is UnixTime CRS properly

  • blocking: false should show the imported files count / total files properly

federation

  • Exit rasfed when password for rasdamanUser in rasfed.properties is invalid

12.5.4.4. v10.1.1 (2022-11-04)

rasdaman core

OGC frontend (petascope)

  • WMS fixes evaluation of query fragment styles with non-XY slices

  • WCPS fixes scaling with subsets involving LET clause variables

  • WCPS supports single and multiline comments (docs)

  • Supports shorthand interpolation method values in WCS GetCoverage requests (docs)

wcst_import

  • Enhance error handling to save error stacktrace to a log file

12.6. rasdaman v10.0 (2022-03-18)

12.6.1. High-level summary

  • Rasdaman v10.0 comes with a new query processing engine bringing higher performance on modern multi-core architectures, reduced memory usage, support for fine-grain access control through privileges and triggers, more correct nodata handling with null masks, and more.

  • Virtual coverages allow building a single coverage from multiple source coverages with potentially different CRS or resolution; for example, it is possible to combine Sentinel 2 coverages over varying UTM zones into a single coverage with global CRS like EPSG:4326, such that the necessary reprojections, scaling and overlaying are done on-the-fly in the background.

  • Access can be restricted on complete datacubes, but also on spatio-temporal regions within datacubes. Access control must allow flexible definition as well as efficient enforcement on individual or group of users. Further, resource usage often needs to be restricted on a per-user and per-query basis. Rasdaman now allows to do this through a convenient web interface.

  • Rasdaman federations support flexible access control configured by mapping users between federated nodes.

  • In-situ data registration has been enhanced to support spatially overlapping files with the same semantics as non-insitu updates, so that the last registered files overlays previously registered files, but not in the areas with null values.

  • Type coercion rules have been updated and standardized for less surprising behavior in query processing, to minimize the risk for overflow as well as type inflation. Casting from larger to smaller type has also been improved to “clamp” the values outside of the valid range of the new smaller type.

12.6.2. New features, enhancements, bug fixes

12.6.2.1. rasdaman core

  • Null values have a different and more accurate semantics based on null masks, additional null-specific operators, support for per-band null values, improved handling of null when encoding data, e.g. use of “null” keyword in JSON (docs)

  • Access control is now part of rasql and much more powerful and flexible in capabilities (docs); existing users are automatically migrated and the access control mechanism in rasmgr is not used anymore

  • Insitu registration of overlapping files now matches the semantics of regular, non-insitu updates (docs)

  • Encoding of data to JSON or CSV format is now more flexible with support for controlling various elements of the output format (docs)

  • Support for marray expression with array-valued cell expression, allowing to aggregate array expressions into higher-dimensional arrays (docs)

  • Updated and formally standardized type coercion rules for less surprising behavior in query processing; they have been designed to minimize the risk for overflow as well as type inflation (docs)

  • Type management is now fully possible with rasql queries (docs); the deprecated tool rasdl has been removed

  • Axis names specified during array type creation can be used for flexible positionally-independent subsetting (docs)

  • Types complex and complexd are deprecated, use cfloat32 and cfloat64 instead (docs)

  • Casting from larger to smaller type will lead to “clamping” of values outside of the valid range of the new smaller type (docs)

  • New query syntax to list the collections available in rasdaman; local and all remote collections are listed by default, and this can be controlled by specifying a particular host (docs)

  • The dbinfo function will print the set and mdd type names and supports SVG and JSON outputs for tiling (docs)

  • The encode function supports values, interval and ramp color tables (docs)

  • The project function allows a target resolution and interpolation method to be specified (docs)

  • New virtual collection RAS_TYPES allows to select all rasdaman types (docs)

  • New script prepare_issue_report.sh for automating issue reporting (docs)

  • Support hostname:collection syntax for disambiguating collections with the same name on different nodes in a federation (docs)

  • UDF code that accepts or returns arrays of composite base type must check if the array data is pixel- or channel-interleaved (docs)

  • Starting and stopping rasdaman is more configurable and flexible, recommended to review sections on Service Control, and the scripts used underneath, start_rasdaman.sh and stop_rasdaman.sh

  • Custom script for monitoring of rasdaman services watch_rasdaman.sh

  • Multiple marray expression optimizations for a much faster evaluation of queries that contain marray expressions

  • Report user, execution time and result size in the logs for each evaluated rasql query

  • Deprecated network protocols RNP and RPC have been removed, clients compiled against these old protocols will need to be recompiled with the latest client API libs in order to be able to communicate with v10.0 rasdaman servers

  • Subsetting has to be properly within the array spatial domain, otherwise an error will be thrown (docs)

  • Logs are only readable by the rasdaman user now

  • Improved rascontrol/rasmgr help sections and error handling

  • Improved performance of tile merging on client side

  • Errors from the server have been improved to return more detailed information

  • Fix decoding and encoding of octet data with GDAL

  • Fix issues when the rasdaman data directory is stored on NFS

  • Support passing openOptions to GDAL on decode, e.g. for selecting an overview level from the input data (docs)

  • Support GDAL virtual file system filepaths starting with /vsi, e.g. /vsis3, /vsizip, etc.

  • Fix memory leak when a java client (e.g. petascope) interrupts result transfer

  • Fix forwarding of -xp parameters in rasmgr.conf to spawned rasservers

12.6.2.2. OGC frontend (petascope)

  • Support for virtual coverages which can combine multiple coverages with different CRS (e.g. UTM zones) into a single coverage with a global CRS (docs)

  • WCPS supports LET clause for defining variables (docs)

  • WCPS requires only one spatial X or Y axis to be set when scaling (docs, and does not require specification of non-spatial axes if they are not to be scaled (docs)

  • WCPS and WCS support scaling down on irregular axes

  • WCPS and WCS scaling will use pyramid members for efficiency if they exist

  • WCPS supports decode function (docs) and positional parameters (docs)

  • WCPS supports mod function and domain function on whole coverage (docs)

  • WCPS supports describe function which returns result like WCS DescribeCoverage (docs)

  • WCPS supports min/max functions (docs)

  • WCPS supports the crsSet function to return the coverage CRS as output (docs)

  • WCPS supports binary operations on mixed geo and non-geo coverages

  • WCPS supports rasql null operations (docs)

  • WCPS supports remote coverage IDs containing ‘-’ characters

  • WCS, WCPS and WMS support setting an interpolation method on data reprojection (docs)

  • WCS supports INSPIRE coverages (docs)

  • WCS GetCapabilities supports the AcceptLanguages parameter

  • WCS GetCapabilities response adds the list of axis names for each coverage in rasdaman:axisList elements and has more precise WGS84 bboxes (docs)

  • WCS GetCoverage and WCPS encode support CIS 1.1 JSON format (docs)

  • WCS ProcessCoverages supports WCPS abstract query specified in an XML-wrapper, and the q parameter in addition to query (docs)

  • WCS-T supports importing GDAL virtual file system filepaths starting with /vsi, e.g. /vsis3, /vsizip, etc.

  • WMS supports request for deleting a layer specifically (docs)

  • WMS styles support SLD color tables (docs)

  • WMS validates the XML format of user-specified SLD styles before persisting to database

  • WMS style query fragments support multiple layer iterators (docs)

  • rasql servlet supports rasdaman user credentials in basic authentication format in the HTTP Authorization header (docs)

  • rasql servlet will try to guess and set the correct mime-type of results

  • SECORE is embedded into petascope, so that it does not get installed as a separate service (def.war) anymore; it is now available at the /rasdaman/def endpoint instead of at /def (docs)

  • Unauthenticated users will be mapped to the rasdaman_user credentials if set in petascope.properties (docs)

  • Remove petascope_admin_user and petascope_admin_pass from petascope.properties and allow rasdaman admin users to perform write requests in petascope from external IPs (docs)

  • Filter out exception stacktraces to show only lines in rasdaman code; for more details, check the full_stacktraces option in the docs

  • Improve error reporting to return correct HTTP error codes 4xx and 5xx to clients

  • Split rasql error message and rasql query in different ExceptionText elements in the returned XML exception (docs)

  • Improve startup performance and logging of requests in petascope.log

  • Log rasdaman username for each request in petascope.log if basic authentication is enabled

  • Support qualified remote coverage ids or layer names (docs)

  • Support downloading results larger than 2GB

  • Allow non-ASCII characters in coverage metadata

12.6.2.3. wcst_import

  • Only Python 3 is supported

  • Support for servers secured with basic authentication; credentials should be specified with options -u or -i (check wcst_import.sh -h)

  • Support import of individual bands in GDAL general recipe (docs)

  • Support importing overviews from TIFF / JP2000 files (docs)

  • Support importing Sentinel 1 data with a custom recipe (docs)

  • Support creating a coverage pyramid for WMS with specific factors (docs)

  • Support “python_cmd” as an alternative to “cmd” in hooks (docs)

  • Support parameter to store the imported files in the ingredients file used by after_ingestion hooks (docs)

  • Support GDAL SIGNEDBYTE metadata for properly importing signed char (octet) data

  • Support referencing the index of the current processed GRIB message (docs)

  • Support attaching local metadata to a coverage from external text files (docs)

  • Support the metadata option in map_mosaic, time_series_regular and time_series_irregular recipes

  • Support automattically extracting global metadata and colorTable from TIFF files for GDAL general_coverage recipe

  • Significantly improved performance of netcdf data import or for a large number of files

  • Validate band names in general recipe

  • Do not send WCS DescribeCoverage request for getting axis labels from coverage

  • Use non-standard request to check if a coverage exists (docs)

  • Send requests to Petascope as POST containing the built GML of the importing coverage instead of GET with a local GML file

  • Show grid domains of imported files

  • Support for importing data from Amazon S3 object stores via GDAL /vsis3 driver

  • Fixed evaluation of skip setting in general_coverage recipe

  • Fix parsing of scientific notation in null values

12.6.2.4. federation

  • Support for flexible federated access control docs

  • Support for communication between federated nodes running different versions of rasdaman

  • Fix evaluation of marray with mixed local and remote array references

  • Fix buffer overflow when reading messages with lines longer than 512 characters

  • Petascope employs exponential back-off when it fails to contact a federation peer

12.6.2.5. clients

  • A new rasql-web-console client is now available, installed in /opt/rasdaman/share/rasdaman/www/

  • wsclient

  • Removed support for login with petascope_admin_user credentials (docs)

  • Support authentication

  • Once logged in, refreshing the Web browser will preserve the session

  • Estimate and show coverage sizes

  • Updating coverage metadata requires to login as admin

  • Display all footprints button only shows the available rows in WCS/WMS GetCapabilities tabs

  • DeleteCoverage and InsertCoverage tabs are shown only when logged in as admin

  • Downscaled pyramid members management in the WMS DescribeLayer tab

  • Add text>> widget to display texts

  • raswct has improved error handling

  • rasdapy has been updated to work on Python 3 (docs); rasdapy on Python 2 is not maintained anymore, migrating to rasdapy3 is recommended

12.6.2.6. documentation

  • Guidelines on how to report problems, with a script to help preparing issue reports (docs)

  • New section with cheatsheets for WCS / WCPS / WMS / clients (docs)

  • New section for petascope configuration (docs)

    • as a result, comments in the petascope.properties file have been mostly removed

  • New section on security and reseting default passwords (docs)

  • New section with guidelines for backup of rasdaman (docs)

12.6.2.7. installation

  • On new installation, petascope will be deployed in standalone embedded mode by default, so that it does not require a system Tomcat to run (docs); if it is preferred to deploy petascope in an external Tomcat, this can be done easily by updating the configuration, and copying rasdaman.war to the webapps Tomcat directory

  • On new installation, petascope requires basic authentication with HTTP Authorization header by default

  • petascope will use the locally installed gdal-java library instead of embedding it into rasdaman.war

  • Package installation can be customized with an installation profile (docs)

  • The rasdaman service script for starting/stopping rasdaman can be customized with configuration in /etc/default/rasdaman (docs)

12.6.3. Incompatible changes

  • Ubuntu 16.04 is not supported anymore, rasdaman v10.0 can be installed only on CentOS 7, Ubuntu 18.04 / 20.04 / 22.04

12.6.3.1. rasdaman core

  • Null values have a different and more accurate semantics based on null masks, additional null-specific operators, improved handling of null when encoding data, e.g. use of “null” keyword in JSON (docs)

  • Support for access control in rasmgr has been removed; use rasql for managing rasdaman users, assigning privileges to them, or creating triggers for access and resource usage control (docs)

  • Insitu registration of overlapping files now matches the semantics of regular non-insitu updates (docs):

  • In v9.8, registering a file A which overlaps an already registered file B would cause B to be de-registered from rasdaman

  • In v10.0, both will be registered but generally in the overlapping region the data from only the last registered file (A in this case) will be available; null values are handled as well by overlaying with the less recently registered files

  • Deprecated tool rasdl has been removed, use rasql queries for type management (docs)

  • Type coercion rules which govern the type of operation results based on the input data types have significantly changed, and may result in different behavior in existing queries; it is recommended to review the docs

  • Casting from larger to smaller type will lead to “clamping” of values outside of the valid range of the new smaller type, which may result in different behavior when existing queries evaluate with v10.0 (docs)

  • Subsetting has to be within the array spatial domain now, otherwise an error will be thrown (docs); when a subset needs to extend outside or intersect the array sdom, use the extend function.

  • Existing UDF code that accepts or returns arrays of composite base type should be adapted to check if the array data is pixel- or channel-interleaved (docs)

  • If federation is enabled, listing collections will show both local and remote collections; furthermore, only collections to which the rasdaman user has access will be listed; it is recommended to review the docs

  • Deprecated network protocols RNP and RPC have been removed; clients compiled against these old protocols will need to be recompiled with the latest client API libs in order to be able to communicate with v10.0 rasdaman servers (docs)

  • rasdapy on Python 2 is not maintained anymore, migrating to rasdapy3 is recommended (docs)

12.6.3.2. OGC frontend (petascope)

  • Changed behavior of rasdaman_user in petascope.properties (docs):

    • v9.8 rasdaman_user is used if authentication is disabled with authentication_type=

    • v10.0, the old use remains, but if authentication_type=basic_header and a request is missing Basic authentication credentials:

      • if rasdaman_user=a_valid_rasdaman_user, petascope will allow the request as if it had credentials from rasdaman_user and rasdaman_pass

      • if rasdaman_user=, then petascope will throw a missing credentials exception.

  • In the GetCapabilities response, the way rasdaman adds various metadata for each coverage (sizeInBytes, axisList, hostname, endpoint and blackListed) has changed:

  • v9.8 the metadata was put under the <ows:Metadata> element for each coverage, e.g.

    <ows:Metadata>
        <rasdaman:sizeInBytes>224775000</rasdaman:sizeInBytes>
        <rasdaman:axisList>Lat,Long</rasdaman:axisList>
        ...
    </ows:Metadata>
    
  • v10.0 the metadata is now put under an <ows:AdditionalParameters> element instead, e.g.

    <ows:AdditionalParameters>
        <ows:AdditionalParameter>
            <ows:Name>sizeInBytes</ows:Name>
            <ows:Value>224775000</ows:Value>
        </ows:AdditionalParameter>
        <ows:AdditionalParameter>
            <ows:Name>axisList</ows:Name>
            <ows:Value>Lat,Long</ows:Value>
        </ows:AdditionalParameter>
        ...
    </ows:AdditionalParameters>
    
  • When a client sends GetMap requests, the rules below define (in conformance with the WMS 1.3 standard) how a style is applied to the requested layers:

    • If no styles are defined then rasdaman returns the data as-is, encoded in the requested format.

    • If some styles are defined, e.g. X, Y, and Z, then:

      • If the client specifies a style Y, then Y is applied.

      • If the client does not specify a style, then:

        • If the admin has set a style as default, e.g. Z, then Z is applied.

        • Otherwise, if no style has been set as default, then the first style from the list of styles, e.g. X is applied.

  • Remove use of petascope_admin_user in petascope.properties (docs):

    Version

    Behavior

    v9.8

    allows credentials configured by petascope_admin_user and petascope_admin_pass to be used for login as admin user in WSClient or execute write requests equivalently as the admin user configured by rasdaman_admin_user.

    v10.0

    petascope_admin_user and petascope_admin_pass are removed. These settings (if existing in the local system) will be copied as deprecated settings in the updated petascope.properties. Any requests using these deprecated credentials will be invalid. One has to the credentials from a valid rasdaman user with RW rights in WSClient; direct requests must include these credentials in the HTTP Authorization header in Basic authentication format.

  • Many non-OGC API supported by petascope have been redefined and consolidated under the /rasdaman/admin endpoint. Below all changes are listed (note that the server endpoint, e.g. http://localhost:8080 has been omitted from the URLs). The v9.8 URLs will not work anymore, it is required to adapt to the new syntax.

    Description

    Version

    Request example

    Create a WMS layer (docs)

    v9.8

    /rasdaman/ows?service=WMS&version=1.3.0&request=InsertWCSLayer&wcsCoverageId=MyCoverage

    v10.0

    /rasdaman/admin/layer/activate?COVERAGEID=MyCoverage

    Remove a WMS layer (docs)

    v9.8

    /rasdaman/ows?SERVICE=WMS&VERSION=1.3.0&REQUEST=DeleteLayer&LAYER=MyLayer

    v10.0

    /rasdaman/admin/layer/deactivate&COVERAGEID=MyLayer

    Create a WMS style (docs)

    v9.8

    /rasdaman/ows?SERVICE=WMS&VERSION=1.3.0&REQUEST=InsertStyle&NAME=style1&LAYER=cov1

    v10.0

    /rasdaman/admin/layer/style/add?COVERAGEID=cov1&STYLEID=style1

    Update a WMS style (docs)

    v9.8

    /rasdaman/ows?SERVICE=WMS&VERSION=1.3.0&REQUEST=UpdateStyle&NAME=style1&LAYER=cov1

    v10.0

    /rasdaman/admin/layer/style/update?COVERAGEID=cov1&STYLEID=style1&NEWSTYLEID=style2

    Remove a WMS style (docs)

    v9.8

    /rasdaman/ows?SERVICE=WMS&VERSION=1.3.0&REQUEST=DeleteStyle&LAYER=cov1&NAME=style1

    v10.0

    /rasdaman/admin/layer/style/remove?COVERAGEID=cov1&STYLEID=style1

    Check if a coverage exists (docs)

    v9.8

    /rasdaman/ows/objectExists?coverageId=cov1

    v10.0

    /rasdaman/admin/coverage/exist?COVERAGEID=cov1

    Rename a coverage (docs)

    v9.8

    /rasdaman/admin/UpdateCoverageId?COVERAGEID=cov1&NEWID=cov2

    v10.0

    /rasdaman/admin/coverage/update?COVERAGEID=cov1&NEWCOVERAGEID=cov2

    Update coverage metadata (docs)

    v9.8

    /rasdaman/admin/UpdateCoverageMetadata

    v10.0

    /rasdaman/admin/coverage/update

    Create a pyramid level (docs)

    v9.8

    /rasdaman/ows?service=WCS&request=InsertScaleLevel&version=2.0.1&coverageId=cov_3D&level=4

    v10.0

    /rasdaman/admin/coverage/pyramid/create?COVERAGEID=cov_3D&MEMBER=cov_3D_4&SCALEVECTOR=1,4,4

    Whitelist all coverages (docs)

    v9.8

    /rasdaman/admin?SERVICE=WCS&REQUEST=WhiteListAll

    v10.0

    /rasdaman/admin/wcs/whitelistall

    Blacklist all coverages (docs)

    v9.8

    /rasdaman/admin?SERVICE=WCS&REQUEST=BlackListAll

    v10.0

    /rasdaman/admin/wcs/blacklistall

    Whitelist some coverages (docs)

    v9.8

    /rasdaman/admin?SERVICE=WCS&REQUEST=WhiteList&COVERAGEID=cov1,cov2

    v10.0

    /rasdaman/admin/wcs/whitelist?COVERAGELIST=cov1,cov2

    Blacklist some coverages (docs)

    v9.8

    /rasdaman/admin?SERVICE=WCS&REQUEST=BlackList&COVERAGEID=cov1,cov2

    v10.0

    /rasdaman/admin/wcs/blacklist?COVERAGELIST=cov1,cov2

    Whitelist all layers (docs)

    v9.8

    /rasdaman/admin?SERVICE=WMS&REQUEST=WhiteListAll

    v10.0

    /rasdaman/admin/wms/whitelistall

    Blacklist all layers (docs)

    v9.8

    /rasdaman/admin?SERVICE=WMS&REQUEST=BlackListAll

    v10.0

    /rasdaman/admin/wms/blacklistall

    Whitelist some layers (docs)

    v9.8

    /rasdaman/admin?SERVICE=WMS&REQUEST=WhiteList&LAYERS=cov1,cov2

    v10.0

    /rasdaman/admin/wms/whitelist?LAYERLIST=cov1,cov2

    Blacklist some layers (docs)

    v9.8

    /rasdaman/admin?SERVICE=WMS&REQUEST=BlackList&LAYERS=cov1,cov2

    v10.0

    /rasdaman/admin/wms/blacklist?LAYERLIST=cov1,cov2

12.6.3.3. federation

  • Federation between nodes running rasdaman v9.8 and rasdaman v10.0 is not possible, older versions must be upgraded.

  • Federated requests are authenticated and authorized based on tokens in the new version (docs). In order to migrate a system from a previous version, follow these steps:

    1. Update and restart rasdaman on each machine. When the new version starts, a pair of RSA keys associated with the machine will be automatically generated and stored in /opt/rasdaman/etc/keys/local/.

    2. Copy the public key of the local machine to the /opt/rasdaman/etc/keys/federation/ directory on all other nodes in the federation (docs).

    3. Migrate the list of inpeer and outpeer definitions from /opt/rasdaman/etc/rasmgr.conf to /opt/rasdaman/etc/rasfed.properties; each peer definition must be extended with a role map (otherwise all requests will result in Access denied exceptions) (docs).

    4. Restart rasdaman on each machine.

12.6.4. Upgrading

The sections below contain instructions on how to upgrade the software installation from a previous version to stable rasdaman v10.0.

In addition, it is highly recommended to review the list of incompatible changes.

12.6.4.1. From v9.8

To upgrade from the previous stable version v9.8 to stable v10.0:

  1. Stop rasdaman with sudo service rasdaman stop; make sure that the processes are really stopped: if ps aux | grep -E 'ras(mgr|server)' returns any processes, stop them with pkill -9 -f 'ras(mgr|server)'

  2. On Ubuntu update the repository metadata with sudo apt-get update

  3. Install the new rasdaman version with sudo apt-get install rasdaman (Ubuntu) or sudo yum update rasdaman (CentOS 7)

12.6.4.2. From testing

To upgrade from the latest testing version to stable v10.0:

  1. Stop rasdaman with sudo service rasdaman stop; make sure that the processes are really stopped: if ps aux | grep -E 'ras(mgr|server)' returns any processes, stop them with pkill -9 -f 'ras(mgr|server)'

  2. Remove the current rasdaman package with sudo apt-get remove rasdaman (Ubuntu) or sudo yum erase rasdaman (CentOS 7); this is required because the stable package has the same version but a lower iteration number than the testing one

  3. Change the testing package repository to the stable one in /etc/apt/sources.list.d/rasdaman.list (Ubuntu) or /etc/yum.repos.d/rasdaman.repo (CentOS 7)

  4. On Ubuntu update the repository metadata with sudo apt-get update

  5. Install the new rasdaman version with sudo apt-get install rasdaman (Ubuntu) or sudo yum update rasdaman (CentOS 7)

12.6.5. Patch releases

Below fixes in rasdaman v10.0.X patch releases are listed.

12.6.5.1. v10.0.5 (2022-07-25)

rasdaman core

  • Fix initialization of areas outside of clipped regions to null values

OGC frontend (petascope)

  • WMS GetMap - request’s bbox doesn’t touch layer’s bbox, then, the output must be transparent

  • WCPS fixed null values for coverages created by decode() operator

12.6.5.2. v10.0.4 (2022-06-29)

rasdaman core

  • Fix import of non-consecutive messages from grib files

  • Fix ‘list collections on host’ to return only the collections on the specified peer host, instead of collections on all federated hosts

  • Return an empty tile if an insitu registered file cannot be decoded because it has been removed, instead of throwing an error; this enables smooth handling of rolling archives where registered data may be removed depending on the data retention policy

  • Fix band subsetting on nD marray constructor expressions

  • Fix type checking when setting a null mask, to correctly validate that the null mask is a boolean array matching in domain with the array to which it is set

OGC frontend (petascope)

  • Fix missing wms namespace for some elements in WMS GetCapabilities

  • Fix problem with wrong grid domains in imageCrsdomain() for clip() operator

  • Fix problem with WMS GetMap requests when zooming in with wrong results from pyramid members

  • Fix problem with WMS GetMap requests for virtual coverages with non-virtual pyramid members

  • Fix problem with WCPS domain(…).lo/hi to return geo bound for non-XY axis

  • Add column requests/second in statistics admin management page

  • Fix WMS GetLegendGraphic request to use default style if style paramater is omitted

  • Fix filtering virtual coverages by requesting user’s permission when handling WCS/WMS GetCapabilities requests

  • Fix WM GetMap request with multiple layers

  • Support mismatching time axes between pyramid members in WMS GetMap requests

  • Fix WMS scattering data at layer’s corners

  • Improve performance for WCS DescribeCoverage / GetCoverage requests

  • Support full_stacktraces in petascope.properties (besides full_stacktrace) to filter unnecessary exception logs

  • Add settings in petascope.properties for configuring the Tomcat JDBC Connection Pool

wcst_import

  • Validate if all input files have the same CRSs

  • Improve ingredients file schema validation

  • Import only messages corresponding to the specified band identifiers

wcs_client

  • Fix coverage sizes calculation for virtual coverages

  • Support renaming coverage in WCS DescribeCoverage tab

Documentation

  • Improve doc for WCPS encode format and wcst_import slicer options

12.6.5.3. v10.0.3 (2022-04-25)

rasdaman core

  • Improve handling of concurrent clients in rasmgr

OGC frontend (petascope)

  • Improve performance of WMS GetCapabilities

  • Fixed virtual layers not updated when source coverages updated

  • Embedded SECORE supports JSP to manage CRSs

  • Allow case-insensitive axis labels

  • Make WCS scaleextent and SOAP requests fully standard-compliant

wcst_import

  • Fix bug when skip is true and no input files match with the defined pattern

  • Use user’s customized band names in coverage’s global metadata for netCDF recipe

  • When wcst_import is interrupted by Ctrl + C or kill <wcst_import_pid> (SIGINT and SIGTERM signals), the resume file will be properly updated with all imported files up to that point

  • Check if user can create resume file before analyzing input files

  • Allow case-insensitive axis labels

  • Improve parsing for axes definitions in CRS

federation

  • Improve performance of WCS/WMS GetCapabilities when there are virtual coverages

  • Make local metadata collection more robust in case of failures

12.6.5.4. v10.0.2 (2022-04-05)

OGC frontend (petascope)

  • Improve performance of queries in petascopedb

  • Enhance logging of requests in petascope.log to allow distinguishing which request exactly was evaluated

wcst_import

  • Improve axis type detection from CRS

  • Make sure each file to be imported is open only once with GDAL, to improve import performance

federation

  • Fix communication between rasfed instances on federated nodes

documentation

  • Added a guide for migrating an installation from one machine to another (docs)

12.6.5.5. v10.0.1 (2022-03-30)

rasdaman core

  • More robust handling of spurious disk errors when checking if a file to be registered is readable or not

OGC frontend (petascope)

  • More robust handling of read timeouts in communication with rasfed

  • Fixed leak of large binary objects in PostgreSQL which were left in petascopedb when removing data, e.g. dropping a coverage, pyramid levels, styles, etc; these objects will be properly and automatically removed via triggers from now on.

    However, the already leaked orphan objects cannot be automatically removed, and require the following steps to address in order to reduce the size of petascopedb:

    # Stop rasdaman and embedded petascope if exists
    sudo service rasdaman stop
    # If petascope runs on external tomcat, then stop it
    sudo service tomcat9 stop
    # Rename the existing petascopedb to petascopedb_backup
    sudo -u postgres psql -c "ALTER DATABASE petascopedb RENAME TO petascopedb_backup"
    # Create a new empty database
    sudo -u postgres createdb petascopedb
    # Change in petascope.properties
    metadata_url=jdbc:postgresql://localhost:5432/petascopedb_backup
    # Finally, run migration script to copy only the relevant data from
    # petascopedb_backup to the new petascopedb
    /opt/rasdaman/bin/migrate_petascopedb.sh
    # Start rasdaman (and Tomcat if needed)
    sudo service rasdaman start
    sudo service tomcat9 start
    # Verify that services are working as expected, if all is fine the
    # petascopedb_backup can be dropped from PostgreSQL (but maybe consider
    # exporting it to a backup first)
    sudo -u postgres dropdb petascopedb_backup
    
  • Improve performance of processing GetCapabilities requests in federations

  • Fix corner case of incorrectly calculating coordinates of irregular time axis when encoding to NetCDF

wcst_import

  • Fix support for per-band nullsets to match the capabilities of rasql (docs)

  • Fix validation of axis labels to be case-insensitive

federation

  • Improve error handling and network communication