v3.10.0
Summary
ScalarDB 3.10 includes many enhancements, improvements, bug fixes, and documentation updates. Please see the following for a list of detailed changes.
ScalarDB provides a Community edition and an Enterprise edition. The Community edition is available as open-source software that you can use under the Apache 2.0 License. The Enterprise edition includes not only the features of the Community edition but also many advanced features. Release notes for the Enterprise edition are available under the “Enterprise edition” section. To use the features in the Enterprise edition, you must have a license agreement with Scalar Inc.
Community edition
Enhancements
- Added functionality to treat the transaction metadata columns in a record as committed if the metadata in ScalarDB is empty (i.e.,
null
). This functionality allows ScalarDB to import tables from another existing database. (#841 #931) - Added validation for the consensus commit mutation operation. (#873)
- Added an interface to
Scan
to allow conditions (AND, OR, etc.) to be specified. (#889 #900 #925) - Added support for specifying conditions for
Put
andDelete
in the transaction API. (#899)
Bug fixes
- Upgraded the integrated JRE Docker image to 1.1.13 to fix security issues. CVE-2022-29458 (#881 #882)
- Upgraded the integrated JRE Docker image to 1.1.14 to fix security issues. CVE-2023-0464 CVE-2023-2650 (#902 #903)
- Upgraded sqlite-jdbc to 3.42.0.0 to fix security issues. CVE-2023-32697 (#888)
- Revised the method for checking transaction status before rollback to fix a bug that caused a partial commit during
rollback()
in the two-phase commit (2PC) interface. (#909) - Resolved a race condition in the counter that counts transactions to fix a bug that prevented ScalarDB Server from pausing. (#935)
- Fixed a problem with the metrics for ScalarDB Server not properly displaying the number of aborts and rollbacks. (#919)
- Upgraded gRPC library to 1.53.0 to fix security issues. CVE-2023-1428 CVE-2023-32731 (#943)
Documentation
- Improved documentation for handling errors in ScalarDB transactions. (#897 #932)
- Added detailed descriptions for all ScalarDB configurations to the documentation. (#905)
Enterprise edition
Enhancements
ScalarDB Cluster
- Implemented AWS Marketplace usage reporting so that users can run a ScalarDB Cluster node (Standard or Premium edition) from AWS Marketplace with pay-as-you-go pricing plan.
- Added support for specifying conditions for Put and Delete in the transaction API.
- Added support for the table-importing feature in ScalarDB.
Improvements
ScalarDB Cluster
- Updated GraphQL Server to allow graceful shutdown by waiting to shutdown until there are no more requests for the server.
ScalarDB GraphQL
- Updated GraphQL Server to allow graceful shutdown by waiting to shutdown until there are no more requests for the server.
ScalarDB SQL
- Added a two-phase commit (2PC) high-level API for participants into the
ScalarDbTwoPcRepository
class forSpring Data JDBC for ScalarDB
so that users can implement a 2PC transaction participant safely and easily.
Bug fixes
ScalarDB Cluster
- Upgraded the Guava library to 32.1.1-jre to fix security issues. [CVE-2023-2976]
ScalarDB GraphQL
- Upgraded the Guava library to 32.1.1-jre to fix security issues. [CVE-2023-2976]
- Modified error handling to fix a bug that caused the GraphQL schema update process to stop.
ScalarDB SQL
- Updated ScalarDB SQL Server to always rollback a transaction when an error occurs.
- Added a null check in the
close()
method of theSqlJdbcDriver
class to fix a bug whereNullPointerException
could occur when executing theclose()
method. - Fixed a partial commit issue that occurred in 2PC when using
Spring Data JDBC for ScalarDB
by preventing any rollback after the coordinator successfully processes the commit. - Fixed a problem with the metrics for ScalarDB Server not properly displaying the number of aborts and rollbacks.
- Upgraded the Guava library to 32.1.1-jre to fix security issues. [CVE-2023-2976]
Documentations
ScalarDB Cluster
- Added the ScalarDB Cluster gRPC API guide.
- Reorganized ScalarDB Cluster documents.
- Added a getting started tutorial for ScalarDB Cluster with Python.
ScalarDB SQL
- Revised
Spring Data JDBC for ScalarDB
documentation, such as adding an architectural diagram, adding limitations, and updating some usage guides. - Added detailed descriptions for all ScalarDB configurations to the documentation.
- Improved documentation for handling errors in ScalarDB transactions.