Open topic with navigation
Where changes relate to a Zendesk issue, the associated Zendesk reference number is displayed. For example (10118).
Although major fixes are documented in Resolved Issues, this Changes in this Release section may also include fixes.
This section provides an overview of the major changes included with NuoDB 4.0.3.
Starting in version 21.0.0, the NuoDB JDBC Driver does not include any external dependencies. For example, libraries such as slf4j and bouncycastle which were included in previous versions of the JDBC Driver have been removed. If required by your application, these libraries will now need to be included by your application.
Logging of extraneous error "Failure sending MsgChairmanAck" messages during shutdown are not needed and have been removed.
This section provides an overview of the major changes included with NuoDB 4.0.2.
Minimum requirements for open source and managed Kubernetes distributions, for example GKE, AKS, EKS, and RKS, have changed. Also, NuoDB's minimum requirements for Red Hat Openshift have changed. For more information, see Kubernetes System Requirements.
A production-ready set of Kubernetes Helm Charts that are now available for both single and multi-cluster Kubernetes deployments. For more information, see the NuoDB Helm Charts github repository.
Note: NuoDB recommends consulting with NuoDB Professional Services when deploying these Helm Charts
NuoDB Admin (nuoadmin) now automatically propagates a license throughout a NuoDB Admin domain once it is added to the admin domain's key-value store with NuoDB Command. Prior to this release, it was necessary to copy the nuodb.lic license file to each host machine running a NuoDB Admin process. For information on obtaining and installing licenses in physical deployments of NuoDB, see here. For information on obtaining and installing licenses in containerized deployments of NuoDB, see here.
For production deployments, NuoDB recommends that you generate your own unique and secure TLS encryption keys to authenticate and encrypt the execution of NuoDB Admin commands. To avoid compatibility issues (with default TLS keys shipped for product evaluations) during a rolling upgrade, the NuoDB docker image builds for NuoDB 4.0.1 and higher contain the same default TLS keys that ship with NuoDB 4.0.0.
Performance has been improved, in situations where TEs are under memory pressure, by avoiding unnecessary data reloads.
When using the
checkOptions parameter with NuoDB Manager's (legacy utility for domain and database management)
restart database and
start process commands, note that
checkOptions is now disabled by default. When enabled, it ensures that new database processes are started with the same ping-timeout settings as the existing database processes. For information on using the
checkOptions parameter, see Restart Database and Start Process.
This section provides an overview of the major changes included with NuoDB 4.0.1.
To help minimize potential confusion arising from the same table names being used in different schemas, the
sql-statements logging category now includes the schema to which the table belongs, and the user name. For more information on using the
sql-statements logging category, see Description of Logging Categories. (10118)
This section provides an overview of the major changes included with NuoDB 4.0.
When performing a new deployment of NuoDB (in physical and VMware environments) using the Debian Package Utility or the RedHat Package Manager, NuoDB Admin (
nuoadmin) is now the default interface for managing a NuoDB domain and database.
Note: This applies only to deployments of NuoDB in Linux environments. Where NuoDB is deployed in a Windows environment, NuoAgent remains the admin interface in NuoDB 4.0. Windows will default to using NuoDB Admin in a future release.
When performing a new deployment of NuoDB (in physical and VMware environments) using a Linux TAR file, the DBA can choose which interface to use for interface for managing a NuoDB domain and database.
If you're upgrading from a previous version of NuoDB to NuoDB 4.0, NuoAgent (
nuoagent) remains the default interface for domain and database management. For information on this deprecated deployment model, see Physical or VMware Environments (NuoAgent).
To improve performance of index creation, the processing for creating indexes on all non-temporary tables has been moved to the Storage Manager. Creation of indexes on temporary tables is still processed on the Transaction Engine. As a result:
index-build-spill-to-diskoption for the Transaction Engine has been removed. Spill to Disk is automatically enabled on the Storage Manager for index creation on non-temporary tables.
For more information, see Reducing Memory Pressure on Transaction Engines.
Prior to the release of NuoDB 4.0, it was possible to remove a storage group immediately after dropping all tables. Now, there can be a delay between dropping all tables in a storage group and being able to remove the storage group.
The NuoDB SQL (
nuosql) command line tool now supports inline comments ('–') when used in interactive mode. For information on using
nuosql, see Using NuoDB SQL Command Line. (9424)
Errors generated are now prefixed with "Error <N>:", where
N is the
SQLSTATE value from SQL Error Codes.
OCTET_LENGTH built-in function now accepts binary types (Binary, VarBinary, and Bytes) in addition to string types. For more information on the
OCTECT_LENGTH function, see SQL Functions and Operations.
SQLSTATE value for the TE shutdown was requested before the transaction successfully committed exception has been changed from
For more information on SQLSTATE values, see SQL Error Codes.
NuoDB now supports date string literals in the
yyyyMMdd format, for example
Undocumented and unsupported syntax for
GENERATED columns is no longer allowed. For example, the following usage of
GENERATED columns is no longer allowed:
SQL> CREATE TABLE a(i int GENERATED ALWAYS AS); SQL> CREATE TABLE b(i int GENERATED ALWAYS IDENTITY); SQL> CREATE TABLE c(i int GENERATED ALWAYS AS(s1));
COLLATE case_insensitive syntax is used when creating the domain in which the table is being created, an error is now thrown, preventing the user from specifying the same syntax for the table definition. For more information on using the
COLLATE parameter, see CREATE TABLE.
In previous releases of NuoDB, the NuoDB C driver (
libnuoclient.so) and C++ driver (
libNuoRemote.so) were statically linked with other library dependencies. With the release of NuoDB 4.0, the C and C++ driver libraries are now dynamically linked to other library dependencies. As a result, if the C or C++ driver libraries are copied or moved to different directories, the other library dependencies (
libmpir.\*) must also be copied or moved to the same directory. (9888)
For more information on using NuoDB Drivers, see Client Development.
With the new client package, all client drivers and certain utilities have been removed from the database package. To access client drivers and utilities such as NuoDB Migrator and NuoDB Loader, the client package must be used. For more information, see the Product Distribution Package Files section in Physical or VMware Environments, and Drivers Shipped in the NuoDB Client-only Package.
To help improve the display of NuoDB error messages in C++ client applications, the
SQLException class has been modified to inherit from
std:exception. This results in an Application Binary Interface (ABI) change to the
libNuoRemote.so library. Any applications or clients using
libNuoRemote.so must be recompiled before they can be used with version 4.0 version of the
libNuoRemote.so library. For general information on using NuoDB's C++ driver, see C++ Driver API Reference.
08007, the JDBC driver now throws SQLRecoverableException instead of SQLTransientConnectionException (which is thrown by all other
SQLSTATE values starting with 08). For more information on
SQLSTATE values, see SQL Error Codes.
The readability of the log output, when using the
sql-statement-metrics log category, has been improved.
For more information on the
sql-statement-metrics log category, see Description of Logging Categories.