Skip to content

Commit be961ce

Browse files
committed
Add release notes for 3.16.0
1 parent 853a69f commit be961ce

File tree

2 files changed

+152
-0
lines changed

2 files changed

+152
-0
lines changed

docs/releases/release-notes.mdx

Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,3 +13,79 @@ This page includes a list of release notes for ScalarDB 3.16.
1313
## v3.16.0
1414

1515
**Release date:** June 20, 2025
16+
17+
### Summary
18+
19+
This release includes many enhancements, improvements, bug fixes, and performance optimizations.
20+
21+
### Community edition
22+
23+
#### Enhancements
24+
25+
- Added support for IBM Db2 LUV 11 and 12. ([#2598](https://github.com/scalar-labs/scalardb/pull/2598))
26+
- Added a scanner API to the transaction abstraction for iteratively retrieving results. ([#2729](https://github.com/scalar-labs/scalardb/pull/2729))
27+
- Added support for scan fetch size in the storage adapters. You can control the number of records fetched by the scan API in the storage layer by configuring the `scalar.db.scan_fetch_size` property. ([#2731](https://github.com/scalar-labs/scalardb/pull/2731))
28+
- Added `replication-tables` option to the Schema Loader. ([#2747](https://github.com/scalar-labs/scalardb/pull/2747))
29+
- Added support for beginning transactions in read-only mode. ([#2749](https://github.com/scalar-labs/scalardb/pull/2749))
30+
- Fixed warnings for Javadoc and errorprone. ([#2614](https://github.com/scalar-labs/scalardb/pull/2614))
31+
- Introduced `StorageInfo`, which provides metadata about the storage. You can obtain a `StorageInfo` instance via the `DistributedStorageAdmin.getStorageInfo()` method. ([#2756](https://github.com/scalar-labs/scalardb/pull/2756))
32+
- Added Docker support for the ScalarDB Data Loader CLI, enabling containerized deployment of the data loading functionality. ([#2758](https://github.com/scalar-labs/scalardb/pull/2758))
33+
- Added a CI workflow for the Data Loader CLI build. ([#2761](https://github.com/scalar-labs/scalardb/pull/2761))
34+
- Added the `READ_COMMITTED` isolation level, which offers better performance, especially for low-contention workloads. ([#2803](https://github.com/scalar-labs/scalardb/pull/2803))
35+
- Added support for one-phase commit optimization in Consensus Commit, significantly improving performance by skipping prepare-records and commit-state when all mutations can be committed atomically. Enable this optimization with the `scalar.db.consensus_commit.one_phase_commit.enabled` property. ([#2811](https://github.com/scalar-labs/scalardb/pull/2811))
36+
37+
#### Improvements
38+
39+
- Made changes so that the ScalarDB BIGINT data type will now be mapped to Oracle's `NUMBER(16)`. ([#2566](https://github.com/scalar-labs/scalardb/pull/2566))
40+
- Removed the `EXTRA_WRITE` strategy from Consensus Commit. After this change, if the `EXTRA_WRITE` strategy is specified when using Consensus Commit, the `EXTRA_READ` strategy will be used instead. ([#2597](https://github.com/scalar-labs/scalardb/pull/2597))
41+
- Changed to disallow scan operations after a delete on the same record in Consensus Commit to prevent inconsistent behavior and align with the existing restriction on scans after writes. ([#2610](https://github.com/scalar-labs/scalardb/pull/2610))
42+
- Changed to omit commit-state for read-only transactions in Consensus Commit to improve performance. This behavior is enabled by default but can be disabled by setting the property `scalar.db.consensus_commit.coordinator.write_omission_on_read_only.enabled` to `false`. ([#2765](https://github.com/scalar-labs/scalardb/pull/2765))
43+
- Updated the code to remove before images after committing or rolling back records in Consensus Commit to reduce disk usage. ([#2787](https://github.com/scalar-labs/scalardb/pull/2787))
44+
- Improved the read algorithm in Consensus Commit to reduce unnecessary retries. ([#2798](https://github.com/scalar-labs/scalardb/pull/2798))
45+
46+
#### Bug fixes
47+
48+
- Upgraded the Netty library to fix a security issue. [CVE-2025-24970](https://github.com/advisories/GHSA-4g8c-wm8x-jfhw "CVE-2025-24970") ([#2552](https://github.com/scalar-labs/scalardb/pull/2552))
49+
- Fixed a bug in Consensus Commit with `SERIALIZABLE` isolation level where a transaction consistently aborts if a record was inserted into the scan range after executing a scan with a limit. ([#2621](https://github.com/scalar-labs/scalardb/pull/2621))
50+
- Fixed an issue with `DistributedStorageAdmin.getNamespaceNames()` API when using the DynamoDB storage with the namespace prefix setting `scalar.db.dynamo.namespace.prefix`. The namespace names returned by this method wrongly contained the prefix. ([#2641](https://github.com/scalar-labs/scalardb/pull/2641))
51+
- Added exception handling for `DateTimeParseException` on column value conversion ([#2662](https://github.com/scalar-labs/scalardb/pull/2662))
52+
- Fixed an issue where `Get` operations using secondary indexes could throw `IllegalArgumentException` in `SERIALIZABLE` transactions by converting them to `Scan` operations during validation. ([#2683](https://github.com/scalar-labs/scalardb/pull/2683))
53+
- Fixed a bug that caused unnecessary implicit pre-reads when updating records retrieved by a secondary-index `Get` operation within a transaction. ([#2700](https://github.com/scalar-labs/scalardb/pull/2700))
54+
- Fixed minor bugs and issues in Data Loader core. ([#2752](https://github.com/scalar-labs/scalardb/pull/2752))
55+
- Fixed a bug where records could be missed when executing `Get` or `Scan` with conjunctions in Consensus Commit. ([#2786](https://github.com/scalar-labs/scalardb/pull/2786))
56+
- Fixed an issue in Consensus Commit where reading the same record multiple times from storage could cause anomalies like lost updates. The read set is no longer updated on repeated reads to resolve this issue. ([#2797](https://github.com/scalar-labs/scalardb/pull/2797))
57+
- Fixed potential connection leak when using `jdbc` storage and `Scan` operation fails because the target table doesn't exist ([#2766](https://github.com/scalar-labs/scalardb/pull/2766))
58+
59+
### Enterprise edition
60+
61+
#### Enhancements
62+
63+
##### ScalarDB Cluster
64+
65+
- Introduced the attribute-based access control (ABAC) feature in ScalarDB Cluster.
66+
- Added a configuration option (`scalar.db.transaction.enabled`) to enable or disable the transaction feature in ScalarDB Cluster. The default value is `true`.
67+
- Added support for the scanner API in the transaction abstraction to iteratively retrieve results in ScalarDB Cluster.
68+
- Added support for beginning transactions in read-only mode in ScalarDB Cluster.
69+
- Added support for beginning transactions in read-only mode using SQL in ScalarDB Cluster.
70+
- Added the semi-synchronous replication feature in ScalarDB Cluster.
71+
72+
##### ScalarDB SQL
73+
74+
- Added support for beginning transactions in read-only mode in ScalarDB SQL.
75+
76+
#### Improvements
77+
78+
##### ScalarDB Cluster
79+
80+
- Added support for the Omnistrate service. Now, you can run ScalarDB Cluster in the Omnistrate service.
81+
- Made changes to prevent pausing of read-only transactions when a pause command is issued to ScalarDB Cluster.
82+
83+
#### Bug fixes
84+
85+
##### ScalarDB Cluster
86+
87+
- Fixed a bug related to the metadata cache behavior when using auth in the SQL interface.
88+
- Fixed configurations for the embedding feature.
89+
- Fixed a bug that allowed superusers to execute ABAC administrative operations for non-existing users.
90+
- Fixed a bug a table-not-found error occurs when dropping empty ABAC system tables.
91+
- Fixed a memory leak issue when the coordinator group commit feature is enabled.

i18n/versioned_docs/ja-jp/docusaurus-plugin-content-docs/current/releases/release-notes.mdx

Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,3 +17,79 @@ import TranslationBanner from '/src/components/_translation-ja-jp.mdx';
1717
## v3.16.0
1818

1919
**発売日:** 2025年06月20日
20+
21+
### まとめ
22+
23+
このリリースには、多くの機能強化、改善、バグ修正、およびパフォーマンスの最適化が含まれています。
24+
25+
### Community edition
26+
27+
#### 機能強化
28+
29+
- IBM Db2 LUV 11 および 12 のサポートを追加しました。([#2598](https://github.com/scalar-labs/scalardb/pull/2598))
30+
- 結果を反復的に取得するためのトランザクション抽象にスキャナー API を追加しました。([#2729](https://github.com/scalar-labs/scalardb/pull/2729))
31+
- ストレージアダプターにおけるスキャンフェッチサイズのサポートを追加しました。`scalar.db.scan_fetch_size` プロパティを設定することで、ストレージ層でスキャン API によってフェッチされるレコード数を制御できます。([#2731](https://github.com/scalar-labs/scalardb/pull/2731))
32+
- Schema Loader に `replication-tables` オプションを追加しました。([#2747](https://github.com/scalar-labs/scalardb/pull/2747))
33+
- 読み取り専用モードでトランザクションを開始するサポートを追加しました。([#2749](https://github.com/scalar-labs/scalardb/pull/2749))
34+
- Javadoc および errorprone に関する警告を修正しました。([#2614](https://github.com/scalar-labs/scalardb/pull/2614))
35+
- ストレージに関するメタデータを提供する `StorageInfo` を導入しました。`DistributedStorageAdmin.getStorageInfo()` メソッドを介して `StorageInfo` インスタンスを取得できます。([#2756](https://github.com/scalar-labs/scalardb/pull/2756))
36+
- ScalarDB Data Loader CLI の Docker サポートを追加し、データロード機能のコンテナ化されたデプロイメントを可能にしました。([#2758](https://github.com/scalar-labs/scalardb/pull/2758))
37+
- Data Loader CLI ビルドのCIワークフローを追加しました。([#2761](https://github.com/scalar-labs/scalardb/pull/2761))
38+
- より良いパフォーマンスを提供する `READ_COMMITTED` 分離レベルを追加しました。特に低競合のワークロードに対して効果的です。([#2803](https://github.com/scalar-labs/scalardb/pull/2803))
39+
- Consensus Commit における1フェーズコミット最適化のサポートを追加し、すべての変更が原子的にコミットできる場合にプレパレコードとコミットステートをスキップすることでパフォーマンスを大幅に向上させます。この最適化は `scalar.db.consensus_commit.one_phase_commit.enabled` プロパティで有効にできます。([#2811](https://github.com/scalar-labs/scalardb/pull/2811))
40+
41+
#### 改善点
42+
43+
- ScalarDB BIGINT データ型が Oracle の `NUMBER(16)` にマッピングされるように変更しました。([#2566](https://github.com/scalar-labs/scalardb/pull/2566))
44+
- Consensus Commit から `EXTRA_WRITE` 戦略を削除しました。この変更により、Consensus Commit を使用する際に `EXTRA_WRITE` 戦略が指定された場合、代わりに `EXTRA_READ` 戦略が使用されます。([#2597](https://github.com/scalar-labs/scalardb/pull/2597))
45+
- Consensus Commit において、削除後に同じレコードに対してスキャン操作を不許可にするように変更し、一貫性のない動作を防ぎ、書き込み後のスキャンに関する既存の制限と整合させました。([#2610](https://github.com/scalar-labs/scalardb/pull/2610))
46+
- Consensus Commit において、読み取り専用トランザクションのコミットステートを省略するように変更し、パフォーマンスを向上させました。この動作はデフォルトで有効ですが、`scalar.db.consensus_commit.coordinator.write_omission_on_read_only.enabled` プロパティを `false` に設定することで無効にできます。([#2765](https://github.com/scalar-labs/scalardb/pull/2765))
47+
- Consensus Commit において、レコードのコミットまたはロールバック後に前の画像を削除するようにコードを更新し、ディスク使用量を削減しました。([#2787](https://github.com/scalar-labs/scalardb/pull/2787))
48+
- Consensus Commit における読み取りアルゴリズムを改善し、不必要な再試行を減少させました。([#2798](https://github.com/scalar-labs/scalardb/pull/2798))
49+
50+
#### バグの修正
51+
52+
- セキュリティ問題を修正するために Netty ライブラリをアップグレードしました。 [CVE-2025-24970](https://github.com/advisories/GHSA-4g8c-wm8x-jfhw "CVE-2025-24970") ([#2552](https://github.com/scalar-labs/scalardb/pull/2552))
53+
- スキャンに制限をかけた後にトランザクションが常に中断される `SERIALIZABLE` 分離レベルにおける Consensus Commit のバグを修正しました。([#2621](https://github.com/scalar-labs/scalardb/pull/2621))
54+
- DynamoDB ストレージを使用している際に、名前空間プレフィックス設定 `scalar.db.dynamo.namespace.prefix` を用いた場合の `DistributedStorageAdmin.getNamespaceNames()` API の問題を修正しました。このメソッドによって返される名前空間名に誤ってプレフィックスが含まれていました。([#2641](https://github.com/scalar-labs/scalardb/pull/2641))
55+
- 列値変換時の `DateTimeParseException` に対する例外処理を追加しました。([#2662](https://github.com/scalar-labs/scalardb/pull/2662))
56+
- `SERIALIZABLE` トランザクション内での二次インデックスを使用した `Get` 操作が、検証中に `Scan` 操作に変換されることにより `IllegalArgumentException` をスローする問題を修正しました。([#2683](https://github.com/scalar-labs/scalardb/pull/2683))
57+
- トランザクション内で二次インデックスの `Get` 操作によって取得されたレコードを更新する際に、不必要な暗黙のプレリードが発生するバグを修正しました。([#2700](https://github.com/scalar-labs/scalardb/pull/2700))
58+
- データローダーコアのマイナーなバグと問題を修正しました。([#2752](https://github.com/scalar-labs/scalardb/pull/2752))
59+
- Consensus Commit において、結合を伴う `Get` または `Scan` を実行する際にレコードが見逃されるバグを修正しました。([#2786](https://github.com/scalar-labs/scalardb/pull/2786))
60+
- Consensus Commit において、ストレージから同じレコードを複数回読み取ることが、更新の喪失などの異常を引き起こす可能性がある問題を修正しました。この問題を解決するために、読み取りセットは繰り返し読み取り時に更新されなくなりました。([#2797](https://github.com/scalar-labs/scalardb/pull/2797))
61+
- `jdbc` ストレージを使用している際に、ターゲットテーブルが存在しないために `Scan` 操作が失敗した場合の潜在的な接続リークを修正しました。([#2766](https://github.com/scalar-labs/scalardb/pull/2766))
62+
63+
### Enterprise edition
64+
65+
#### 機能強化
66+
67+
##### ScalarDB Cluster
68+
69+
- ScalarDB Cluster における属性ベースのアクセス制御 (ABAC) 機能を導入しました。
70+
- ScalarDB Cluster におけるトランザクション機能の有効または無効を設定するための構成オプション(`scalar.db.transaction.enabled`)を追加しました。デフォルト値は `true` です。
71+
- ScalarDB Cluster におけるトランザクション抽象にスキャナー API のサポートを追加し、結果を反復的に取得できるようにしました。
72+
- ScalarDB Cluster において、読み取り専用モードでトランザクションを開始するサポートを追加しました。
73+
- ScalarDB Cluster において、SQL を使用して読み取り専用モードでトランザクションを開始するサポートを追加しました。
74+
- ScalarDB Cluster において、セミ同期レプリケーション機能を追加しました。
75+
76+
##### ScalarDB SQL
77+
78+
- ScalarDB SQL において、読み取り専用モードでトランザクションを開始するサポートを追加しました。
79+
80+
#### 改善点
81+
82+
##### ScalarDB Cluster
83+
84+
- Omnistrate サービスのサポートを追加しました。これにより、ScalarDB Cluster を Omnistrate サービス内で実行できるようになりました。
85+
- ScalarDB Cluster に対してポーズコマンドが発行された際に、読み取り専用トランザクションが一時停止しないように変更しました。
86+
87+
#### バグの修正
88+
89+
##### ScalarDB Cluster
90+
91+
- SQL インターフェースで認証を使用する際のメタデータキャッシュの動作に関するバグを修正しました。
92+
- 埋め込み機能の設定を修正しました。
93+
- スーパーユーザーが存在しないユーザーに対して ABAC 管理操作を実行できるバグを修正しました。
94+
- 空の ABAC システムテーブルを削除する際にテーブルが見つからないエラーが発生するバグを修正しました。
95+
- コーディネーターグループコミット機能が有効なときのメモリリークの問題を修正しました。

0 commit comments

Comments
 (0)