Release Notes 4.7
The 4.7 release notes were released on September 01, 2024
Compatibility Matrix
System Requirement |
Details |
---|---|
Supported OS |
RHEL 8.x |
supported Nvidia driver |
CUDA version 11.x |
Storage version |
51 |
Driver compatibility |
|
New Features and Enhancements
► Enhance observability and enable shorter investigation times with the new Health Monitoring SQreamDB service.
► SQreamDB may now be deployed on AWS private cloud.
► A SUPERUSER
may now release a specific lock or all locks blocking file cleanup and preventing operations on locked objects within the system.
► SQreamDB operates with utmost efficiency when processing tables containing large data chunks. Introducing a new RECHUNK utility function, it simplifies the management of tables with small data chunks. This feature enables users to merge small data chunks into larger ones and simultaneously eliminating any deleted records present.
► Enable automatic termination of queries that exceed a pre-defined time limit in the queue. The introduction of the queueTimeoutMinutes flag empowers you to set time constraints for queries in the queue, ranging from a few minutes to a maximum of 72 hours.
► Safely cast data types with the new IsCastable function. This function allows you to check whether a cast operation is possible or supported for a given column and data type and provides an alternative when an exception occurs when used within a CASE
statement.
► JDBC enhancements have been implemented to facilitate the retrieval of the record count for the updated number of rows during INSERT
and DELETE
operations when connecting to a third-party platform via JDBC. Use the SQreamDB JDBC connector as usual; the sole distinction is in the ability to now observe the updated number of rows.
► Enhance your COPY FROM operations with the new DELETE_SOURCE_ON_SUCCESS
parameter, which automatically deletes the source file being copied into SQreamDB. This not only saves time and effort in cleaning storage but also helps conserve storage space.
► You may now retrieve and manipulate data from different databases within a single SQreamDB cluster through the execution of a single SQL statement using the Cross-Database syntax.
► You may now use the new logFormat
flag to configure the format of your log files. By default, logs are saved as CSV
files. To configure your log files to be saved as JSON
instead, use the logFormat
flag in your legacy config file. If your current logs are in CSV
format and you require Health Monitoring, it’s advisable to configure your logs to be saved in both CSV
and JSON
formats as outlined above.
Note
The logFormat
flag must be configured identically in both your legacy_config_file
and your metadata_config_file
► You now have the option to choose the location for your metadata_server
, server_picker
, and Worker log files. In previous SQreamDB versions, the location of your log files was predetermined and hard-coded.
Using the
metadata_server_config.json
file:{ "logPath": "<home/logs/my_logs>" }
Using the CLI:
./metadata_server --log_path=<home/logs/my_logs>
Using the CLI:
./server_picker --log_path=<home/logs/my_logs>
Using the
sqream_config_legacy.json
:{ "DefaultPathToLogs": "<home/logs/my_logs>" }
► For any new SQreamDB installation or upgrade, your default legacy configuration file will include the following cluster flags:
{
"logMaxFileSizeMB": 20,
"logFileRotateTimeFrequency": "daily",
}
Note
Starting with SQreamDB version 4.6, log file naming conventions have changed. Ensure that any code referencing log file names is updated accordingly.
When using the
logFileRotateTimeFrequency
flag, log file names will follow these patterns:Daily
:sqream_yyyyMMdd_000.log
Weekly
:sqream_yyyyMMWW_000.log
(WW = week number within the month)Monthly
:sqream_yyyyMM_000.log
When using the
logMaxFileSizeMB
flag, log files will follow the pattern:sqream_N.log
(N = 1 to 13)
Known Issues
Percentile is not supported for Window Functions
Version 4.7 resolved Issues
SQ No. |
Description |
---|---|
SQ-15691 |
Fixed |
SQ-16038 |
Fixed |
SQ-16937 |
Fixed schema corruption following default permission altering issue |
SQ-17149 |
Created a new |
SQ-17270 |
Enhanced orphan snapshot cleaning mechanism |
SQ-17520 |
Fixed a SQLoader |
SQ-17944 |
Fixed |
Deprecations
► Haskell CLI
Starting February 2025, support for the Haskell CLI will be discontinued, and it will be replaced by a JAVA CLI that is compatible with both SQreamDB.
► CentOS Linux 7.x
CentOS Linux 7.x has reached its end of life and is not supported by SQreamDB.
REHL 8.x is now officially supported.
Upgrading to Version 4.7
Generate a back-up of the metadata by running the following command:
select backup_metadata('out_path');
Tip
SQreamDB recommends storing the generated back-up locally in case needed.
SQreamDB runs the Garbage Collector and creates a clean backup tarball package.
Shut down all SQreamDB services.
Copy the recently created back-up file.
Replace your current metadata with the metadata you stored in the back-up file.
Navigate to the new SQreamDB package bin folder.
Run the following command:
./upgrade_storage <levelDB path>
Version 4.4 introduces a service permission feature that enables superusers to grant and revoke role access to services. However, when upgrading from version 4.2 or earlier to version 4.4 or later, this feature initializes access to services, causing existing roles to lose their access to services.
There are two methods of granting back access to services:
Grant access to all services for all roles using the GRANT USAGE ON SERVICE TO ALL ROLES utility function
Selectively grant or revoke access to services by following the access permission guide
Note
Upgrading from a major version to another major version requires you to follow the Upgrade Storage step. This is described in Step 7 of the Upgrading SQreamDB Version procedure.