24.1.15での変更点

Oracle NoSQL Databaseリリース24.1.15 Enterprise Editionで次の変更が行われました。

新機能

  1. 次の数学的SQL関数を実装しました: ABS、ACOS、ASIN、ATAN、ATAN2、CEIL、COS、COT、DEGREES、EXP、FLOOR、LOG、LOG10、POWER、RADIANS、RAND、ROUND、SIGN、SIN、SQRT、TAN、TRUNC。

バグとパフォーマンスの修正

  1. 現在のクライアント・バージョンと互換性がないストレージ・ノードでrunadminコマンドを実行するときにスローされるShellExceptionのエラー・メッセージが改善されました。エラー・メッセージに、クライアントJARファイルの最小前提条件バージョンがレポートされるようになりました。

    [KVSTORE-917]

  2. show userコマンドによって返されるユーザーの説明に、現在のパスワードの有効期限情報を新しいフィールドcurrent-passwd-expirationとして追加しました。この値は、パスワードの有効期限が切れている場合はexpired、パスワードの存続期間が無制限に設定されている場合はnon-expiringになります。それ以外の場合、この値はyyyy-MM-dd HH:mm:ss zの形式の有効期限日時になります。

    [KVSTORE-1904]

  3. Streams APIユーザーが、ストリーム操作の数ではなく、サイズ別のサブスクライバのメモリー使用量を構成できる、新しい構成APIが追加されました。この新しいメソッドは、NoSQLSubscriptionConfig.Builder.setOutputQueueSizeMBと呼ばれます。

    [KVSTORE-2061]

  4. 複数のXRegionサービス・エージェントが複数リージョン表にデプロイされている場合、別のリージョンからの表のデータの初期転送にすべての行を含めることができないというバグを修正しました。

    [KVSTORE-2111]

  5. マスター選択の追跡に使用されるelection.persistedファイルが破損しても、レプリケーション・ノードまたは管理ノードの起動が阻止されなくなりました。

    [KVSTORE-2162]

  6. スタック・トレースでの次の原因のためにストア・リクエストで障害が発生する可能性がある問題を修正しました: Caused by: oracle.kv.impl.async.exception.TemporaryDialogException: Idle timeout, connection is idle during last 20000 ms。

    [KVSTORE-2214]

  7. ネットワーク接続に関連するオブジェクトがガベージ・コレクションされないために、ネットワーク停止中にOutOfMemoryErrorsが発生する可能性がある問題を修正しました。この問題は、ForkJoinTask$AdaptedRunnableActionオブジェクトによって参照される多数のNioEndpointHandlerオブジェクトのヒープ・ダンプをチェックすることで識別できます。

    [KVSTORE-2190]

  8. OutOfMemoryErrorのようなランタイム・エラー時にサブスクリプションを終了できないために、サブスクリプションがハングしたままになる可能性がある、Streams APIのバグを修正しました。

    [KVSTORE-2199]

  9. メッセージに「Secondary/primary record already present」というテキストが含まれるFaultExceptionが発生してストア操作が失敗する原因となる問題を修正しました。

    この修正により、索引が主キーの一部を含むように指定されている場合に、セカンダリ索引の破損を引き起こす可能性のある問題が解消されます。ストア操作中に索引の破損が検出された場合、説明したとおりにその操作はFaultExceptionが発生して失敗し、関連するレプリケーション・ノードに対してSEVEREロギング・エントリがログに記録されます。影響を受けるノードが再起動され、セカンダリ索引が自動的に削除および再構築されるため、この索引は再構築中に使用できなくなります。

    [KVSTORE-2027]

  10. ストア内のシャード数の増加中にバルク格納操作が実行された場合に、NullPointerExceptionが発生してバルク格納操作が失敗する原因となる問題を修正しました。この問題は、TableAPI.put(List<EntryStream<Row>>, BulkWriteOptions)メソッドとKVStore.put(List<EntryStream<KeyValue>>, BulkWriteOptions)メソッドの両方に存在していました。
    java.lang.NullPointerException: Cannot invoke "java.util.List.size()"
    because "list" is null
    	at oracle.kv.impl.api.bulk.BulkPut.startShardExecutor(BulkPut.java:423)
    	at oracle.kv.impl.api.bulk.BulkPut.execute(BulkPut.java:292)
    	at oracle.kv.impl.api.table.TableAPIImpl.put(TableAPIImpl.java:1564)

    [KVSTORE-2173]

  11. LIMIT句を使用した(しかし、OFFSET句は使用していない)問合せでマルチキー索引を使用していた場合に、結果が欠落する原因となる可能性のあるバグを修正しました。

    [KVSTORE-2184]

  12. ConcurrentModificationExceptionが発生して問合せ(および場合によっては他の操作も)が失敗する原因となる可能性のあるバグを修正しました。この問題は、索引メタデータが完全に初期化される前に使用できる可能性があることが原因でした。

    [KVSTORE-2185]

  13. 親表の行もリクエストした子表に対するDirect Java Driver表の反復によって親表から破棄(削除済)行が返される可能性がある複数リージョン表の問題を修正しました。誤った結果が、反復のキー値と一致する行またはキーとして表示されるが、行の値が空であるため、すべてのフィールドがにnull値になります。

    [KVSTORE-2223]

  14. JSON文字列から表の行を作成する際に、小数値の精度が失われる原因となる可能性があるバグを修正しました。

    [KVSTORE-2189]

  15. 相対パス名値を絶対パス名に変換するようにセキュリティ構成プロパティの処理を変更しました。アプリケーションがKVStoreConfig.setSecurityPropertiesメソッドをコールしてセキュリティ・プロパティを指定し、プロパティにAUTH_WALLET_PROPERTYやAUTH_PWDFILE_PROPERTYなどのプロパティの相対パス名値が含まれる場合、パス名は現在のディレクトリに対する相対パス名に変換されるようになりました。以前は、相対パス名が存在する場合、ウォレット構成に関するわかりにくい例外メッセージが表示されるか、ファイル・ストアで使用する場合はNullPointerExceptionsが発生していました。KVLiteによって生成されたセキュリティ構成ファイルでは相対パス名が使用されるため、アプリケーションが、KVLiteセキュリティ構成ファイルから読み込まれたプロパティとともにKVStoreConfig.setSecurityPropertiesをコールした場合、これらの問題が発生する可能性があります

    [KVSTORE-1938]

  16. makebootconfigおよびdiagnosticsコマンドによって実行されるネットワーク・ポート・チェックを変更して、UDPポートではなくTCPポートのみをチェックするようにしました。以前は、使用中のUDPポートには、ストアをサポートするために必要なポートと競合するというフラグが付けられていました。ストアはネットワーク接続にTCPのみを使用するため、UDPポートのチェックは不要でした。

    [KVSTORE-2164]

  17. キーストアが有効であっても、認証局によって署名された証明書を使用して作成されたセキュリティ構成に正しくないキーストア・インストールがあるとsecurityconfig verifyによって報告される可能性がある問題を修正しました。これが発生した原因は、秘密キー・エントリに証明書の完全なチェーンがあり、キーストアが有効である場合でも、以前の検証でキーストアに個別のルートおよび中間証明書エントリが求められたためです。

    [KVSTORE-1505]

  18. NoSQLデータベース管理CLIで使用される内部APIの必要な権限をSYSVIEWからUSRVIEWに更新しました。この変更後、CLIコマンドawait-consistentにSYSVIEWではなくUSRVIEW権限が必要になりました。

    [KVSTORE-2183]

  19. Java 11およびNFSマウントされたkvrootディレクトリの使用時にKVLiteの起動に失敗する問題を修正しました。

    [KVSTORE-2015]

  20. -shard引数がアービタ・ノードの表示に失敗するping管理CLIコマンドのバグを修正しました。

    [KVSTORE-1692]

  21. 縮小計画の再実行のバグを修正しました。RemoveShardタスクの失敗が原因で縮小計画が失敗した場合、この計画の再実行が原因で、RemoveShardタスク(removeRepNodeJob)より前のタスクが失敗してNullPointerExceptionが発生します。この動作は修正されています。

    [KVSTORE-1844]

  22. コマンドライン引数'-update-config false'と不明/無効なスナップショットを使用してストレージ・ノード・エージェントを起動するとハングするバグを修正しました。

    [KVSTORE-1786]

  23. 複数リージョン表ではない表に対するSQLの"describe table"コマンドの出力にローカル・リージョンが表示されたバグを修正しました。

    [KVSTORE-2201]