Red Hat Data Grid 8.4 リリースノート


Red Hat Data Grid 8.4

Data Grid 8.4 のリリース情報を取得する

Red Hat Customer Content Services

概要

Data Grid 8.4 の機能と拡張機能、および既知の問題と解決済みの問題について確認してください。

Red Hat Data Grid

Data Grid は、高性能の分散型インメモリーデータストアです。

スキーマレスデータ構造
さまざまなオブジェクトをキーと値のペアとして格納する柔軟性があります。
グリッドベースのデータストレージ
クラスター間でデータを分散および複製するように設計されています。
エラスティックスケーリング
サービスを中断することなく、ノードの数を動的に調整して要件を満たします。
データの相互運用性
さまざまなエンドポイントからグリッド内のデータを保存、取得、およびクエリーします。

Data Grid のドキュメント

Data Grid のドキュメントは、Red Hat カスタマーポータルで入手できます。

Data Grid のダウンロード

Red Hat カスタマーポータルで Data Grid Software Downloads にアクセスします。

注記

Data Grid ソフトウェアにアクセスしてダウンロードするには、Red Hat アカウントが必要です。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。まずは、マスター (master)、スレーブ (slave)、ブラックリスト (blacklist)、ホワイトリスト (whitelist) の 4 つの用語の置き換えから始めます。この取り組みは膨大な作業を要するため、用語の置き換えは、今後の複数のリリースにわたって段階的に実施されます。詳細は、Red Hat CTO である Chris Wright のメッセージ をご覧ください。

第1章 Data Grid のリリース情報

新機能および最新の Data Grid のリリース情報についてご確認ください。

1.1. Data Grid 8.4.8 の新機能

Red Hat Data Grid 8.4.8 リリースではパッケージの問題が修正され、Data Grid Server 8.4.8 OpenShift イメージが含まれています。詳細は、RHEA-2024:2103 を参照してください。

1.2. Data Grid リリース 8.4.7 の削除の通知

Data Grid 8.4.7 では、次の機能が削除されました。

Hot Rod .NET クライアント

Hot Rod .NET クライアントは Data Grid 8.4.7 では提供されません。

1.3. Data Grid リリース 8.4.7 の非推奨の通知

次の機能は、Data Grid 8.4.7 で非推奨になりました。今後の Data Grid リリースで削除される予定です。

Red Hat は、現在のリリースのライフサイクル中にこれらの機能のサポートを提供しますが、拡張機能は提供されなくなり、最終的には削除されます。将来の互換性を確保するために、代替ソリューションに移行することを推奨します。

Hot Rod C++ クライアント

Hot Rod C++ クライアントのサポートは非推奨であり、今後のリリースで削除される予定です。

Hot Rod C++ クライアントは、最新の Data Grid Server バージョンと組み合わせて引き続き使用できます。

Hot Rod Node.js クライアント

Hot Rod Node.js クライアントのサポートは非推奨であり、今後のリリースで削除される予定です。

Hot Rod Node.js クライアントは、最新の Data Grid Server バージョンと組み合わせて引き続き使用できます。

1.4. Data Grid 8.4.7 の新機能

Data Grid 8.4.7 では、ユーザビリティーとパフォーマンスが向上し、セキュリティーが強化されています。新機能を確認してください。

Data Grid 8.4.7 のセキュリティー更新

Data Grid 8.4.7 は、CVE に対処するためのセキュリティー強化を提供します。Data Grid 8.4 デプロイメントは、可能なかぎり早急にバージョン 8.4.7 にアップグレードする必要があります。

詳細は、このリリースに関連するアドバイザリー RHSA-2024:1509 を参照してください。

Red Hat Insights Java クライアント

Red Hat Data Grid 8.4 Update 7 以降には、Red Hat Insights Java クライアントが含まれています。Red Hat Insights Java クライアントは、Data Grid が Red Hat Enterprise Linux (RHEL) にインストールされており、RHEL システムに Red Hat Insights クライアントがインストール、設定、登録されている場合にのみ、Data Grid に対して有効になります。詳細は、Red Hat Insights のクライアント設定ガイド を参照してください。

Red Hat Hybrid Cloud Console の今後のリリースで、Runtimes 用の Red Hat Insights ダッシュボードが利用可能になります。Red Hat Hybrid Cloud Console で利用可能な RHEL ダッシュボード と同様に、Runtimes ダッシュボードでは、Runtimes インストールのインベントリーや CVE の詳細を確認できるほか、JVM オプションを選択できます。

環境変数 RHT_INSIGHTS_JAVA_OPT_OUTtrue に設定することで、Red Hat Insights Java クライアントをオプトアウトできます。詳細は、ナレッジベースの記事 Red Hat Insights for Runtimes を参照してください。

クロスサイトメッセージ処理の改善

クロスサイトイベントの後に JGroups サイトアップイベントが配信され、クロスサイトイベントが破棄されるという状況を回避するために、Data Grid 8.4.7 のクロスサイトイベントは、例外が発生した場合に再試行されます。さらに、キャッシュまたはキャッシュマネージャーがまだ実行中の状態でない場合は、サイトがオフラインにされるのではなく、クロスサイトイベントが再試行されます。

Helm チャート使用時に暗号化を設定する機能

Data Grid 8.4.7 では、Helm チャートを使用して Data Grid をプロビジョニングする場合に TLS を有効にして、Data Grid クラスターとの通信を暗号化できます。Helm 設定で、エンドポイントとクラスタートランスポートの両方に対して TLS 設定を指定できます。

詳細は、暗号化の設定 を参照してください。

StatefulSet Pod のセキュリティーコンテキストを設定する機能

deploy.securityContext 属性を使用して、StatefulSet Pod のセキュリティーコンテキストを設定できるようになりました。

詳細は、Data Grid Operator ガイド デプロイメント設定の値 を参照してください。

IBM WebSphere Liberty トランザクションマネージャー

IBM WebSphere Liberty アプリケーション内でトランザクションキャッシュを使用できるようになりました。Data Grid は、IBM WebSphere Liberty で実行されているトランザクションマネージャーを検索して登録します。

JBoss マーシャリングのサポート

JBoss マーシャリングは、Data Grid 8.4.6 以前のバージョンでは非推奨になりました。Data Grid 8.4.7 以降では完全にサポートされます。

1.5. Data Grid 8.4.6 の新機能

Data Grid 8.4.6 では、ユーザービリティーとパフォーマンスが向上し、セキュリティーが強化されています。新機能を確認してください。

集計クエリーでの count(*) のサポート

Data Grid 8.4.6 では、集計クエリーに count(*) 構文のサポートが追加されています。集計クエリーで count(*) 構文を使用すると、特定のフィールド値に関係なく、各グループ内のすべてのインスタンスの数を取得できます。

強化されたメトリクス

Data Grid 8.4.6 には、メトリクスに対する次の機能強化が含まれています。

  • 2 つの Data Grid ノード間のレイテンシーメトリクス
  • レイテンシー分布の詳細を示すヒストグラム
  • CounterFunctionTimerDistributionSummary などの追加の Micrometer メーター

1.6. Data Grid 8.4.5 のセキュリティー更新

Data Grid 8.4.5 は、CVE に対処するためのセキュリティー強化を提供します。Data Grid 8.4 デプロイメントは、可能なかぎり早急にバージョン 8.4.5 にアップグレードする必要があります。

詳細は、このリリースに関連するアドバイザリー RHSA-2023:5716 を参照してください。

1.7. Data Grid 8.4.4 の新機能

Data Grid 8.4.4 では、ユーザービリティーとパフォーマンスが向上し、セキュリティーが強化されています。新機能を確認してください。

OpenTelemetry によるトレースのサポート

Data Grid 8.4.4 では、OpenTelemetry 標準に準拠したトレーススパンを生成し、最も重要なキャッシュ操作に関連するトレースデータをエクスポート、視覚化、分析できるようになりました。

Data Grid Server と Hot Rod クライアントまたは REST API との間のトレースを有効にして、リクエストのフローを監視および分析し、さまざまなコンポーネント間の実行パスを追跡できます。

詳細は、次のドキュメントを参照してください。

JGroups およびクロスサイトメトリクスのメトリクス命名方法の改善

Data Grid 8.4.4 では、JGroups メトリクスおよびクロスサイトメトリクスの name-as-tags プロパティーを有効にできます。

name-as-tags を有効にすると、メトリクスが簡素化され、クラスター名とサイト名がメトリクス名に含まれるのではなく、タグとして表示されます。

name-as-tagsfalse に設定すると、メトリクスがチャネルに基づいて命名され、同じ目的のメトリクスが複数作成されます。

# TYPE vendor_jgroups_xsite_frag4_get_number_of_sent_fragments gauge
# HELP vendor_jgroups_xsite_frag4_get_number_of_sent_fragments Number of sent fragments
vendor_jgroups_xsite_frag4_get_number_of_sent_fragments{cluster="xsite",node="..."} 0.0
# TYPE vendor_jgroups_cluster_frag4_get_number_of_sent_fragments gauge
# HELP vendor_jgroups_cluster_frag4_get_number_of_sent_fragments Number of sent fragments
vendor_jgroups_cluster_frag4_get_number_of_sent_fragments{cluster="cluster",node="..."} 2.0
Copy to Clipboard Toggle word wrap

name-as-tagstrue に設定すると、メトリクスが簡素化され、クラスター名とサイト名がタグとして表示されます。

# TYPE vendor_jgroups_frag4_get_number_of_sent_fragments gauge
# HELP vendor_jgroups_frag4_get_number_of_sent_fragments Number of sent fragments
vendor_jgroups_frag4_get_number_of_sent_fragments{cache_manager="default",cluster="xsite",node="..."} 0.0
vendor_jgroups_frag4_get_number_of_sent_fragments{cache_manager="default",cluster="cluster",node="..."} 2.0
Copy to Clipboard Toggle word wrap

メトリクスが簡素化されるだけでなく、クラスター名とサイト名を変更してもメトリクス名の一貫性が保たれるため、Grafana ダッシュボードを更新する必要がなくなります。

インデックス付きクエリーのパフォーマンスの向上

hit-count-accuracy 属性を設定することで、必要なヒット数の精度を制限できるようになりました。大規模なデータセットを扱う場合、ヒット数の精度が高いとパフォーマンスに影響を与える可能性があります。ヒット数の精度に制限を設定すると、提供されるヒット数の精度をアプリケーションのニーズに対して十分なレベルに維持しつつ、より高速なクエリー応答を実現できます。

hit-count-accuracy 属性のデフォルトの精度は 10000 に制限されています。つまり、Data Grid はあらゆるクエリーに対して最大 10000 までは正確なヒット数を提供します。有効ヒット数が 10000 より大きい場合、Data Grid はヒット数の下限推定値を返します。

詳細は、Ickle クエリーの作成 - ヒット数の精度 を参照してください。

NearCache SPI の同時ベースの手法

NearCache SPI が更新され、同時ベースの手法が追加されました。この機能拡張は、同時アクセスによりニアキャッシュに古いエントリーが保存され、データの不整合が生じる可能性があるという問題に対処します。

1.8. Data Grid リリース 8.4.3 の非推奨の通知

Data Grid 8.4.3 では、次の機能は非推奨となり、将来の Data Grid リリースでは削除される予定です。

Red Hat は、現在のリリースのライフサイクル中にこれらの機能のサポートを提供しますが、拡張機能は提供されなくなり、最終的には削除されます。将来の互換性を確保するために、代替ソリューションに移行することを推奨します。

Java 11 のサポート

Java 11 のサポートは非推奨となり、Data Grid バージョン 8.5 で削除される予定です。Data Grid 8.5 のユーザーは、アプリケーションを少なくとも Java 17 にアップグレードする必要があります。

古い Hot Rod Java クライアントバージョンを最新の Data Grid Server バージョンと組み合わせて引き続き使用できます。ただし、古いバージョンのクライアントを使用し続けると、修正や機能強化が失われることになります。

Java EE 依存関係のサポート

Java EE 依存関係のサポートは非推奨となり、Data Grid バージョン 8.5 で削除される予定です。進化する Java エンタープライズエコシステムに合わせて、Jakarta EE の依存関係と API に移行します。

Spring 5.x および Spring Boot 2.x のサポート

Spring Boot 2.x および Spring 5.x のサポートは非推奨となり、バージョン Data Grid 8.5 で削除される予定です。今後の Data Grid リリースとの互換性を確保するために、Spring Boot および Spring Framework の新しいバージョンに移行します。

JCache のサポート

JCache (JSR 107) のサポートは非推奨となり、Data Grid バージョン 8.5 で削除される予定です。代わりに、Jakarta EE エコシステムの他のキャッシュ API 開発を使用してください。

Red Hat JBoss EAP の Data Grid モジュールの非推奨

Data Grid リリースの一部として配布されている Red Hat JBoss EAP アプリケーションの Data Grid モジュールは非推奨となり、Data Grid バージョン 8.5 で削除される予定です。

JBoss EAP ユーザーは、Data Grid モジュールを個別にインストールすることなく、JBoss EAP 製品リリースに統合されている infinispan サブシステムを使用できます。

散在 (scattered) キャッシュモード

散在キャッシュモードは非推奨となり、Data Grid バージョン 8.5 で削除される予定です。散在キャッシュの代わりに、代わりに分散キャッシュを使用できます。

Data Grid Console または REST API を使用して ignore リストにキャッシュを追加する

Data Grid Console または REST API を使用してキャッシュを ignore リストに追加し、クライアントリクエストから特定のキャッシュを一時的に除外できる機能は、非推奨になりました。この機能は、今後のリリースでは削除される予定です。

Cache サービスタイプ

Cache サービスタイプは非推奨で、Data Grid 8.5 で削除される予定です。Cache サービスタイプは、最小設定でレイテンシーを低く抑えたデータストアを便利に作成できるように設計されています。DataGrid サービスタイプを使用して、クラスターのアップグレードやデータ移行などの複雑な操作を自動化します。

Windows での Data Grid Server のテスト

Windows Server 2019 での Data Grid Server のサポートは非推奨となり、Data Grid 8.5 で削除される予定です。ただし、Data Grid チームは、Windows Server 2019 を使用した C++ Hot Rod クライアントのテストを継続します。

1.9. Data Grid 8.4.3 の新機能

Data Grid 8.4.3 では、ユーザービリティーとパフォーマンスが向上し、セキュリティーが強化されています。新機能を確認してください。

インデックスファイルのパスに追加されたキャッシュ名

キャッシュ名がデフォルトのインデックスパスの一部として含まれるようになりました。インデックスパスは、ストレージが filesystem に設定されている場合のインデックスのファイルシステムパスを指定します。相対パスまたは絶対パスを使用できます。

インデックスパスのカスタム値を設定する場合は、同じインデックス付きエンティティーを使用するキャッシュ間に競合がないことを確認してください。

infinispan-dev-mode.xml ファイルを使用した簡素化されたテスト

Data Grid Server のディストリビューションには、Data Grid および Quarkus プロジェクトの開発エクスペリエンスを簡素化するために必要な設定を提供する infinispan-dev-mode.xml ファイルが含まれるようになりました。infinispan-dev-mode.xml 設定ファイルにより、Hot Rod クライアントの BASIC クライアント認証とクロスサイト設定が有効になります。

この設定で Data Grid Server を起動するには、以下の手順を実行します。

  1. server/ ディレクトリーをコピーし、ディレクトリーを server2/ に変更します。
  2. infinispan-dev-mode.xml ファイルを使用して最初のサーバーを起動します。

    ./bin/server.sh -c infinispan-dev-mode.xml
    Copy to Clipboard Toggle word wrap
  3. 別のターミナルで、同じ設定を使用して 2 番目のサーバーを起動します。

    ./bin/server.sh -c infinispan-dev-mode.xml -s server2 -Dinfinispan.site.name=site2 -o 100 -Djgroups.mcast_port=46656
    Copy to Clipboard Toggle word wrap
  4. Data Grid ログを参照して、Data Grid Server がクロスサイトビューを正しく形成していることを確認します。
Hot Rod クライアントの DNS 解決の強化

Hot Rod クライアントは、Data Grid Server に接続するための代替解決戦略をサポートするようになりました。Data Grid クラスター内で実行中のすべての Pod の DNS エントリーを含む単一の内部サービス DNS 名を使用して Hot Rod クライアントを設定できます。その後、Hot Rod クライアントは、その名前に関連付けられたすべての DNS レコードを取得して使用して、利用可能な任意の Data Grid Server インスタンスに接続できます。

Infinispan テストドライバーの Jakarta EE バージョン

Data Grid は、Jakarta EE プラットフォームを使用してアプリケーションを開発しているユーザー向けに 、infinispan-server-testdriver-core-jakarta を配布します。

SQL クエリーストアによる再インデックスのパフォーマンスの向上

Data Grid 8.4.3 には、SQL クエリーストアを使用した再インデックス操作に特化した顕著なパフォーマンスの向上が含まれています。

1.10. Data Grid 8.4.2 の新機能

Data Grid 8.4.2 では、ユーザービリティーとパフォーマンスが向上し、セキュリティーが強化されています。新機能を確認してください。

Spring 6 および Spring Boot 3 のサポート

Data Grid 8.4.2 では、Spring 6 および Spring Boot 3 のサポートが追加されました。Spring 6 と Spring Boot 3 の両方には Java 17 が必要です。

Spring または Spring Boot の最新バージョンを使用する場合は、以下のようにアーティファクトを更新します。

Spring 6

  • 組み込みキャッシュ: infinispan-spring6-embedded
  • リモートキャッシュ: infinispan-spring6-remote

Spring Boot 3

  • 組み込みキャッシュ: infinispan-spring-boot3-starter-embedded
注記

Data Grid は、以前のバージョンのサポートを継続します。Data Grid 8.4 では、Spring 5 および Spring Boot 2.x を引き続き使用できます。

クラスターのシャットダウンの機能強化

Data Grid 8.4.2 には、shutdown クラスター コマンドを使用する際のデータ損失を防止し、一貫性を確保するための機能強化が複数含まれています。

  • Data Grid は、クラスターに保存されているデータへのアクセスと、クラスター状態の変更を制限します。
  • クラスターが完全に動作できるようになるまでクラスターに保存されているデータを変更できないというエラーメッセージの内容が改善されました。
  • ノードがクラスターに参加済みであるが、ノードが欠落しているというログメッセージが改善されました。

詳細は、Data Grid コマンドラインインターフェイスの使用Data Grid クラスターのシャットダウンおよび再起動 を参照してください。

Data Grid Helm チャートでモニタリングが無効に

Data Grid Helm チャートでは、モニタリングはデフォルトで無効になっています。これにより、管理者から付与された ServiceMonitor を操作する権限を持っていない場合にデプロイメントが失敗するのを防ぎます。

キャッシュテンプレート変換のサポート

キャッシュ設定変換ツールは、XML、JSON、YAML などの異なる設定形式間でキャッシュテンプレートを変換できるようになりました。

詳細は、Data Grid REST API の使用XML、JSON および YAML 間のキャッシュ設定の変換 を参照してください。

BigInteger および BigDecimal 値を持つエントリーのクエリー

Data Grid 8.4.2 では、BigInteger 値BigDecimal 値を使用するキャッシュエントリーに対するクエリーがサポートされるようになりました。@ProtoField アノテーションを使用して Java クラスでこれらのフィールドにアノテーションを付け、CommonTypesSchema を含む Protostream スキーマを生成します。

クエリー結果にオブジェクトバージョンのメタデータが含まれるように

プロジェクションクエリーの実行時に、Data Grid ではクエリーされたエンティティーのプロジェクトバージョンを指定できます。バージョンメタデータはプロジェクション結果に含まれるため、プロジェクション結果の生成に使用されたエンティティーのバージョンを判別できます。

キャッシュインデックスのスキーマメタモデル

REST API を使用して、キャッシュ上に定義されたすべてのインデックスの完全なインデックススキーマメタモデルを取得できます。完全なインデックススキーマメタモデルには、エンティティー名、Java クラス、インデックス名、フィールド仕様など、インデックス設定に関する詳細情報が含まれます。

詳細は、Data Grid REST API の使用インデックスメタモデルの取得 を参照してください。

スキーマ機能の更新の強化

今後は、最小限のダウンタイムで既存のキャッシュ内のインデックス付きエンティティーのリストを更新できるようになります。Data Grid を使用すると、ネストされたエンティティーをルートレベルに移動するなど、エンティティー関係を再構築できます。

1.11. Data Grid 8.4.1 の新機能

Data Grid 8.4.1 では、ユーザービリティーとパフォーマンスが向上し、セキュリティーが強化されています。新機能を確認してください。

セグメント化されたキャッシュストアの移行

StoreMigrator.java ユーティリティーは、セグメント化されたキャッシュストアからのデータの移行をサポートするようになりました。

  • source.segment_count プロパティーを使用して、ソースキャッシュストアのセグメント数を設定します。

    migrator.properties

    source.segment_count=256
    Copy to Clipboard Toggle word wrap

1.11.1. REST API の拡張

Data Grid は、REST 経由で HTTP を使用してリモートキャッシュおよびコンテナーにアクセスできるようにします。

キャッシュ設定の比較

2 つのキャッシュ設定が意味的に同等であるかどうかを確認できます。

  • 2 つの設定と ?action=compare パラメーターを含む multipart/form-data 本体で POST 要求を呼び出します。

    POST /rest/v2/caches?action=compare
    Copy to Clipboard Toggle word wrap

    Data Grid は、設定が等しい場合は 204 (No Content) で応答し、設定が異なる場合は 409 (Conflict) で応答します。

詳細については、Data Grid REST API ガイドキャッシュ設定の比較 を参照してください。

1.11.2. 宣言型設定での Hot Rod プロトコルバージョンのリセット

宣言型設定で Hot Rod プロトコルの特定のバージョンが強制される場合は、バージョンをデフォルト値の AUTO にリセットできます。infinispan.client.hotrod.protocol_versionAUTO に設定すると、Hot Rod クライアントは利用可能な最新バージョンを自動的に使用します。

1.11.3. Data Grid コンソールの機能拡張

Data Grid Console 8.4.1 には、次の機能拡張とバグ修正が含まれています。

  • 分散キャッシュにはデフォルトで 2 人の所有者
  • インデックスの設定とクエリーの実行によるエラー処理の改善
  • グローバル統計ページでのユーザーエクスペリエンスの向上

1.12. Data Grid 8.4.0 の新機能

Data Grid 8.4 では、ユーザービリティーとパフォーマンスが向上し、セキュリティーが強化されています。新機能を確認してください。

Jakarta EE API

Data Grid 8.4 は、Jakarta EE 9+ ベースの jar を配布します。アプリケーションで Jakarta 固有の依存関係が必要な場合は、アーティファクトに -jakarta を追加します。次に例を示します。

pom.xml

<dependency>
   <groupId>org.infinispan</groupId>
   <artifactId>infinispan-client-hotrod-jakarta</artifactId>
</dependency>
Copy to Clipboard Toggle word wrap

Jakarta EE の詳細は、About Jakarta EE を参照してください。

MemcachedDecoder のパフォーマンスの向上

MemcachedDecoder は Netty スレッドをブロックしなくなりました。スレッドプールが使い果たされたときのデッドロックを防ぎます。

1.12.1. Hot Rod クライアント

Hot Rod は、カスタムバイナリー TCP プロトコルで、異なるプログラミング言語で、クライアントアプリケーションに高パフォーマンスでデータアクセスできるようにします。

application/x-protostream を使用したクエリーのサポート

Data Grid 8.4 の Hot Rod Node.js クライアントは、application/x-protostream メディアタイプを使用したクエリーのサポートを追加します。Hot Rod JS クライアントを設定して、キャッシュ内の値に application/x-protostream メディアタイプを指定し、それらに対してクエリーを実行できるようにします。

JS クライアントでサポートされているすべての Hot Rod 操作に application/x-protostream メディアタイプを使用できるようになりました。詳細は、Hot Rod Node.JS クライアントガイド を参照してください。

クラスターごとのクライアントインテリジェンス設定

複数の Data Grid クラスターを使用するように Hot Rod クライアントを設定すると、クラスターごとに異なるクライアントインテリジェンスを使用できます。

詳細は、Hot Rod Java クライアントガイド を参照してください。

1.12.2. Data Grid Server

Data Grid Server は専用の Java 仮想マシン (JVM) で実行され、リモートキャッシュ用にスケーラブルでフォールトトレラントなクラスターを提供します。

マイクロメーターのメトリクス

Data Grid 8.4 は、メトリクスを収集するために Micrometer ライブラリーを使用します。Data Grid Server は、metrics エンドポイント経由で統計を公開します。Prometheus などの任意の監視ツールを使用して統計を収集できます。Micrometer メトリクスは、MicroProfile メトリクスの SmallRye Metrics 実装を置き換えます。

状態遷移操作中のメトリックの改善

クラスタートポロジーが変更されると、Data Grid はセグメント数とトランザクションセグメント数のメトリックを公開します。Data Grid は、REST API および JMX API と互換性のある時間メトリクスを生成します。

RESP プロトコルエンドポイント

Data Grid サーバーには、RESP3 プロトコルを実装する実験的なモジュールが含まれています。RESP エンドポイントを使用すると、Redis クライアントは、Data Grid でサポートされている 1 つ以上の RESP サーバーに接続し、キャッシュ操作を実行できます。

Data Grid 8.4 は、キャッシュ操作に通常使用される Redis コマンドのサブセットをサポートします。サポートされているコマンドのリストについては、Data Grid での RESP プロトコルエンドポイントの使用 に関するドキュメントを参照してください。Data Grid チームは、後続のリリースで追加のコマンドを実装する予定です。

重要

RESP プロトコルエンドポイントは、テクノロジープレビュー機能として利用できます。

動的なロールベースのアクセス制御 (RBAC)

ロールベースアクセス制御 (RBAC) 機能では、さまざまなパーミッションレベルを使用して、Data Grid とのユーザーの対話を制限します。プログラムによって、または Data Grid CLI および Data Grid Console を使用して、ユーザーのロールを変更し、異なる権限を割り当てることができます。

詳細は ロールベースのアクセス制御によるセキュリティー承認 を参照してください。

マスクされた外部認証情報のサポート

Data Grid Server では、マスクされたパスワードと外部コマンドを使用して、パスワードを Data Grid Server 設定に追加できます。

JVM ヒープダンプを生成するオプション

JVM ヒープ上にあるすべてのライブオブジェクトのダンプを生成できます。Data Grid は、サーバーのデータディレクトリーに HPROF 形式のヒープダンプファイルを生成し、JSON 形式のファイルのフルパスで応答します。

1.12.3. Data Grid コンソール

Data Grid Console は、リモートキャッシュを監視および管理するためのグラフィカルユーザーインターフェイスであり、8.4 では以下の機能と拡張機能が含まれています。

キャッシュ作成ウィザード

キャッシュ設定 タブを開き、Data Grid Console ウィザードに従って、キャッシュの作成と設定のプロセスをガイドします。ウィザードには、キャッシュを作成し、Data Grid の機能と機能 (インデックス作成、セキュリティー、永続性など) を有効にするのに役立つ手順とツールヒントが含まれています。すべての手順を完了すると、設定を JSON、YAML、または XML 形式でダウンロードして、ファイルを再利用できます。

キャッシュ分散統計

Data Grid コンソールでは、Cache details ページに Metrics タブが導入されています。ノードごとのエントリー数やメモリー使用量など、ノードのデータを表示およびフィルタリングできます。

1.12.4. クエリー API

Data Grid を使用すると、キャッシュをインデックス化し、Ickle クエリー言語で関連付けまたはフルテキストクエリーを実行できます。

Hibernate ORM 6 のサポート

Data Grid の Hibernate ORM 2 次キャッシュ (2LC) 実装は、Hibernate 6 で動作するようにアップグレードされました。

次の依存関係を追加します。

pom.xml

<dependency>
  <groupId>org.infinispan</groupId>
  <artifactId>infinispan-hibernate-cache-v60</artifactId>
  <version>${version.infinispan}</version>
</dependency>
Copy to Clipboard Toggle word wrap

注記

Jakarta EE 移行のため、Data Grid 8.4 は Hibernate 5 をサポートしていません。

1.12.5. Data Grid のネイティブインデックス化のアノテーション

このリリースでは、新しい索引付けアノテーション @Basic@Keyword@Text、および Embedded が導入されています。これらの新しいアノテーションは Hibernate Search アノテーションに取って代わりました。つまり、Java クラスにリモートキャッシュ用の @ProtoDoc アノテーションを付ける必要がなくなりました。

新しいネイティブインデックスアノテーションを使用すると、エンティティーに直接アノテーションを付けることができます。さらに、これらのアノテーションは、埋め込みクエリーとリモートクエリーの両方で同じ方法で使用できます。

新しい注釈のそれぞれは、エンティティーがどのようにインデックス付けされるかをさらに説明する一連の属性をサポートしています。

Data Grid のインデックス化のアノテーション

@Basic
このアノテーションは、テキストの変換や処理を必要としない数値と短い Strings に使用します。sortablesearchable、および projectable 属性をサポートします。
@Keyword
このアノテーションを Strings に使用します。searchableprojectablesortable、および normalizer の属性をサポートしています。
@Text
サイズの大きい String にはこのアノテーションを使用します。searchableprojectable、および Analyzer 属性をサポートします。
@Embedded
このアノテーションを埋め込みインデックスに使用して、エンティティー構造を指定します。NESTED 構造は元のオブジェクト関係構造を保持しますが、FLATTENED 構造 は親エンティティーのリーフフィールドを複数値にします。

Poem.java

@Indexed
public class Poem {

private Author author;
private String description;
private Integer year;

@Embedded(includeDepth = 2, structure = Structure.NESTED)
public Author getAuthor() {
return author;
}

@Text(projectable = true, analyzer = "whitespace", termVector = TermVector.WITH_OFFSETS)
public String getDescription() {
return description;
}

@Basic(projectable = true, sortable = true, indexNullAs = "1800")
public Integer getYear() {
return year;
}
}
Copy to Clipboard Toggle word wrap

インデックス起動モード

インデックスがキャッシュ内のデータと一致していることを確認する操作を自動的に実行するように Data Grid を設定できます。

起動モード

none
デフォルトでは、インデックス作成操作は行われません。
purge
キャッシュの開始時にインデックスをクリアします。この操作中はキャッシュを使用できません。
reindex
キャッシュの開始時にインデックスを再構築します。
auto
キャッシュを自動的にクリアまたは再インデックス化します。データが揮発性で、インデックスが永続的である場合、キャッシュは開始時にクリアされます。データが永続的で、インデックスが揮発性の場合、キャッシュは開始時に再インデックス化されます。

Purge モードの設定

<distributed-cache>
  <indexing storage="filesystem" startup-mode="purge">
    <!-- Additional indexing configuration goes here. -->
  </indexing>
</distributed-cache>
Copy to Clipboard Toggle word wrap

動的インデックススキーマの更新

変更が以前のスキーマと互換性がある限り、インデックスの再作成やダウンタイムなしでスキーマを更新できます。Data Grid は既存のインデックスを保持し、スキーマのみを更新します。

次のいずれかの方法でスキーマを更新できます。

  • プログラムで updateIndexSchema() メソッドを呼び出して、Hot Rod Java クライアントからスキーマを更新します。

    remoteCacheManager.administration().updateIndexSchema("MyCache");
    Copy to Clipboard Toggle word wrap
    ヒント

    リモートキャッシュの場合、update-schema コマンドを使用して Data Grid コンソールからスキーマを更新することもできます。

  • POST リクエストでスキーマを更新します。
POST .../v2/caches/{myCache}/search/indexes?action=updateSchema
Copy to Clipboard Toggle word wrap
クエリーによって返される結果の制限

Data Grid は、クエリーによって返される結果の数を制限する default-max-results プロパティーを追加します。default-max-results プロパティーのデフォルト値は 100 です。クエリーによって返される結果の数を制限すると、明示的な制限が設定されていないクエリーのパフォーマンスが大幅に向上します。

1.12.6. Data Grid コマンドラインインターフェイス (CLI)

Data Grid CLI を使用すると、リモートキャッシュの管理操作をスクリプト化および自動化できます。

セキュリティー認証の改善

Data Grid CLI で、クライアント証明書認証を使用して Data Grid サーバーに接続できます。

すべてのキャッシュへのコマンド適用

Data Grid CLI では、--all-caches または -a オプションを使用して、コマンドをすべてのキャッシュに適用できます。たとえば、次のコマンドを実行すると、Data Grid はすべてのキャッシュのバックアップロケーションのステータスを表示します。

[//containers/default]> site status --all-caches --site=NYC
Copy to Clipboard Toggle word wrap

詳細は 、Data Grid コマンドラインインターフェイスの使用 を参照してください。

1.13. Data Grid 8.4 でサポートされる Java バージョン

Red Hat は、Data Grid のインストール方法に応じて、さまざまな Java バージョンをサポートします。

Java 11 サポートの終了

Data Grid 8.4 では、Java 11 のサポートは非推奨となり、今後のリリースでは削除される予定です。Data Grid 8.5 のユーザーは、アプリケーションを少なくとも Java 17 にアップグレードする必要があります。

古い Hot Rod Java クライアントバージョンを最新の Data Grid Server バージョンと組み合わせて引き続き使用できます。ただし、古いバージョンのクライアントを使用し続けると、修正や機能強化が失われることになります。

Java 8 サポートの削除

Data Grid 8.4 は、Java 8 のサポートを削除します。Java 8 のサポートは廃止され、Data Grid 8.2 以降は削除される予定でした。

Java 8 を必要とするアプリケーションで実行している Hot Rod Java クライアントは、古いバージョンのクライアントライブラリーを引き続き使用できます。

重要

Data Grid 8.4 のユーザーは、アプリケーションを少なくとも Java 11 にアップグレードする必要があります。ただし、Java 11 の非推奨と Data Grid 8.5 での削除を考慮して、Data Grid チームは Java 17 に直接アップグレードすることを推奨します。

Data Grid 8.4 でサポートされる Java バージョン
組み込みキャッシュ

Red Hat は、カスタムアプリケーションでの組み込みキャッシュに、Data Grid を使用する場合に Java 11 および Java 17 をサポートします。

リモートキャッシュ

Red Hat は、Data Grid Server インストールに Java 11 および Java 17 をサポートします。Hot Rod Java クライアントの場合には、Red Hat は Java 11 および Java 17 をサポートします。

Red Hat は、Data Grid サーバー、Hot Rod Java クライアント、およびカスタムアプリケーションの組み込みキャッシュに Data Grid を使用する場合に、Java 11 および Java 17 をサポートします。

注記

ベアメタルインストールで Data Grid Server を実行する場合、JavaScript エンジンは Java 17 では利用できません。

第2章 既知の問題および修正された問題

Data Grid の既知の問題や、修正された問題を確認してください。

2.1. Data Grid の既知の問題

Data Grid Operator で管理する Data Grid クラスターに影響する問題は、Data Grid Operator 8.4 リリースノート を参照してください。

JGroups アドレスのデフォルトが外部 IPである

問題: JDG-6053

説明: ベアメタルデプロイメントでは、JGroups がデフォルトで設定された認証を行わずに外部 IP にバインドすると、接続がセキュアではなくなり、不正アクセスや不正操作のリスクが生じます。

回避策: 次のいずれかの方法で接続をセキュリティー保護します。

  • JGroups セキュリティーを設定してネットワークを制御し、許可されたノードのみが参加できるようにします。詳細は、クラスタートランスポートの暗号化 を参照してください。
  • Data Grid Server の起動時に -Djgroups.bind.address=<internal-network> パラメーターを使用して、JGroups アドレスをセキュアな内部ネットワークに設定します。

ネットワークパーティションの発生時における一貫性のないトランザクション

問題: JDG-3935

説明: Data Grid クラスターでネットワークパーティションが発生するシナリオでは、パーティションが修復された後にトランザクションがロールバックされます。

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

Data Grid 競合解決のパフォーマンス

問題: JDG-3636

説明: テストケースによっては、Data Grid パーティション処理機能では、競合解決に、想定よりも時間がかかりました。

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

2.2. Data Grid 8.4.7 で修正された問題

Data Grid 8.4.7 には、以下の主な修正が含まれています。

  • JDG-6894 ノード間の応答時間が正しく計算されない
  • JDG-6811 SSLSocketclose() でブロックする
  • JDG-6872 分散クエリー集約でキーによる個別の GET を回避する
  • JDG-6680 クラスターキャッシュに対する 2 回目のイテレーションの試行が、セグメントがすでに完了しているため失敗する
  • JDG-6732 個々のノードでのキャッシュ起動の失敗により、再起動時に他のキャッシュが DEGRADED モードになる可能性がある
  • JDG-6652 REST のキャッシュ統計はクラスター化された統計である必要がある
  • JDG-6736 メトリクスの登録を試行する前に、MetricsRegistry が有効かどうかを確認する
  • JDG-6591 Data Grid 8 での Oracle データベースからの自動キャッシュロードに、10 より長い数値の制限がある
  • JDG-6824 埋め込み JCache リスナーが前の値を正しく返さない
  • JDG-6861 HR ローリングアップグレードが ___protobuf_metadata キャッシュで失敗する
  • JDG-6840 Hot Rod クライアント RemoteCache#computeAsync() が、新しいエントリーに対して同時に実行されると、再マッピング処理の結果を失う可能性がある
  • JDG-6751 ACL 呼び出しで Keycloak インテグレーションが壊れる
  • JDG-6738 フェイルオーバー時の NullPointerException により HR クライアントがハングする
  • JDG-6678 uri プロパティーで設定された remote-store のキャッシュで Put 操作が失敗する
  • JDG-6847 SSLContextRemoteStore によって無視される
  • JDG-6889 共有ストアパブリッシャーは SKIP_CACHE_LOAD を使用してリモートノードからデータを取得する必要がある
  • JDG-6793 getter のない MBean での NullPointerException

2.3. Data Grid 8.4.6 で修正された問題

Data Grid 8.4.6 には、以下の主な修正が含まれています。

  • JDG-5435 count が集計可能フィールドをターゲットとする場合は、ハイブリッドクエリーの実行を回避する
  • JDG-6585 IRAC 状態遷移によりデータ損失が発生する可能性がある
  • JDG-6593 logFile のソフトインデックスファイルストア (SIFS) ExpirationCompaction がインデックスの更新に失敗することがある
  • JDG-6636 インデックスが NegativeArraySizeException を受け取る場合がある
  • JDG-6586 PreferConsistencyStrategy が容量ゼロのノードで UnsupportedOperationException をスローする
  • JDG-6540 OpenTelemetry がクライアント上に見つからない場合は、DEBUG メッセージを 1 回だけログに記録することで、OpenTelemetry ログのスパムを削減する
  • JDG-6301 ローカルキャッシュおよび JDBC キャッシュストアでエントリーの有効期限が切れているときにデッドロックが発生する
  • JDG-6489 コントロールグループバージョン 2 を使用する場合のメモリー管理が正しくない
  • JDG-6644 コンパクターによるファイルの処理中にシャットダウンが開始すると、SIFS インデックスの破損が発生することがある
  • JDG-6682 リバランス中に PutAll 操作を実行すると ClassCastException が発生する
  • JDG-6681 データベースの再起動後、JDBC PooledConnectionFactory が古い接続を保持する
  • JDG-6633 プライマリー所有者から複製する場合、バックアップ書き込み操作は以前の値を無視する必要がある
  • JDG-6635 SIFS 有効期限圧縮により、logFile への同時書き込みに対する WARN メッセージが書き込まれる
  • JDG-6655 blocking プロパティーが明示的に設定されていない限り、リモートキャッシュストアは定義された設定プロパティーを無視します
  • JDG-4534クロスサイトレプリケーションの初期状態遷移中に問題が発生したため、リモートサイトがオフラインになる
  • JDG-6581 JBoss マーシャリングで設定されている場合、Bloom フィルターが有効になっている Near Cache が正しく動作しない
  • JDG-6548 例外的な HEAD リクエストがゼロ以外の Content-Length ヘッダーを返す
  • JDG-6458 Data Grid コンソールで、管理者以外のユーザーが権限のあるキャッシュにアクセスするとエラーが表示される
  • JDG-6653 Hot Rod クライアントは、トポロジーから削除された後でも、障害が発生したサーバーに対して繰り返し操作を再試行する
  • JDG-6634 存在しないキーを SIFS で削除するとインデックスが不正確になる

2.4. Data Grid 8.4.4 で修正された問題

Data Grid 8.4.4 には、以下の主な修正が含まれています。

  • JDG-6447 Hot Rod クエリー例外で呼び出し元へのスタックトレースが欠落している
  • JDG-6446 JGroups 依存関係からの 'byteman-bmunit' の除外
  • JDG-6443 Prometheus メトリクスエンドポイントを呼び出すと、ローカルノードと他のノードの両方のメトリクスが収集される
  • JDG-6428 接続プールが終了した場合、キューに登録された Hot Rod クライアント操作を再試行する必要がある
  • JDG-6416 同時アクセスが発生した場合、InvalidatedNearRemoteCache が古い値を保持することがある
  • JDG-6391 RemoteStore が netty イベントループクライアントスレッドをリークする
  • JDG-6389 返された SearchResultTotal が正確でない場合、search#hitCount() を使用すると Hibernate Search で例外が発生する
  • JDG-6382 動的 RBAC を使用する動的に作成されたキャッシュが有効になっていると、起動に失敗する
  • JDG-6378 クラス初期化モニターで複数のスレッドが待機していると、クエリーモジュールのデッドロックが発生する
  • JDG-6358 状態遷移が完了しない
  • JDG-6278 テンプレートが設定要素の後に定義されている場合、キャッシュテンプレートの解析が失敗する
  • JDG-6256 インデックス作成中の循環アクションにより例外が発生する場合がある
  • JDG-6161 JGroups 設定のネストされたプロパティーを持つ属性が適用されない

2.5. Data Grid 8.4.3 で修正された問題

Data Grid 8.4.3 には、以下の主な修正が含まれています。

  • JDG-6197 REST API が Data Grid コンソールでローカルの安全なキャッシュのデータ配布をロードできない
  • JDG-6194 JSON 設定パーサーが、名前で値を取得するときにプロパティーを置き換えない
  • JDG-6160 HotRod プロパティーを使用して tracing.propagation_enabled プロパティーをオーバーライドすることができない
  • JDG-6125 JSON としてシリアル化された空の認可ロールは解析できない
  • JDG-6095リモートの getCacheNames が利用可能なキャッシュをリストするときにユーザーロールに基づいて保護されたキャッシュを除外しない
  • JDG-6251可用性例外が発生した場合、CacheLoaderInterceptor が孤立した保留中の操作を残す
  • JDG-6235インデックスのクリアまたは再構築後に、正しくないインデックス統計が表示される
  • JDG-6231 Compactor.java クラスがファイルを適切に閉じることができず、ヒープが蓄積される
  • JDG-6229 ServerAdminOperationsHandlerCacheUpdateConfigurationAttributeTask がない
  • JDG-6228 Protobuf スキーマが置き換えられると、Protobuf メタデータキャッシュが検証エラーメッセージを提供できない
  • JDG-6227 ローカルキャッシュモードでのエントリーの有効期限切れ中のデッドロック
  • JDG-6226 ManagedConnectionFactory DataSource がコンポーネントの開始時に初期化される
  • JDG-6223 Data Grid サーバーによる IPv6 マルチホームアドレスの誤った検出
  • JDG-6222 バックアップおよびマージポリシーによるキャッシュの作成に失敗しました
  • JDG-6218 JDK 17 および JBossMarshalling 使用時に NoClassDefFoundError が発生する
  • JDG-6217 Data Grid BOM ファイルに infinispan-hibernate-cache-v62 がありません

2.6. Data Grid 8.4.2 で修正された問題

Data Grid 8.4.2 には、以下の主な修正が含まれています。

  • JDG-6057 RESP エンドポイントはパケットサイズよりも大きいリクエストを解析できない
  • JDG-6015アップグレード時に Helm チャートの deploy.security.batch を更新できない
  • JDG-5997インデックススキーマを互換性に関係なく、変更すると (たとえば、並べ替え不可能なフィールドを並べ替え可能にするなど)、ISPN014827 が発生する
  • JDG-5988 Helm Chart: Pod が準備完了としてマークされていない場合に DNS 検出に失敗する
  • JDG-5972 REST API がキーとエントリーの取得をブロックし、非ブロッキングスレッドがストリーム要素を待機する原因となる
  • JDG-5943 putAll および replaceWithVersion を使用してエントリーを追加するとタイムアウトが発生する
  • JDG-5927 SQL タイプ CHAR で SQL キャッシュストアの開始が失敗する
  • JDG-5811 Data Grid コンソール: キャッシュ作成ウィザードにインデックス作成起動モードのデフォルト値がない
  • JDG-5732 shutdown cluster コマンドを実行すると、すべてのノードがクラスターに再度参加する前にキャッシュにアクセスできる
  • JDG-3967 shutdown クラスターコマンドを実行するとクラスターの再起動が不完全であることに関するエラーメッセージがない
  • JDG-5549 REST および CLI コマンドは無効なファイルのスキーマ定義を追加する

2.7. Data Grid 8.4.1 で修正された問題

Data Grid 8.4.1 には、以下の主な修正が含まれています。

  • JDG-5725 REST を介した Data Grid クラスターのバックアップの作成が失敗する
  • JDG-5726 ブラウザーを介した GET 要求による Data Grid サーバー設定の取得が失敗する
  • JDG-5724 複数の Data Grid Server インスタンスの診断レポートの取得に失敗する
  • JDG-5825 GET コマンドがテキスト/プレーンキャッシュをブロックする
  • JDG-5802 Data Grid コンソール: エントリーの有効期限が切れた後にクエリーを実行すると、エラーが返される
  • JDG-5842 Data Grid コンソール: ミスと取得のメトリックは、ページがリロードされた後にのみ更新される
  • JDG-5831 Data Grid コンソール: キャッシュ作成ウィザードで、ユーザーが無効なメディアタイプでインデックス付きキャッシュを作成できる
  • JDG-5832 Data Grid コンソール: データ分布チャートのサイズ変更の問題
  • JDG-5625 Data Grid コンソールのロゴの更新
  • JDG-5686 アクセス制御リスト (ACL) パーミッションチェックを行う際のスレッドロック
  • JDG-5805 AdvancedCache.getStats() による統計の取得が失敗する
  • JDG-5801 データソース接続プール maxSize のデフォルト値が NullPointerException (NPE) を引き起こす
  • JDG-5799 JSON 文字は 2 つの等値チェックでエスケープする必要がある
  • JDG-5800 Data Grid クラスターで設定された Red Hat Single Sign-On で Java 17 を使用すると、例外が出力される
  • JDG-5821 Data Grid Server 8.3 と Hot Rod クライアント 8.4 の間の非互換性
  • JDG-5790 CacheInputEntryStream が値のすべてのバイトの値をエスケープする

2.8. Data Grid 8.4.0 で修正された問題

Data Grid 8.4.0 には、以下の主な修正が含まれています。

  • JDG-4863 Data Grid CLI またはコンソールから Protobuf スキーマを削除するオプション
  • JDG-5439マルチスレッドクライアントを使用したトポロジーの更新は安全ではない
  • JDG-5320 Protobuf でエンコードされたキャッシュを使用した埋め込みクエリーのサポートがない
  • JDG-5316 SoftIndexFileStore が原因でデータフォルダーのサイズが大きくなる
  • JDG-5318 SoftIndexFileStore では、保存されているデータのサイズが正しくロードされない
  • JDG-5221 startOffset=10 および maxResults=-1 のリモートクエリーでインデックス付きフィールドを使用すると、ArrayIndexOutOfBoundsException が発生する
  • JDG-5325 UnknownHostException の後、RELAY2 が再接続されない
  • JDG-5219無効な Protobuf スキーマにより、特定のエラーメッセージなしで PUT 操作が失敗する
  • JDG-5253特殊文字のみで名前が異なり、静的が有効になっている 2 つのキャッシュを作成すると、2 番目のキャッシュが劣化する
  • JDG-4766タイムアウトの期限が切れた後にクライアントはサーバー接続を切断するべきではない
  • JDG-5544高負荷時のインデックス書き込みスレッドでデッドロックが発生する可能性がある
  • JDG-5542 JSON に変換できないメディアタイプの値がキャッシュにある場合に REST キーの呼び出しに失敗する
  • JDG-5553埋め込みキー SQL ストアで一括操作が正しく機能しない
  • JDG-5641有効期限をサポートしていないストアで有効期限は設定すべきでない
  • JDG-5575 Protobuf エントリーに小数部のある数値が含まれている場合、MicrosoftSQL 2019 サーバーまたは Postgresql 13 でこの値を保持できない
  • JDG-5531 YamlConfigurationReader が有効なキャッシュ設定に対して NullPointerException を出力する
  • JDG-5622 Netty グローバル接続の計算時の NullPointerException
  • JDG-5624 SoftIndexFileStore により有効期限のあるログファイルが削除されない
  • JDG-5327 CrossSiteReplication を使用した結合ノードの ConcurrentModificationException
  • JDG-5232キャッシュの YAML 表現が無効である
  • JDG-5442メモリーの最大サイズを非バイト値として設定すると、CacheManager の再起動時に失敗する
  • JDG-5411セキュリティーレルム名に特殊文字が含まれている場合に、HTTP ライブラリーはそれを解析できない
  • JDG-3394 TaskExecutionMode.ALL_NODES でリモートタスクが実行されると、Hot Rod クライアントが例外を出力する
  • JDG-5629サイトが IRAC を含む空のバッチをリモートサイトに送信する

2.9. ホストシステムおよび依存関係の問題

場合によっては、Data Grid のデプロイメントで、ホストシステムまたは外部の依存関係が原因でエラーが発生することがあります。このセクションでは、このような既知の問題の詳細と、トラブルシューティングおよび回避策の手順について説明します。

Nashorn JavaScript エンジン

Data Grid Server が JavaScript を使用してタスクを自動化する場合は、Nashorn JavaScript エンジンをインストールして、これらのスクリプトを Data Grid 8.4 で実行できるようにする必要があります。これは、OpenJDK 17 が Nashorn JavaScript エンジン、その API、および jjs ツールのサポートを削除したためです。

ベアメタル Data Grid サーバーの場合は、Data Grid CLI で次のコマンドを実行して、Maven 中央リポジトリーから Nashorn をインストールできます。

bin/cli.sh install org.openjdk.nashorn:nashorn-core:15.4 \
                                 org.ow2.asm:asm:7.3.1 \
                                 org.ow2.asm:asm-util:7.3.1
Copy to Clipboard Toggle word wrap

OpenShift では、Data Grid クラスターに Nashorn をインストールするように Data Grid Operator を設定する Infinispan カスタムリソース (CR) を作成できます。以下に例を示します。

apiVersion: infinispan.org/v1
kind: Infinispan
metadata:
  name: infinispan
spec:
  replicas: 2
  dependencies:
    artifacts:
      - maven: org.openjdk.nashorn:nashorn-core:15.4
      - maven: org.ow2.asm:asm:7.3.1
      - maven: org.ow2.asm:asm-util:7.3.1
  service:
    type: DataGrid
Copy to Clipboard Toggle word wrap
Red Hat Enterprise Linux 7 の TLS

RHEL 7 は、TLSv1.3 へのサポートをまだ提供していない OpenSSL ライブラリーのバージョンを提供します。しかし、Data Grid Server 8.4 はデフォルトで TLSv1.3 および TLSv1.2 を有効にします。これにより、暗号化された Hot Rod および REST エンドポイントのクライアント接続でエラーが発生します。

Data Grid Server は、以下のようなメッセージもログに記録します。

WARN  [org.infinispan.HOTROD] ISPN004098: Closing connection due to transport error
org.infinispan.client.hotrod.exceptions.TransportException:: ISPN004077:
Closing channel due to error in unknown operation.
Copy to Clipboard Toggle word wrap

RHEL 7 に Data Grid Server をインストールする場合は、以下の JVM オプションで OpenSSL を無効にしてネイティブ Java SSL ライブラリーを使用する必要があります。

-Dorg.infinispan.openssl=false
Copy to Clipboard Toggle word wrap

法律上の通知

Copyright © 2024 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat