第1章 Data Grid 8 のアップグレードに関する注意点
Data Grid 8 のバージョンから別のバージョンにアップグレードする前に、このセクションの詳細を確認してください。
1.1. Data Grid 8.4 へのアップグレード
以下の情報を参照して、以前のバージョンの Data Grid 8 から 8.4 へのアップグレードが成功するようにします。
Hot Rod クライアントのデフォルト
Data Grid 8.4.6 では、Hot Rod クライアントのプロパティーに変更が導入されました。
infinispan.client.hotrod.ssl_hostname_validation
新しいプロパティー infinispan.client.hotrod.ssl_hostname_validation
のデフォルト値は true
です。このプロパティーにより、RFC 2818 ルールに基づいた TLS ホスト名の検証が有効になります。さらに、ホスト名の検証が有効な場合は、infinispan.client.hotrod.sni_host_name
の設定が必須になりました。
プロパティー | Data Grid 8.4 | 以前のバージョン |
---|---|---|
| 2000 ミリ秒/2 秒 | 60000 ミリ秒/60 秒 |
| 2000 ミリ秒/2 秒 | 60000 ミリ秒/60 秒 |
| 3 | 10 |
| 180000 ミリ秒/3 分 | 1800000 ミリ秒/30 分 |
JGroups およびクロスサイトメトリクスのメトリクス命名方法の改善
Data Grid 8.4.4 では、JGroups メトリクスおよびクロスサイトメトリクスの name-as-tags
プロパティーを有効にできます。
name-as-tags
を有効にすると、メトリクスが簡素化され、クラスター名とサイト名がメトリクス名に含まれるのではなく、タグとして表示されます。
name-as-tags
を false
に設定すると、メトリクスがチャネルに基づいて命名され、同じ目的のメトリクスが複数作成されます。
# 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
name-as-tags
を true
に設定すると、メトリクスが簡素化され、クラスター名とサイト名がタグとして表示されます。
# 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
メトリクスが簡素化されるだけでなく、クラスター名とサイト名を変更してもメトリクス名の一貫性が保たれるため、Grafana ダッシュボードを更新する必要がなくなります。
Java 8 からの移行
Red Hat は Data Grid 8.4 の時点で、Data Grid Server のインストール、Hot Rod Java クライアント、およびカスタムアプリケーションの組み込みキャッシュに Data Grid を使用する場合に、Java 11 および Java 17 をサポートします。Data Grid ユーザーは、アプリケーションを少なくとも Java 11 にアップグレードする必要があります。Java 8 のサポートは Data Grid 8.2 で非推奨となり、Data Grid 8.4 で削除されました。
組み込みキャッシュ
Red Hat は、カスタムアプリケーションでの組み込みキャッシュに、Data Grid を使用する場合に Java 11 および Java 17 をサポートします。Data Grid ユーザーは、アプリケーションを少なくとも Java 11 にアップグレードする必要があります。
リモートキャッシュ
Red Hat は、Data Grid Server および Hot Rod Java クライアントで Java 11 および Java 17 をサポートします。
Java 8 を必要とするアプリケーションで実行している Hot Rod Java クライアントは、古いバージョンのクライアントライブラリーを引き続き使用できます。Red Hat は、最新の Data Grid Server バージョンと組み合わせて、以前の Hot Rod Java クライアントバージョンの使用をサポートしています。ただし、古いバージョンのクライアントを使用し続けると、修正や機能強化が失われることになります。
OpenJDK 17 では、Nashorn JavaScript Engine、その API、および jjs
ツールへの対応が解除されました。Data Grid Server が自動化タスクに JavaScript を使用する場合は、Nashorn JavaScript エンジンをインストールする必要があります。
Jakarta EE 依存関係の追加
バージョン 8.4 以降、Data Grid は Jakarta EE 9+ ベースの jar を配布します。アプリケーションで Jakarta 固有の依存関係が必要な場合は、アーティファクトに -jakarta
を追加します。次に例を示します。
pom.xml
<dependency> <groupId>org.infinispan</groupId> <artifactId>infinispan-client-hotrod-jakarta</artifactId> </dependency>
ストアプロパティー設定の更新
Data Grid 8.4 では、ストアが提供するプロパティーが、ストアの明示的な設定をオーバーライドしなくなりました。以下の例では、設定を更新する方法を紹介しています。
この例では、ストアの読み取り専用設定を true
に設定します。
example.xml
<persistence> <file-store> <index path="testCache/index" /> <data path="testCache/data" /> <property name="readOnly">true</property> </file-store> </persistence>
以下の更新された例では、read-only
プロパティーがストア自体に提供されており、ストアの明示的な設定には影響しません。
example.xml
<persistence> <file-store read-only="true"> <index path="testCache/index" /> <data path="testCache/data" /> </file-store> </persistence>
関連情報
非推奨の機能
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 クライアントのテストを継続します。
PrincipalRoleMapperContext
インターフェイスが非推奨に
org.infinispan.security.PrincipalRoleMapperContext
は Data Grid 8.4 で非推奨となり、org.infinispan.security.AuthorizationMapperContext
に置き換えられました。
fetch-state
ストアプロパティーの削除
fetch-state
属性は非推奨となり、Data Grid 8.4 で削除され、後継となる属性はありません。使用中の xml 設定からこの属性を削除できます。
今回の変更は、同じデータにアクセスできる共有ストアには影響はありません。ローカルキャッシュストアは、「purge on startup」を使用して、永続ストレージから古いエントリーをロードしないようにすることができます。
最低でも 8.1 からのアップグレード
8.0 からアップグレードする場合は、最初に 8.1 にアップグレードする必要があります。Data Grid 8.0 の永続データは、新しいバージョンのバイナリーではありません。この非互換性の問題に対処するために、Data Grid 8.2 以降では、クラスター起動時に Data Grid 8.1 から既存の永続キャッシュストアを自動的に変換します。ただし、Data Grid は、Data Grid 8.0 からキャッシュストアを変換しません。