Oracle Blockchain Platformの既知の問題

Oracle Blockchain Platformを使用する際に発生する可能性のある問題とその回避方法について学習します。

このリリースの新しい既知の問題

サポートされるHyperledger Fabricのバージョン

Oracle Blockchain Platform 24.1.3では、Hyperledger Fabric 2.5.7がサポートされます。

サポートされるブラウザ

コンソールが所定の動作をしない場合は、サポート対象のブラウザの最新バージョンを使用していることを確認します。

Oracle Blockchain Platformでは、次のブラウザがサポートされています:

  • Mozilla Firefox
  • Google Chrome
  • Safari
  • Microsoft Edge / Internet Explorer

Hyperledger Fabricバージョンの相互運用性

Oracle Blockchain Platformでは、Hyperledger Fabric v1.4.7に基づくインスタンスとHyperledger Fabric v2.xに基づくインスタンスを同じブロックチェーン・ネットワークで使用することはサポートされません。

回避策: 同じブロックチェーン・ネットワーク上で異なるHyperledger Fabricのメジャー・バージョンを実行しないでください。

サポートされない以前のバージョンの機能

以前のバージョンのOracle Blockchain Platform Enterprise Editionでは、ロード・バランサおよびハードウェア・セキュリティ・モジュールがサポートされていました。これらはOracle Blockchain Platform 24.1.3ではサポートされていません。

インスタンスの終了時に失敗することがある

インスタンスが正常に終了しない場合は、次の手順を試してください。

回避策:
  1. インスタンスUUIDを取得します。
    # Replace username:password with the instance's admin user credentials
    AUTH_BEARER=$(echo -n 'username:password' | base64)

    curl -k --location 'https://<control-plane-url>/api/v1/blockchainPlatforms/instances' \
    --header "Authorization: Basic $AUTH_BEARER"
    このAPIによって返されるidはUUIDです。
  2. 終了が失敗する原因となるコンポーネントを特定します。
    kubectl get namespace "<instance-namespace>" -o json \
      | tr -d "\n" | sed "s/\"finalizers\": \[[^]]\+\]/\"finalizers\": []/" \
      | kubectl replace --raw /api/v1/namespaces/<instance-namespace>/finalize -f - | jq -r '.status'
    NamespaceContentRemaining」フィールドには、インスタンスの状態に応じて複数のリソースを含めることができます。これにより、ネームスペースの終了を妨げているリソースが明らかになります。
  3. hlf-operatorおよびobp-operatorを再起動すると、インスタンスの削除フローが再起動されます。
    # Restart hlf-operator
    kubectl rollout restart deployment -n obp-cp hlf-operator-controller-manager
     
    # Restart obp-operator
    kubectl rollout restart deployment -n obp-cp obp-operator
  4. 終了プロセスが再起動されます。終了が成功したかどうかを確認するには、ステップ2で使用したAPIを再実行して、まだアクティブなコンポーネントおよび終了のステータスを確認します。終了が成功していると、APIリクエストは失敗します。
  5. インスタンス・ネームスペースが終了したことを確認するには、ネームスペースがリストされていないことを確認します。
    kubectl get ns
インスタンスがBlockchain Platform Managerインスタンス・リストにまだリストされている場合は、初期の終了リクエストがタイムアウトしている可能性があります。次のAPIを使用して、終了したインスタンスのエントリをクリアします。
# Replace username:password with the instance's admin user credentials
AUTH_BEARER=$(echo -n 'username:password' | base64)

curl -k --location --request DELETE 'https://<control-plane-url>/api/v1/blockchainPlatforms/instances/<instance-uuid>' \
--header "Authorization: $AUTH_BEARER"

インスタンスの作成はバンドルされたOpenLDAPのみをサポートする

Oracle Blockchain Platformインスタンスを作成する際、様々なタイプのLDAPにLDAP構成を追加するオプションがある場合でも、製品にバンドルされているデフォルトのOpenLDAPを使用する必要があります。

回避策: 外部LDAPシステムから、Oracle Blockchain PlatformにバンドルされているデフォルトのOpenLDAPにデータを同期してから、インスタンスの作成を続行します。

証明書の検証中にピア検出が失敗する

クライアント・アプリケーションがfabric-sdk-goモジュールを使用する場合、ピア検出プロセス中に証明書の検証が原因でアプリケーションが失敗することがあります。これは、サポートされていないバージョンのfabric-sdk-goが原因です。
fabric-sdk-goモジュールを使用するには、次のバージョンに更新します:
github.com/hyperledger/fabric-sdk-go v1.0.1-0.20240123083657-5d6ca326e01b

ノードのログの表示が更新されない

コンソールUIで、特定のノードのログを表示してから別のペインに移動し、最初のノードのログに戻ると、ログは再度フェッチされません。

回避策: ブラウザ・ページをリフレッシュして、最新のログをフェッチします。

カスタム・ルートCA証明書はサポートされない

Hyperledger Fabric CAルートCA証明書は、自己署名証明書です。このリリースのOracle Blockchain Platformでは、お客様から提供されたルートまたは中間CA証明書を使用したこれらの証明書の署名はサポートされていません。

以前のリリースからのアップグレードはサポートされない

Oracle Blockchain Platform Enterprise Edition 24.1にOracle Blockchain Platform Enterprise Edition 21.1またはOracle Blockchain Platform Enterprise Edition 19.3からアップグレードすることはできません。

回避策: この問題の回避策はありません。

Oracle Blockchain Platform XA実装の使用時のエラー・メッセージ

XAプロトコルを実装するJavaライブラリをダウンロードし、3.8.1より後のMavenバージョンがインストールされている環境で使用すると、次のエラー・メッセージが表示されます: the artifact information is not valid and contains invalid characters.

回避策: ダウンロード可能なライブラリの.pomファイルには、バージョン番号のプレースホルダがあります。pom.xmlファイルを更新し、バージョン番号を24.1.3に変更します。

ログイン時にコンソールが応答しない

サービス・コンソールにログインしようとしたとき、UIが応答しなくなる場合があります。

この動作は、ORACLE BLOCKCHAIN PLATFORM ENTERPRISE EDITION (OBPEE) - 24.1.3 - PATCHSET-1というパッチ(パッチ番号36929129)によって修正されます。パッチのインストールの詳細は、Oracle Blockchain Platformへのパッチ適用に関する項を参照してください。

以前にインストールできなかったチェーンコードを再インストールできない

以前に失敗したインストールのチェーンコードと同じ名前のチェーンコードを再インストールしようとすると、インストール・プロセスが再度失敗します。これは、そのチェーンコード名のポッドが以前のインストール試行で作成され、その後削除されなかった場合に発生する可能性があります。

この動作は、ORACLE BLOCKCHAIN PLATFORM ENTERPRISE EDITION (OBPEE) - 24.1.3 - PATCHSET-1というパッチ(パッチ番号36929129)によって修正されます。パッチのインストールの詳細は、Oracle Blockchain Platformへのパッチ適用に関する項を参照してください。

ネットワークのOracle Blockchain Platformインスタンスで失効した証明書を管理できない

Oracle Blockchain PlatformネットワークにHyperledger Fabricの組織が含まれており、それらの証明書が失効している場合、失効した証明書は適用されず、表示されず、ネットワークのOracle Blockchain Platformインスタンスから取り消すことができません。

回避策: ネイティブのHyperledger Fabric CLIまたはSDKを使用して、組織の証明書失効リスト(CRL)ファイルをインポートします。

チャネル作成者がチャネルの構成を更新できない

ネイティブのHyperledger Fabric CLIまたはSDKを使用してチャネルを作成すると、作成者ポリシーがconfigtx.yamlファイルに組み込まれません。Oracle Blockchain Platformでは、チャネル作成者がチャネルの構成を編集できるようにするために作成者ポリシーが必要です。

回避策: configtx.yamlファイルを手動で編集して、作成者ポリシーを追加します。

ピアが別のピアからプライベート・データをプルできない

プライベート・データ・コレクションのblocktolive値が10未満で、maxPeerCountがピアの総数(エンドース・ピアを含まない)を下回る場合、ピアは別のピアからプライベート・データをプルできません。この値は、コンソールを使用してプライベート・データ・コレクション定義を作成するか、ネイティブのHyperledger Fabric CLIまたはSDKを使用すると設定されます。

回避策: blocktolive値が10以上に設定されていることを確認します。あるいは、maxPeerCountがピアの総数(エンドース・ピアを含まない)以上に設定されていることを確認します。必要な場合は、チェーンコードを再インスタンス化またはアップグレードしてこれらの値をリセットできます。

チャネル作成者の組織およびチャネル・ポリシー設定が矛盾する

コンソールを使用して、チャネルを作成したり、組織のACLをReaderOnlyに設定できます。新しいチャネルを保存した後に、このACL設定をチャネルのチャネル組織の編集オプションから更新することはできません。

ただし、コンソールのチャネル・ポリシーの管理オプションを使用して組織をライター・ポリシーに追加することが可能で、これにより、チャネルのReaderOnly ACL設定が上書きされます。

回避策: この問題の回避策はありません。

エクスポートおよびインポートされたファイルに互換性がない

コンソールとREST APIの間で、ファイル(CRL、証明書、オーダリング・サービス設定およびピア)はエクスポートおよびインポートできません。

コンソールおよびREST APIによってエクスポートされたファイルは、同じコンポーネントを使用したインポートに対してのみ互換性があります。たとえば、コンソールを使用してピアをエクスポートした場合、REST APIでインポートすることはできません(コンソールでのみインポートできます)。また、REST APIを使用してピアをエクスポートした場合、コンソールでインポートすることはできません(REST APIでのみインポートできます)。

回避策: この問題の回避策はありません。

チェーンコード名の要件

Oracle Blockchain Platformのチェーンコード名およびバージョンの要件は、Hyperledger Fabricの要件とは異なります。コンソールまたはHyperledger Fabricクライアントからチェーンコードをデプロイする場合は、Oracle Blockchain Platformの要件を使用する必要があります。Hyperledger Fabricクライアントからのデプロイ時にこれらの要件に従わない場合、チェーンコードがコンソールに正しく表示されないことがあります。

回避策: チェーンコード名およびバージョンをデプロイする際には、次のルールを使用します。

  • ASCII英数字、ダッシュ(-)およびアンダースコア(_)を使用します。
  • 名前の先頭および末尾には、ASCII英数字のみを使用する必要があります。たとえば、_mychaincodemychaincode_のような名前は使用できません。
  • ダッシュ(-)およびアンダースコア(_)の後には、ASCII英数字を続ける必要があります。たとえば、my--chaincodemy-_chaincodeのような名前は使用できません。
  • 名前とバージョンは、それぞれ64文字までです。
  • チェーンコード・バージョンには、ピリオド(.)およびプラス記号(+)を含めることもできます。

日時ピッカーの動作

Oracle Blockchain Platformの日時ピッカーは所定の動作をしません。日時ピッカーは、ログ・ファイルやレジャーのアクティビティなどの項目をフィルタ処理するために使用します。

回避策: 次の情報を使用して、日時間ピッカーを使用できるようにします。

  • 特定の期間(「過去1日」など)を選択してから、それを再度選択して問合せを再実行すると、問合せは再実行されません。最新情報を取得するには、リフレッシュ・ボタンをクリックします。
  • コンピュータでタイムゾーンを設定していない場合は、「カスタム」オプションを選択するときに、開始時間および終了時間をGMTで指定する必要があります。ただし、「プリファレンス」で「タイムゾーン設定」を「GMT」に設定(コンソールでインスタンス名を選択してから、「プリファレンス」、「タイムゾーン設定」の順にクリック)すると、コンソールのタイムゾーンは自動的にGMTに変換されます。

ドキュメントのアクセシビリティについて

Oracleサポートへのアクセス