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()
andpow()
as a coverage expressionFixed 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, thesnake_case
alternatives should be used (docs)Fixed
wcs_extract
recipe to work with arbitrary number of pixels specified inpartitioning_scheme
settingAdded 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:
Stop rasdaman with
sudo service rasdaman stop
; make sure that the processes are really stopped: ifps aux | grep -E 'ras(mgr|server)'
returns any processes, stop them withpkill -9 -f 'ras(mgr|server)'
Update the repository metadata with
sudo apt-get update
Two ways to upgrade rasdaman:
Upgrade all packages including rasdaman with
sudo apt-get upgrade
, orUpgrade 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:
Stop rasdaman with
sudo service rasdaman stop
; make sure that the processes are really stopped: ifps aux | grep -E 'ras(mgr|server)'
returns any processes, stop them withpkill -9 -f 'ras(mgr|server)'
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 oneChange the testing package repository to the stable one in
/etc/apt/sources.list.d/rasdaman.list
Update the repository metadata with
sudo apt-get update
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”:
option name |
old default |
new default |
---|---|---|
|
|
|
|
N/A |
|
|
|
|
|
|
|
|
|
|
|
N/A |
|
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:
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.
old option |
new option |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 theswe:field
name if a quantity’s label is not setValidate
colorPaletteTable
in coverage’s metadata when updating / insertingThrow exception when the WMS GetMap
TIME
parameter is not a specific datetime valueShow 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
privilegeUtility 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 adjustingareasOfValidity
of updating coefficients implicitly (docs)Match multiple input files to defined
areasOfValidity`
in a single ingredients fileSupport for
OGC/O/Temporal
CRSSupport for specifying band settings in
sentinel1
recipeRemoved 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
inrasfed.properties
and improved the way to verify if a peer node is activeImproved 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
insecore.properties
to filter requests crawling SECORE by user-agent bots
12.2.1.6. Installation
The mosquitto MQTT broker is a new dependency of the rasdaman packages on Ubuntu 22.04 and upwards (docs)
12.2.1.7. Documentation
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:
Stop rasdaman with
sudo service rasdaman stop
; make sure that the processes are really stopped: ifps aux | grep -E 'ras(mgr|server)'
returns any processes, stop them withpkill -9 -f 'ras(mgr|server)'
Update the repository metadata with
sudo apt-get update
Two ways to upgrade rasdaman:
Upgrade all packages including rasdaman with
sudo apt-get upgrade
, orUpgrade 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:
Stop rasdaman with
sudo service rasdaman stop
; make sure that the processes are really stopped: ifps aux | grep -E 'ras(mgr|server)'
returns any processes, stop them withpkill -9 -f 'ras(mgr|server)'
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 oneChange the testing package repository to the stable one in
/etc/apt/sources.list.d/rasdaman.list
Update the repository metadata with
sudo apt-get update
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
orjson
of CIS 1.1 standard
wcst_import
Added
coverageId
request parameter inInsertCoverage
request for better logging inpetascope.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 responsesFixed 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 federationFixed 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 WMSGetCapabilities
resultsImproved 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 theis_null()
methodNull status of scalar values is transmitted to the client, and printed as
NULL
by the rasql command-line toolThe 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
toapplication.properties
(internal to rasdaman.war)Do not add implicit nodata values to encode; may require adding
null values [..]
clause to WMS style queriesIn 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 aras:
prefix by default (unless a namespace was set during data import)
12.3.1.3. wcst_import
12.3.1.4. rasfed
New rasfed settings
readFromOutpeerTimeoutMs
andwriteToOutpeerTimeoutMs
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, rungrep 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:
Stop rasdaman with
sudo service rasdaman stop
; make sure that the processes are really stopped: ifps aux | grep -E 'ras(mgr|server)'
returns any processes, stop them withpkill -9 -f 'ras(mgr|server)'
Update the repository metadata with
sudo apt-get update
Two ways to upgrade rasdaman:
Upgrade all packages including rasdaman with
sudo apt-get upgrade
, orUpgrade 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:
Stop rasdaman with
sudo service rasdaman stop
; make sure that the processes are really stopped: ifps aux | grep -E 'ras(mgr|server)'
returns any processes, stop them withpkill -9 -f 'ras(mgr|server)'
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 oneChange the testing package repository to the stable one in
/etc/apt/sources.list.d/rasdaman.list
Update the repository metadata with
sudo apt-get update
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
andsummaries
properties when describing a collectionFixed issue with curtain clipping returning invalid grid extents
Improved initalizing time for WMTS
TimeMatrixSet
when petascope startsFixed 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 casesFixed 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 petascopeFixed 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 nameSupported 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 ingeneral_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 forgeneral_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 rasqlencode()
ifcolorMap
exists as extra metadataSupport 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 inWCS DescribeCoverage
resultsSupport spatial geo XY axis labels in
subsettingCRS
of target resolutions / domains expression in WCPScrsTransform()
Filter remote coverages in
GetCapabilities
results by requesting rasdaman user properlyFix WCS
GetCapabilities
to respond requestsections
parameter properlyAdd 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
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:
Stop rasdaman with
sudo service rasdaman stop
; make sure that the processes are really stopped: ifps aux | grep -E 'ras(mgr|server)'
returns any processes, stop them withpkill -9 -f 'ras(mgr|server)'
Update the repository metadata with
sudo apt-get update
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:
Stop rasdaman with
sudo service rasdaman stop
; make sure that the processes are really stopped: ifps aux | grep -E 'ras(mgr|server)'
returns any processes, stop them withpkill -9 -f 'ras(mgr|server)'
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 oneChange 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)Update the repository metadata with
sudo apt-get update
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 idAdded billing quota management and users queries metrics view in web admin pages
wcst_import
Support
codeSpace
for"observationType": "categorial"
ingeneral_recipe
12.4.5.3. v10.2.13 (2023-11-30)
rasdaman core
Improve performance of
list collections sizes
queriesFix 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
resultsAdd new INSPIRE setting
inspire_dls_spatial_dataset_identifier
inpetascope.properties
Support
swe:Category
and SWEdefinition
attributeAdd billing management web admin page
Adjusted GML responses from WCS 2.1.0
GetCapabilities
,DescribeCoverage
andGetCoverage
requests
wsclient
Fixed issue with sending
outputType=GeneralGridCoverage
parameter for non-GML format in WCSGetCoverage
tabAdded 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 valuesAdd
definition
attribute in a band’s specificationAdd
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
queryImprove 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 versionIf 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 andapplication/gml+xml
format if request header isAccept: 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()
byOGC:CRS84
CRSDocument 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
andrasdaman_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 slicingsFix coverage’s WGS84 bounding box to return in
WCS GetCapabilities
responseFix 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
requestAdd check for invalid non-XY subsets which are out of extents in WMS
GetMap
requestsSECORE 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 PNGFix WCPS UDFs not reloaded in case of jar files rebuilt
WCPS fixed missing collection iterators of some source collections in rasql
FROM
clauseWCPS fixed
scale() / extend()
operators with target domains specified fromLET
clause variableWCPS fixed
OVERLAY
behavior withb
is on top ofa
fora 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 schemaSupport
BGColor
optional parameter in WMSGetMap
request for requesting layer with 1, 3 or 4 bandsWMS
GetMap
withoutTRANSPARENT=TRUE
return white color for nodata pixels instead of transparencyFix problem with WMS
GetMap
request on multiple layers with different geo extents and resolutionsWMS 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 cacheUpdate 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 layerSupport
XY
axes order withNorthEast
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
requestsFixed 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 withNaN
null valuesEnhanceed accuracy for WMS GetMap subsets on lower resolution layers
wsclient
Display shorter federated coverage Ids and layer names on
GetCapabilities
tabs with tooltipsRecalculate the total coverages/layers and their sizes when filtering on tables in
GetCapabilities
tabsAdd tab in
DescribeLayer
WMS tab to allow to add an existing geo-referenced coverage as a pyramid member of the selected layerAdd
CreateLayer
tab to create a WMS layer from an existing geo-referenced coverageEnhanced performance after deleting a coverage / layer and creating / deleting a style of a WMS layer
Added
DeleteLayer
tab to remove a WMS layerFixed error to display footprints on
WebWorldWind
in both WCS and WMSGetCapabilities
tabsAdded
Login
button in caseauthentication_type=basic_header
andrasdaman_user=some_user
are set inpetascope.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
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 expressionsWMS 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:
Stop rasdaman with
sudo service rasdaman stop
; make sure that the processes are really stopped: ifps aux | grep -E 'ras(mgr|server)'
returns any processes, stop them withpkill -9 -f 'ras(mgr|server)'
On Ubuntu update the repository metadata with
sudo apt-get update
Install the new rasdaman version with
sudo apt-get install rasdaman
(Ubuntu) orsudo yum update rasdaman
(CentOS 7)
12.5.3.2. From testing
To upgrade from the latest testing version to stable v10.1:
Stop rasdaman with
sudo service rasdaman stop
; make sure that the processes are really stopped: ifps aux | grep -E 'ras(mgr|server)'
returns any processes, stop them withpkill -9 -f 'ras(mgr|server)'
Remove the current rasdaman package with
sudo apt-get remove rasdaman
(Ubuntu) orsudo 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 oneChange 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)On Ubuntu update the repository metadata with
sudo apt-get update
Install the new rasdaman version with
sudo apt-get install rasdaman
(Ubuntu) orsudo 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 fromrasdaman_user
andrasdaman_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
andblackListed
) 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
andpetascope_admin_pass
to be used for login as admin user in WSClient or execute write requests equivalently as the admin user configured byrasdaman_admin_user
.v10.0
petascope_admin_user
andpetascope_admin_pass
are removed. These settings (if existing in the local system) will be copied as deprecated settings in the updatedpetascope.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:
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/
.Copy the public key of the local machine to the
/opt/rasdaman/etc/keys/federation/
directory on all other nodes in the federation (docs).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).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:
Stop rasdaman with
sudo service rasdaman stop
; make sure that the processes are really stopped: ifps aux | grep -E 'ras(mgr|server)'
returns any processes, stop them withpkill -9 -f 'ras(mgr|server)'
On Ubuntu update the repository metadata with
sudo apt-get update
Install the new rasdaman version with
sudo apt-get install rasdaman
(Ubuntu) orsudo yum update rasdaman
(CentOS 7)
12.6.4.2. From testing
To upgrade from the latest testing version to stable v10.0:
Stop rasdaman with
sudo service rasdaman stop
; make sure that the processes are really stopped: ifps aux | grep -E 'ras(mgr|server)'
returns any processes, stop them withpkill -9 -f 'ras(mgr|server)'
Remove the current rasdaman package with
sudo apt-get remove rasdaman
(Ubuntu) orsudo yum erase rasdaman
(CentOS 7); this is required because the stable package has the same version but a lower iteration number than the testing oneChange 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)On Ubuntu update the repository metadata with
sudo apt-get update
Install the new rasdaman version with
sudo apt-get install rasdaman
(Ubuntu) orsudo 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
orkill <wcst_import_pid>
(SIGINT and SIGTERM signals), the resume file will be properly updated with all imported files up to that pointCheck 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