R3 Corda docs URL
https://docs.r3.com/en/platform/corda/4.10/community/release-notes.html
Corda Community Edition 4.10
Corda Community Edition 4.10 には、いくつかの新機能、機能強化、および修正が含まれています。
プラットフォームバージョン変更
Corda 4.10 はプラットフォーム・バージョン 12 を使用しています。
プラットフォームのバージョンについての詳細は、バージョニングを参照してください。
https://docs.r3.com/en/platform/corda/4.10/community/versioning.html
新機能と機能拡張
新規サービスライフサイクルイベント
スタートアップ中、ノードはステートマシンを開始する直前に新規サービスライフサイクルイベントBEFORE_STATE_MACHINE_STARTをパブリッシュします。ノードは、イベントのすべての受信者がそれを処理するまで、ステートマシンを開始しません。
ノードのヘルスチェックのためのクイックRPC
ノードによって提供されるいくつかの RPC は、標準の RPC スレッドプールをバイパスして、ノードが RPC 要求のバックログの処理で忙しい場合でも、比較的迅速に返すという点で「クイック」になりました。影響を受ける RPC は currentNodeTime()と getProtocolVersion()です。
ピアノードが恒久的にブロックされない
以前は、TLS ハンドシェイクに問題があるためにノードがピアノードへの AMQP 接続のオープンに失敗すると、そのピアノードは永久にブロックされ、ノードを再起動しない限りそれ以降の接続が試行されなくなる可能性がありました。この更新により、ピアノードは恒久的にブロックされなくなりましたが、その代わりに接続はより長い間隔(5 分、そして 1 日1 回)で再試行されるようになります。
JMX経由でノードのステータスを公開
ノードは現在何をしているかを示すステータス(net.coda.Node.Status)をJMX経由でパブリッシュするようになりました。このステータスは、ノードが JMX 経由で情報/メトリックを公開するように設定されている場合にのみ利用可能です。
Postgresのサポート
Postgres 13.8をサポートしました。
フローがOpenTelemetryスパンを生成できるようになりました
OpenTelemetry のトレース信号が、ノードをまたぐフローでサポートされるようになりました。詳しくは、OpenTelemetry を参照してください。
https://docs.r3.com/en/platform/corda/4.10/community/opentelemetry.html
ノード診断の改善
このリリースでは、ノード診断が改善されました。
・5 分毎にログファイルへのスレッドダンプが出力されます。
・ステートマシンのスレッドプールがブロックされているかどうかを定期的にチェックし、ブロックされている場合は警告が生成されます。
・ログメッセージは、他のフロー上でフローを開始するノードと、受信するノードの両方で出力されるようになりました。これにより、送信開始セッション、受信開始セッションはそれぞれメッセージIDに関連付けられます。これにより、ノード間のログの診断が容易になります。
修正された問題
このリリースには以下の修正が含まれています。
・ノードから SSH クライアントを切断する際に、Artemis からの警告メッセージは標準出力に書き込まれなくなりました。しかし、警告はノードのログファイルには書き込まれます。
・inMemoryトークン選択を有効にしてトークンSDKを使用する場合、Cordaノードのメモリ使用量が改善されました。
・Cordaは外部データソース(例えば、リモートRDBMS)からユーザーの資格情報と権限を取得することができます。このデータベースの資格情報は node.conf ファイルで設定されます。以前は、ノードを実行すると、Cordaはこのデータベースのパスワードをログファイルに記録していました。この問題は解決され、ログファイルにパスワードが書き込まれなくなりました。
・トランザクションキャッシュにおいて、インフライトエントリの重みが過小評価されるため、メモリリークが発生することがありました。インフライトエントリーの重みが過小評価されないように改善され、より正しく推定されるようになったため、キャッシュされるエンティティの総サイズが大幅に減少しました。
・flow drainingモードは、まだデータベースにコミットされていないP2Pインフライトメッセージを認識しなくなりました。以前は、flow drainingモードはすべてのインフライトメッセージを重複として認識していました。
・アタッチメント・クラス・ローダーがキャッシュから追い出された場合、以前は早くクローズされすぎていました。アタッチメントクラスローダーのクローズは、(BasicVerifierから)それを参照するすべてのSerializationContextがスコープ外になるまで延期されるようになりました。
・高負荷時にデータベーストランザクションがロールバックされ、フローステートマシンのスレッドがフローを処理しなくなり、これが特定の状況下で最終的にノードのロックアップにつながる問題を修正しました。
データベーススキーマの変更
4.9と4.10では、データベースの変更はありません。
サードパーティーコンポーネントのアップグレード
次の表は、4.9.5 Community Edition と 4.10 Community Edition の間の依存関係のバージョンの変更点を示しています。
Created by Yoshino
Last edited by Yoshino on Jan 16 2023