ScalarDB 3.17 リリースノート
注記
このページは英語版のページが機械翻訳されたものです。英語版との間に矛盾または不一致がある場合は、英語版を正としてください。
このページには、ScalarDB 3.17 のリリースノートのリストが含まれています。
v3.17.4
発売日: 2026年8月2日
まとめ
このリリースでは、非推奨ポリシーを更新し、repairTable の動作を改善し、Consensus Commit、クラスターのロールバック/一時停止、SQL メタデータキ ャッシュに関するいくつかの問題を修正し、Community エディションと Enterprise エディション全体でセキュリティの脆弱性に対処するために複数の依存関係をアップグレードしました。
Community edition
改善点
- 非推奨ポリシーを変更し、API と設定に非推奨のマーク付けされたものは 5.0.0 ではなく 4.0.0 で削除されるようになりました。 (#3520)
- メタデータが既に最新の状態の場合にテーブルのメタデータの再書き込みをスキップする (Cosmos DB の場合は、コンテナーのインデックスポリシーが既に一致する場合にその更新もスキップする) ように
repairTableを改善し、不要な書き込みを回避するようにしました。 (#3613)
バグの修正
- 同じインデックス値を持つ別のレコードが同時に削除および挿入されている場合に、セカンダリインデックスを使用した
Get操作がIllegalArgumentExceptionで失敗する可能性がある Consensus Commit の問題を修正しました。 (#3607) - 読み取り専用でのコーディネーター書き込み省略が無効で、コーディネーターのグループコミットが有効な場合に、読み取り専用トランザクションが失敗する可能性がある Consensus Commit の問題を修正しました。 (#3614)
- コーディネーターのグループコミット機能が有効になっている場合に、
DistributedTransactionManager.rollback(String)/abort(String)を使用して ID でインフライトのグループコミットされたトランザクションをアボートすると、その操作が失われる可能性があるバグを修正しました。 (#3619) - lazy recovery 中に書き込みトランザクションが同時にコミットされたレコードの読み取りが、古い (コミット前の) 値を返す可能性がある Consensus Commit トランザクションマネージャーの問題を修正しました。 (#3621)
- Jackson、Netty、Azure Cosmos DB、および Azure Blob Storage ライブラリをアップグレードしてセキュリティ問題を修正しました: CVE-2026-42579, CVE-2026-42583, CVE-2026-42584, CVE-2026-42587, CVE-2026-44249, CVE-2026-45416, CVE-2026-45674, CVE-2026-47691, CVE-2026-50010, CVE-2026-54512, CVE-2026-54513, CVE-2026-55831, CVE-2026-55833, CVE-2026-56745, CVE-2026-59901, and GHSA-r7wm-3cxj-wff9 (#3754)
- PostgreSQL JDBC ドライバーをアップグレードしてセキュリ ティ問題を修正しました: CVE-2026-42198 and CVE-2026-54291 (#3759)
Enterprise edition
改善点
ScalarDB Cluster
- 非推奨ポリシーを変更し、非推奨とマーク付けされた API は 5.0.0 ではなく 4.0.0 で削除されるようになりました。
バグの修正
ScalarDB Cluster
- クラスターのリクエスト転送ホップ制限を超えた
rollbackが失敗を表面化する代わりにサイレントに成功として報告されるバグを修正しました。これにより、lazy recovery までレコードが prepared 状態のままになる可能性がありました。 - クラスターノードまたはトランザクションコーディネーターの一時停止がノードが一時停止されていないにもかかわらず成功と報告されるレースコンディションを修正しました。これは、一時停止解除または別の一時停止リクエストが同時に発行された場合、および以前の一時停止がすでに成功した後に未処理リクエストを待機する一時停止がタイムアウトした場合に発生する可能性がありました。
- Jackson、Netty、および LangChain4j ライブラリをアップグレードしてセキュリティ問題を修正しました: CVE-2026-40682, CVE-2026-42027, CVE-2026-42440, CVE-2026-42583, CVE-2026-42584, CVE-2026-42587, CVE-2026-44249, CVE-2026-45416, CVE-2026-50010, CVE-2026-54512, CVE-2026-54513, CVE-2026-55405, CVE-2026-55831, CVE-2026-55833, CVE-2026-56745, CVE-2026-59901, and GHSA-r7wm-3cxj-wff9
- Bouncy Castle ライブラリおよび grpc_health_probe バイナリをアップグレードしてセキュリティ問題を修正しました: CVE-2025-14813, CVE-2026-5598, CVE-2026-25681, CVE-2026-27136, CVE-2026-27145, CVE-2026-33811, CVE-2026-33814, CVE-2026-39820, CVE-2026-39821, CVE-2026-39822, CVE-2026-39836, CVE-2026-42499, and CVE-2026-42504
ScalarDB SQL
CachedMetadata#invalidateNamespaceNamesCache()が実際に名前空間のキャッシュリストを無効にしなかった問題を修正しました。これによりSHOW NAMESPACESおよび関連操作がキャッシュ TTL が期限切れになるまで古い結果を返す可能性がありました。
v3.17.3
発売日: 2026年4月15日
まとめ
このリリースには、いくつかの改善点とバグ修正が含まれています。
破壊的変更
- 既存のテーブルは、新しい before-image セカンダリインデックスを作成するために
repairTable()が必要です。 Consensus Commit のインデックスベースのGet、Scan、ScanAll操作は、コンパニオンのbefore_<col>インデックスに依存するようになりました。既存のテーブルそれぞれでrepairTable()を実行するまで、ScalarDB はスタートアップ時に警告をログに出力し、インデックスベースの読み取りは以前の動作にフォールバックします。これにより、インデックス列が同時に更新されているレコードを見落とす可能性があります。設定scalar.db.consensus_commit.index.eventually_consistent_read.enabledはオプトアウト用に提供されていますが、新しいワークロードにはお勧めしません。 - MySQL Connector/J が MariaDB Connector/J に置き換わりました。 SSL はデフォルトで有効になりません。MySQL 8.0 以降に
caching_sha2_password認証で接続する場合は、JDBC URL にsslMode=REQUIREDまたはallowPublicKeyRetrieval=trueを追加してください。jdbc:mysql://URL の場合、ScalarDB が互換性のために自動的にpermitMysqlSchemeを追加するため、操作は不要です。
Community edition
改善点
- MySQL Connector/J を MariaDB Connector/J に置き換えました。ライセンス上の懸念によるものです。 (#3428)
- DynamoDB のセカンダリインデックス列に null 値を設定するサポートを追加しました。null 値が設定されると、属性はアイテムから削除され、レコードはセカンダリインデックスのスキャンに表示されなくなります。 (#3326)
- TIME (マイクロ秒精度)、TIMESTAMP (ミリ秒精度)、TIMESTAMPTZ (ミリ秒精度)列の値を挿入または更新する際、範囲外の精度は例外をスローするのではなく切り捨てられるようになりました。 (#3393)
- Consensus Commit のインデックスベースの Get および Scan 操作で、PREPARED または DELETED 状態のレコードを見逃す可能性がある問題を修正しました。before-image セカンダリインデックスのチェックを追加しました。 (#3419)
- before-image インデ ックスが存在する場合、Consensus Commit のインデックスベースの Get、Scan、および ScanAll 操作で SERIALIZABLE 分離レベルをサポートするようになりました。既存のテーブルに before-image インデックスを作成するには、
repairTable()を実行してください。 (#3463) - JDBC インデックス名が基盤となるデータベースでサポートされている最大識別子長を超える場合、ハッシュを使用して短縮されるようになりました。 (#3481)
バグの修正
dropColumnFromTable()が列の削除をサポートしていない場合でもセカンダリインデックスを削除してしまう問題を修正しました。 (#3450)- Netty ライブラリをアップグレードしてセキュリティ問題を修正しました: CVE-2026-33870 および CVE-2026-33871 (#3452)
- インデックスベースの Get および Scan 操作が、lazy recovery に よって PREPARED レコードがロールバックされた後に不正確な結果を返す可能性があるバグを修正しました。after-image インデックス値がクエリに一致しても、before-image (復元された) 値が一致しない場合があります。 (#3488)
Enterprise edition
改善点
ScalarDB SQL
- TIMESTAMPTZ リテラルを更新し、UTC タイムゾーン
Z文字の前のスペース文字をオプションにしました。例えば、2021-03-04 12:30:45.123Zが現在の形式2021-03-04 12:30:45.123 Zに加えて受け入れられるようになりました。また、TIMESTAMPTZ 列を選択する際、値はZの前にスペースを入れずに表示されます。 - CLI モジュールのシャドウ jar が不必要に GitHub Packages に公開される問題を修正しました。
- TIME (マイクロ秒精度)、TIMESTAMP (ミリ秒精度)、TIMESTAMPTZ (ミリ秒精度) 列の値を挿入または更新する際、範囲外の精度は例外をスローするのではなく切り捨てられるようになりました。
バグの修正
ScalarDB Cluster
grpc_health_probeをアップグレードしてセキュリティ問題を修正しました: CVE-2025-59250 および CVE-2026-25679- Netty ライブラリをアップグレードしてセキュリティ問題を修正しました: CVE-2026-33870 および CVE-2026-33871
- ワンショットバッチ操作が GateKept トランザクションマネージャーでポーズ制御をバイパスするバグを修正しました。
grpc_health_probeをアップグレードしてセキュリティ問題を修正しました: CVE-2026-34986.