Corda Enterprise 4.9.11
Corda Enterprise Edition 4.9.11 は、問題の解決に焦点を当てた Corda Enterprise Edition のパッチリリースです。
修正された問題
- DriverDSLを使用してTest Nodeをデプロイした際、
NoSuchMethodErrorという例外が発生することなく、Nodeが正常に起動するようになりました。 - DriverDSLを使用してテストを行う際、X.500名の
Oフィールド値が同一かつOU値が異なる2つのNodeを作成できるようになりました。 - テストのために一連のmock networksaを作成する際に、メモリリークが発生しなくなりました。
- トランザクションリカバリをサポートするためにCordaバージョン4.11で導入された「in-flight transaction」という状態を持つトランザクションは、Ledger Graph CorDappがトランザクショングラフを構築する際に含まれなくなりました。CorDappは現在、in-flightの状態を持つすべてのトランザクションを無視します。
新機能、機能強化、および制限事項
- R3が提供するCorDappsのContract JAR signing keyのローテーションが、このパッチリリースに含まれています。
- Docker imageは現在、Java 8 build 432をベースとしています。
サードパーティコンポーネントのアップグレード
次の表は、4.9.10と4.9.11間の依存関係バージョンの変更点を示しています。
Dependency | Name | Version 4.9.10 Enterprise | Version 4.9.11 Enterprise |
org.eclipse.jetty:* | Jetty | 9.4.53.v20231009 | 9.4.56.v20240826 |
commons-io:commons-io | commons IO | 2.6 | 2.17.0 |
com.fasterxml.jackson.*:* | Jackson | 2.17.2 | 2.14.0 |
com.zaxxer:HikariCP | Hikari | 3.3.1 | 4.0.3 |
org.apache.sshd:sshd-common | sshd | 2.9.2 | 2.13.2 |
Corda Enterprise 4.9.10
Corda Enterprise Edition 4.9.10 は、問題の解決に焦点を当てた Corda Enterprise Edition のパッチリリースです。
修正された問題
- これまで
ReceiveTransactionFlowは、ResolveTransactionFlowの実行前に、トランザクション上のnetwork parametersが存在することを確認していました。これは、特定のシナリオで問題を引き起こす可能性がありました。例えば、移行されたネットワークの新しいNodeにトップレベルのトランザクションを送信する場合、古いnetwork parametersは新しいNodeには存在しないためです。 この問題は現在修正されています。 - あるコードパスでのパーティ特定において、
wellKnownPartyFromAnonymousは、X.500名の特定を試みる際に、network parametersからNotaryを考慮していませんでした。このシナリオは、新しく移行されたネットワークに新しいNodeを導入する際、新しいNodeのnetwork mapに古いNotaryが含まれていないために発生する可能性がありました。 この問題は現在修正されています。現在、チェック時にnetwork parametersからNotaryが考慮されます。
Corda Enterprise 4.9.9
Corda Enterprise Edition 4.9.9は問題の解決に焦点を当てたCorda Enterpriseのパッチリリースです。
修正された問題
- デフォルトの log4j2.xml ファイルで、
diagnostic-*またはcheckpoints_agent-*で始まるログファイルの DefaultRolloverStrategy ポリシーの Delete アクションが間違っていました。このため、誤ったファイル名と比較されていました。この問題は修正され、ファイルがポリシーに従って削除されるようになりました。 - TLS 秘密鍵の保存に HSM を使用した場合の TLS 接続に関する問題が解決されました。
- 以前は、実際には接続されていないにもかかわらず、ノードがピアとの有効な接続を誤って認識するという稀なエラーシナリオが発生することがありました。この問題は通常、ピアノードが切断/接続しているときに発生します。この問題は現在解決されています。
サードパーティコンポーネントのアップグレード
- Jetty のバージョンが 9.4.51.v20230217 から 9.4.53.v20231009 にアップグレードされました。
- Apache Tomcat のノード管理プラグインのバージョンが 9.0.82 から 9.0.83 にアップグレードされました。
Corda Enterprise 4.9.8
Corda Enterprise Edition 4.9.8は、問題の解決に焦点を当てたCorda Enterpriseのパッチリリースです。
- 失敗したSSLハンドシェイクに関連する警告レベルのログメッセージは、以前のパッチリリースでSSL証明書の取り扱いが改善された一環として誤って導入されたもので、トラフィックのロードバランサーやシステム監視の接続性テストの一環としてログに頻繁に表示されていました。これらのログメッセージは、ログの「ノイズ」を減らすために消されています。
- Vault クエリは、合計状態数に対する余分な SQL クエリを可能な限り回避するように最適化されています。
- ノードのスレッド名がより具体的になり、ロギングがよりわかりやすくなり、デバッグが容易になりました。
- 新しいノードとの SSL ハンドシェイク時の遅延が、既存のノードとの既存の接続に影響を与えなくなりました。
- 同じトランザクションに属している場合、Vault クエリによって返される状態の順序が正しくない場合があるという問題が解決されました。
- 外部IDが複数のキーにマップされている場合に、externalIdsに対するクエリで
Page.totalStatesAvailableexternalIdsに不正な値が返される問題が解決されました。
Corda Enterprise 4.9.7
Corda Enterprise Edition 4.9.7は、問題の解決に焦点を当てたCorda Enterpriseのパッチリリースです。
修正された問題
- 新規または再起動したピアノードがオンラインになり、初めてノードに接続すると、接続先のノード上の他のピアからのメッセージ処理が大幅に遅れることがありました。この改善により、オンラインになった新しいピアは、接続先のノードで専用のスレッドを取得し、受信ノード上の既存のピアツーピア接続のメッセージ処理は遅延しなくなります。
- Artemisサーバーのデバッグロギングが追加されました。
- ハートビート時のスレッドダンプ機能により、過剰なログ出力が発生していました。これは現在改善されており、スタックしていると思われるスレッドスタックトレースのみをログに記録するようになり、繰り返しログに記録されることはなくなりました。
- 以前は、confidential identitiesとSecurosys PrimusX HSMを使用するように設定すると、Cordaが新しいconfidential identities用にラップされたキー・ペアの生成に失敗する可能性がありました。これにより、一時的なキー・ペアが流出し、HSMのリソースを消費していました。この問題は以下の場合に発生しました:
- インバウンド接続のデフォルトのSSLハンドシェイクタイムアウトが60秒に増加しました。SSLハンドシェイク中に証明書失効リスト(CRL)のダウンロードに時間がかかったり、到達できなかったりした場合、crlCheckSoftFailが有効になっていれば、この60秒がノードに接続を確立するのに十分な時間を与える。
- これまでは、チェックポイントをロードする際に記録されるログメッセージは、プロセスの最後にロードされたチェックポイントの総数を記録するものだけでした。 ex.)
- 以前は、ノードが非常に多くのフローを呼び出した場合、削除されていないクライアントIDのキャッシュがかなりのヒープ領域を占めていました。この解決策として、1エントリあたり170バイトの容量削減が行われました。たとえば、100万件の未削除のクライアントIDは、以前より170,000,000バイト占有するヒープ領域が少なくなりました。
- ノータリーワーカーがシャットダウンされるとき、メッセージ ID のクリーンアップは、最初のシャットダウンではなく、最後のシャットダウンとして実行されるようになりました。
- ピアツーピア接続におけるトランスポートレイヤー接続の切断からの回復中に、Artemisメッセージブローカのバグに対する回避策が、接続の最初の切断中にのみ取られることがありました。このため、ノードを再起動するまで、まれに2つのピア間の接続を再確立できないことがありました。現在では、接続性が失われるたびに回避策が講じられるため、ピアツーピア接続はオペレータの介入なしに常に再確立されるはずです。
- 以前は、ノードがLuna HSMの2つの異なるスロットを使用するように構成されている場合(たとえば、1つのスロットをノードID用に使用し、別のスロットを機密ID用に使用する場合)、この問題が発生しました。この問題は解決されました。※ただし、この修正により、ご使用のLunaクライアントのバージョンが10.4.0以降であることをご確認いただく必要があります。
- ノード構成値 cryptoServiceTimeout のデフォルト値が 1 秒から 10 秒に増加しました。
- Cordaは、開発者が統合テストを書くのに役立つNodeDriverを提供する。NodeDriverを使うことで、開発者はローカルにノードを立ち上げてフローを実行し、状態の更新を検査することができます。以前は、テストを含むビルド・パイプラインが失敗する問題がありました。これは、ノータリーが開始するのに1分(デフォルトのタイムアウト値)以上かかることがあったためです。この問題を解決するために、NodeDriver に新しいパラメータ notaryHandleTimeout が追加されました。このパラメータでノータリーが開始された後、ノータリー・ハンドルが戻ってくるまでの待ち時間を指定します。
- 契約検証中にデータベーストランザクションが進行している場合、契約検証ステータスが正しく表示されないという問題がありましたが、キャッシュ退避に関する修正が適用されました。
- 削除されたパーティを保管庫に格納しようとすると、StackOverflowException がスローされました。この問題は解決されました。
- 証明書失効リスト(CRL)のダウンロードに読み取りタイムアウトが導入され、証明書失効チェックが改善されました。デフォルトのCRL接続タイムアウトもCordaノードにより適したものに調整されました。CRLのキャッシュが30秒から5分に増加しました。
- AppleシリコンMacのパフォーマンス・テスト・スイートを使用する際の互換性が向上しました。
・Securosys HSMがマスター・クローン・クラスターに設定されている。
・マスターHSMに障害が発生し、CordaがクローンHSMを使用するようにフェイルオーバーする。
・confidential identitiesを使用してトランザクションを作成しようとする。
この問題は解決され、ラップされたキーペアを生成する際、一時的なキーペアはHSM内に保持されないため、流出することもなくなりました。
本アップデートの適用に伴い、PrimusX JCEをバージョン2.3.4以降にアップグレードする必要があります。
このアップデートに伴い、HSM のファームウェアバージョンをアップグレードする必要はありませんが、ファームウェアを常に最新の状態に保つことをお勧めします。現在の最新ファームウェアバージョンは2.8.50です。
今回、以下のログが追加されました:
チェックポイント: すべてのチェックポイントがロードされるまで、30秒ごとにロードされたチェックポイントの数がログメッセージに表示されます。
終了したフロー: 終了したフローの数がログメッセージに表示されるようになりました。
ex.)
Corda Enterprise 4.9.6
Corda Enterprise Edition 4.9.6 は、問題の解決に重点を置いた Corda Enterprise のパッチ リリースです。
修正された問題
- Luna HSM で FIPS モードがアクティブ化されている場合、ファームウェアのバージョン 7.7.1 では、AES/CBC/PKCS5Padding メカニズムでラップ機能を使用できず、これにより、「ラップ」モードを使用すると機密 ID に関するフロー エラーが発生していました。
FIPS モードの場合にラッピングを可能にする新しいメカニズム (AES/KWP/NoPadding) が有効になりました。この新しいメカニズムに切り替えるために、新しいブール構成パラメーター がusekwpLuna HSM 構成ファイルに追加されました。このパラメータが true に設定されている場合、新しいメカニズムが使用されます。false の場合、またはパラメーターが構成ファイルに存在しない場合は、既存のメカニズムが使用されます。
Corda Enterprise 4.9.5
Corda Enterprise Edition 4.9.5 は、問題の解決に重点を置いた Corda Enterprise のパッチ リリースです。
修正された問題
- 以前は、実行中のエントリの重みが過小評価されていたため、トランザクション キャッシュでメモリ リークが発生していました。実行中のエントリの重みが過小評価されないように改善が加えられ、より正確に推定されるようになったことで、キャッシュされたエンティティの合計サイズが大幅に減少しました。
- 高負荷時のデータベーストランザクションのロールバックに関連して、フローステートマシンのスレッドがフロー処理を停止し、特定の状況でノードのロックアップにつながるという稀な状況が修正されました。
Corda Enterprise 4.9.4
Corda Enterprise Edition 4.9.4 は、問題の解決に重点を置いた Corda Enterprise のパッチ リリースです。
修正された問題
- AttachmentClassLoadersのクローズは、それらを参照するすべてのSerializationContextがスコープ外になるまで遅れるようになりました。これにより、キャッシュから追い出されたときに、早期にクローズされる問題が修正されました。
- Flow drainingモードは、まだデータベースにコミットされていないP2Pインフライトメッセージを認識しなくなりました。以前は、フロー・ドレインモードはすべてのインフライトメッセージを重複として認識していました。
- ステートマシンのスレッドプールがブロックされているかどうかを定期的にチェックするようになりました。スレッドプールがブロックされている場合、警告がログに記録されます。スレッドダンプも定期的(5分ごと)に記録されるようになりました。
Corda Enterprise 4.9.3
Corda Enterprise Edition 4.9.3 は、問題の解決に重点を置いた Corda Enterprise のパッチ リリースです。
修正された問題
このパッチ リリースでは次の問題が解決されました。
- 以前は、CA 属性が true に設定されていたため、両方の Corda ノード証明書が認証局の権限を持っていました。ノード登録ツールに新しいオプション が追加され、
C, --node-identity-cert-not-caCA ではない場所でもノードの法的アイデンティティ証明書を作成できるようになりました。 - CENM 1.4 以降では、
getNodeInfos()プロキシが設定されている場合、一括フェッチ メカニズムは HTTP プロキシ経由でネットワーク マップから NodeInfo を取得するようになりました。
Corda Enterprise 4.9.2
Corda Enterprise 4.9.2 は Corda Enterprise のパッチ リリースであり、新しい Gradle 7 プラグインの追加、セキュリティ アップグレード、軽微なバグの修正が含まれています。
- このパッチの一部として、Gradle 7 を使用した CorDapp 開発をサポートする新しい Gradle プラグインが提供されます。これは、既存の Gradle サポートに追加されます。プラグインが Artifactory にアップロードされました。
- Gradle 7 の使用方法を示すサンプルは、次のもので利用できます。
- Kotlin
- Java
- Gradle 7 プラグインを説明する readme もGithub
- ディスク容量が少なくなったとき (10% 未満) を示す Artemis メッセージングが実装されました。
- 組み込みの Artemis またはブリッジを実行しているときに、Corda ノードで AMQP フレーム トレースを有効にできるようになりました。これは、ファイアウォール構成を介して有効にする以前の機能に追加されます。
で入手できます 。
Corda Enterprise 4.9.1
Corda Enterprise 4.9.1 は、Corda Enterprise のパッチ リリースであり、依存関係のアップグレードと軽微なバグの修正が含まれています。
アップグレードの推奨事項
開発者は、できるだけ早くCorda の最新リリース バージョンにアップグレードする必要があります。最新の Corda Enterprise リリース ノートはこのページにあり、最新のアップグレード ガイドはここにあります 。
ノード オペレーターとして、 Corda の最新リリース バージョンにアップグレードする必要があります 。
修正された問題
このパッチ リリースでは:
- 実行可能なフローが以前に入院した場合でも
SuspensionMetaFlowInfo - 公式の Artemis バイナリが実装されました。
- Oracle JDK バージョン 8u322 がサポートされるようになりました。
inが null として表示されるバグの修正。
Corda Enterprise 4.9
リリースノートの翻訳文を掲載いたします。多くのセキュリティの改善と、コマンドラインからノードをコントロールするスタンドアローンのシェルが追加されました。また、flowrpcops APIにアクセスすることができるようになりました。
- flowrpcops APIが利用可能で、ドキュメントもあります。これを用いて、フローの起動、一時停止、リトライ、ホスピタリゼーションフローを行うことができます。
- ノードのヘルスデータおよびノードのステータスにアクセスできます。
アップグレードの推奨
できるだけ早くCordaの最新リリースバージョンにアップグレードする必要があります。最新の Corda Enterprise リリースノートはこのページにあり、最新のアップグレードガイドはこのページにあります。
修正された問題
- Corda Shell はセキュリティ向上のため、独自のリポジトリに移動しました。今後、ノードの外からスタンドアロンで使用するか、ノードドライバ経由で使用する形になります。
- Denial of Service攻撃の可能性を防ぐためのセキュリティアップデートがなされました。
- デモとサンプルコードが改良されました。
- Intel Macとの互換性を向上させる改良がなされました。
- Node JVMのデッドロックに影響する問題を解決しました。
- Notaryからの添付ファイルに失敗する問題が修正されました。
- 特定の環境下でSubflowへのAttachmentができない問題が修正されました。
関連リソース
Corda Community Edition 4.9 リリースノート
Community EditionとEnterprise Editionの比較表
Community EditionとEnterpriseの比較表(英語)
Created by Tomoka Ikeguchi
Last edited by Tomoka Ikeguchi on Jan. 14th. 2025
