12cR1.2.1.24での変更点

Oracle NoSQL Database 12cR1.2.1.24で次の変更が行われました。

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

  1. レプリケーション・ノードが停止する直前またはマスターからレプリカ状態に遷移している途中などの特定の状況において、未処理リクエストのクリーン・アップ時に問題が発生することがありました。ノードは自動的に再起動して操作が再試行されるため、この問題はアプリケーションに対して透過的でしたが、ノードのフェイルオーバーを不必要に発生させる可能性がありました。これは修正されました。[#22152]

    java.lang.IllegalStateException: Transaction 30 detected open cursors while aborting
        at com.sleepycat.je.txn.Txn.abortInternal(Txn.java:1190)
        at com.sleepycat.je.txn.Txn.abort(Txn.java:1100)
        at com.sleepycat.je.txn.Txn.abort(Txn.java:1073)
        at com.sleepycat.je.Transaction.abort(Transaction.java:207)
        at oracle.kv.impl.util.TxnUtil.abort(TxnUtil.java:80)
        at oracle.kv.impl.api.RequestHandlerImpl.executeInternal(RequestHandlerImpl.java:469)
        at oracle.kv.impl.api.RequestHandlerImpl.access$300(RequestHandlerImpl.java:122)
        at oracle.kv.impl.api.RequestHandlerImpl$2.execute(RequestHandlerImpl.java:301)
        at oracle.kv.impl.api.RequestHandlerImpl$2.execute(RequestHandlerImpl.java:290)
        at
    oracle.kv.impl.fault.ProcessFaultHandler.execute(ProcessFaultHandler.java:135>
  2. NoSQL DBの以前のリリースでは、レプリケーション・ノードがマスターからレプリカ状態に遷移する場合、その遷移過程でデータベース環境をクローズして再オープンする必要がありました。現在の遷移は効率化されているため、多くの場合データベース環境に混乱が生じることはありません。遷移が必要とするリソースは少なくなり、ノードの可用性が向上しました。[#22627]

  3. plan deploy-topologyコマンドに保護手段が追加され、トポロジのバランス再調整とプランの再配分における信頼性が向上しました。レプリケーション・ノードを別のストレージ・ノードに移動する場合、操作を行う前に、操作対象のストレージ・ノードが起動され実行中であることをコマンドによってチェックするようになりました。[#22850]

  4. 特定の状況において、レプリケーション・ノードがシャードに参加するときに古くなったマスター・アイデンティティ情報を使用する可能性がありました。これによって、ターゲット・ノードが使用不可である場合に遅延が生じることがありました。これは修正されました。[#22851]

  5. 特定の状況において、操作が完了前にoracle.kv.impl.fault.TTLFaultExceptionで終了しました。現在、この例外はサーバーとクライアントのライブラリによって内部的に処理され、操作が再試行されます。障害状態が継続する場合、操作は最終的にoracle.kv.RequestTimeoutExceptionで失敗します。[#22860]

  6. 以前は、レプリケーション・ノードが起動してシャードに参加するためにシャード・データのコピーの転送を要する場合がありましたが、これは不必要でした。これは修正されました。[#22782]

  7. Oracle NoSQL DBデプロイメントに新しいストレージ・ノードが追加され、新しいトポロジがデプロイされる場合、ストアではパフォーマンスを最適化するためにマスター・ロールが再配分されます。フェイルオーバーやマスター変更などの他のイベントが発生するまで、ストアが新しいストレージ・ノードを通知しない場合があり、マスターのバランス調整に遅れが生じることがありました。これは修正されました。[#22888]

  8. ストアで使用するJE構成パラメータje.evictor.criticalPercentageの設定が修正されました。これは105に設定されていましたが、20に変更されました。この新しい設定値によって、データ・セットのサイズがメモリー設定の最適値を超える場合のキャッシュ管理動作が改善されます。[#22899]

ユーティリティとドキュメントの変更点

  1. CLIのpingコマンドの出力にタイムスタンプが追加されました。[#22859]