New Features

This section includes new features and enhancements.

If a new feature or enhancement relates to a Zendesk request, the associated Zendesk reference number is displayed, for example (10118).

New Features in NuoDB 5.0.3

Enhanced the Kubernetes-Aware Admin (KAA) Raft consensus override mechanism to improve reliability during Admin Process (AP) scale-up

The modified KAA consensus override logic now ensures that when APs are scaled up, they will rejoin the domain without a Raft state through the existing Raft leader to prevent any Raft state divergence.

Improved the format of date and time values in the display output for several cases, including EXPLAIN plan and error messages

In cases such as in EXPLAIN plan or error messages, the values of data type Date and Time appearing in the display output are now enclosed in single quotes ('). This makes it easy to copy the statement and execute it on a NuoDB database without editing.

Added new capability to verify that all database storage groups (SGs) are included in hot copy

When requesting a database hot copy, NuoDB Admin (nuoadmin) will verify that all database SGs are included in the archive selection, by default. To skip the verification and create a backup that includes partial SGs, use the --partial-storage-groups flag in nuocmd hotcopy database and nuocmd backup database. For more information, see Redundant Hot Copy with Storage Groups, nuocmd hotcopy database, and nuocmd backup database.

Added new command options to NuoDB Command (nuocmd)

  • The --include-sensitive-files option to include the audit messages in the nuoadmin_audit.log file. For more information, see nuocmd get diagnose-info and nuocmd get server-logs.

  • The --sg-ready-timeout option to ensure that the Transaction Engines (TEs) start only after all the Storage Groups (SGs) become online during a database cold start in Kubernetes deployments. For more information, see nuocmd start te.

Added the following new documentation sections

New Features in NuoDB 5.0.2

Added two new tombstone options to NuoDB Command

  • --include-tombstone-databases to view the databases in the tombstone state. Databases that are in the tombstone state are now hidden by default. For more information, see nuocmd show domain.

  • --purge to remove the tombstone after deleting the database from the domain state. For more information, see nuocmd delete database.

Added release build time information (13405)

The release build timestamp is now available as the builddate field in $NUODB_HOME/etc/Version.json. For more information, see Environment Variables.

Added new capability to configure a connection to abort a SQL statement that is waiting to acquire a lock

The following new properties and parameter are added:

  • System property DEFAULT_LOCK_WAIT_TIMEOUT to configure a default lock wait timeout for all new connections. For more information, see SQL System Properties.

  • Connection property lock-wait-timeout to configure the lock wait timeout when establishing a new connection. For more information, see Connection Properties.

  • Runtime parameter LOCK_WAIT_TIMEOUT to dynamically set the lock wait timeout for an existing connection. For more information, see SET.

Added a new feature to configure the logs displayed on stdout for Kubernetes and Docker deployments (13379)

The logs displayed on stdout using kubectl logs <AP_pod_name> or docker logs <AP_container_name> can now be configured using logging.consoleLogLevels, without affecting log entries in nuoadmin.log. For more information, see Host Properties (nuoadmin.conf).

New Features in NuoDB 5.0

A sub-set of these features may be available in maintenance releases for prior versions.

Added new database process metrics

The new database metrics are:

  • CleanObjectsBytes

  • DirtyObjectsBytes

  • IncomingMessagesBytes

  • OutstandingObjectRequests

For more information, see Metrics Published by Database Processes.

Added logging category sql-results

The sql-results logging category logs query results to facilitate debugging and diagnostics. For more information, see Logging Options.

Improved Storage Manager (SM) write throttle memory management (12214, 12237, 12238)

The SM write throttle mechanism was improved to use memory more efficiently allowing for greater overall SM reliability and resilience by reducing memory oscillation and out of memory related process shutdown events.

Added support for Java 17

The Administrative Process (AP) and JDBC driver can now use the Java 17 Runtime Environment. For more information, see System Requirements.

Optimized queries with parameterized LIKE predicates

Improved runtime performance for queries with parameterized LIKE predicates through outer to inner join optimization when applicable, and applied further optimizations if the parameter started without a wildcard.

Added JSON built-in functions (12047, 12052, 13049)

The following JSON built-in functions were added:

  • IS_VALID_JSON

  • JSON_CONTAINS

  • JSON_CONTAINS_PATH

  • JSON_EXTRACT

  • JSON_EXISTS

  • JSON_MERGE_PATCH

  • JSON_OBJECT

  • JSON_QUERY

  • JSON_UNQUOTE

  • JSON_VALUE

For more information, see SQL JSON String Functions.

Improved JSON function runtime performance

Added support for the RapidJSON library which delivers significantly improved runtime performance when executing JSON functions.

Added the REOPTIMIZE ALWAYS|NEVER query hint to allow application control of SQL recompilation behavior

For more information, see REOPTIMIZE Hint.

If deploying in Kubernetes, users can now specify the location of the nuoadmin.conf file

For more information, see NuoDB command start admin.

Added Kubernetes multi-tenancy support

Upgraded the Fabric8 Kubernetes client to version 5.12.2 in the NuoDB container image. The new support allows the creation of two NuoDB Admin domains in the same Kubernetes namespace.

Improved archive synchronization performance

Archive synchronization performance has been improved for a new or out-of-date archive. Database load imposed by archive synchronization has been reduced by:

  • Reducing writes to the journal on the SYNCING Storage Manager (SM)

  • Reducing memory overhead for archive synchronization on both the SYNCING SM and the RUNNING SMs

  • Reducing the processing of messages on both the SYNCING SM and the RUNNING SM

Added support for computed columns

For more information on computed columns and optionally how to use them to partition a table, see ALTER TABLE and CREATE TABLE.

Added a new Date/Time data type TIMESTAMP WITHOUT TIME ZONE

For more information, see SQL Date and Time Types.

Improved EXPLAIN PLAN readability for queries which include join operations

Improved the readability of explain plans for queries which include join operations by adding the average number of rows returned by every join operand after the first one.