第1章 Data Grid 8 のアップグレードに関する注意点
Data Grid 8 のバージョンから別のバージョンにアップグレードする前に、このセクションの詳細を確認してください。
1.1. Data Grid 8.5 へのアップグレード
以前のバージョンの Data Grid 8 から 8.5 へのアップグレードを正常に行うには、次の情報をお読みください。
削除
- Kryo および Protostuff マーシャラーは削除されました。
- 拡張統計情報モジュールは削除されました。
- JCache CDI はサポートされなくなりました。
- Spring 5.x および Spring Boot 2.x はサポートされなくなりました。
- Red Hat JBoss EAP モジュールは提供されなくなりました。
クラスのパッケージの変更
次のクラスは別のパッケージに移動されました。
-
org.infinispan.util.TimeoutException
はorg.infinispan.commons.TimeoutException
に移動されました -
org.infinispan.util.concurrent.IsolationLevel
はorg.infinispan.configuration.IsolationLevel
に移動されました
クラス、メソッド、プロパティーの削除
次のメソッドとプロパティーは削除されました。
- すべて: スキーマ < 10.0 の設定ファイルの解析
-
共通:
Start.priority
とStop.priority
-
コア:
AdvancedCache.with(ClassLoader)
,AdvancedCache.getEvictionManager()
,AdvancedCache.getAsyncInterceptorChain()
,AdvancedCache.getComponentRegistry()
-
コア:
AnyScopeComponentFactory.construct(Class)
-
コア:
Cache.getListeners()
-
コア:
ConfigurationBuilder.classLoader()
,ConfigurationBuilder.customInterceptors()
-
コア:
DataRehashedEvent.getUnionConsistentHash()
-
コア:
EmbeddedCacheManager.getListeners()
,EmbeddedCacheManager.getTransport()
,EmbeddedCacheManager.removeCache(String)
,EmbeddedCacheManager.getGlobalComponentRegistry()
-
コア:
FlagAffectedCommand.setFlags
,FlagAffedctedCommand.addFlags
,FlagAffectedCommand.hasFlag
-
コア:
IntCacheStream.filterKeySegments(Set<Integer>)
-
コア:
JMXStatisticsConfiguration
-
コア:
GlobalConfiguration.DEFAULT_MARSHALL_VERSION
-
コア:
LocalizedCacheTopology.getDistributionForSegment(int)
-
コア:
NamedComponentFactory
-
コア:
PersistenceUtil.loadAndStoreInDataContainer
-
コア:
TopologyChangedEvent.getConsistentHashAtStart()
andTopologyChangedEvent.getConsistentHashAtEnd()
-
コア:
Transport.invokeRemotely()
Transport.waitForView()
Transport.backupRemotely()
AbstractTransport
-
コア:
ValueMatcher.nonExistentEntryCanMatch
-
コア:
WriteCommand.updateStatusFromRemoteResponse
- コア: 状態遷移プール
-
カウンター:
SyncStrongCounter
とSyncWeakCounter
-
Hot Rod クライアント:
org.infinispan.client.hotrod.marshall.ProtoStreamMarshaller
- サーバーとクライアント: キーストア証明書のパスワード
- RocksDB ストア: 有効期限キューのサイズ
- リモートストア: トランスポートファクトリーと maxIdle
メトリクス
names-as-tags
が true
に設定されている場合、JGroups およびクロスサイトメトリクスの名前が変更され、クラスターの名前とサイトの名前はメトリクス名に表示されなくなり、タグとして表示されます。
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
SecurityManager
Java Development Kit (JDK) 17 での SecurityManager の削除による非推奨に合わせて、SecurityManager との統合はサポートされなくなりました。
Jakarta と Java EE
-
Data Grid は
jakarta.*
パッケージのみを使用するように更新されました。 -
レガシー
javax.*
パッケージが必要な場合は、Data Grid 8.4.x を使用する必要があります。 -
jakarta.*
とjavax.*
の両方のパッケージが含まれていた移行用の*-jakarta
jar は削除されました。
Hot Rod クライアントのデフォルト
Data Grid では、Hot Rod クライアントのプロパティーに変更が導入されました。
ssl_hostname_validation
デフォルト値が true
の新しいプロパティー ssl_hostname_validation
が追加されました。このプロパティーにより、RFC 2818 に基づいた TLS ホスト名の検証が有効になります。
さらに、ホスト名の検証が有効になっている場合は、sni_host_name
の設定が必須になりました。
プロパティー | Data Grid 8.5 | 以前のバージョン |
---|---|---|
| 2000 ミリ秒/2 秒 | 60000 ミリ秒/60 秒 |
| 2000 ミリ秒/2 秒 | 60000 ミリ秒/60 秒 |
| 3 | 10 |
| 180000 ミリ秒/3 分 | 1800000 ミリ秒/30 分 |
| SCRAM-SHA-512 | SCRAM-SHA-256 |
検索
Data Grid 8.5 では、検索に次の変更が導入されています。
インデックス作成
-
property
属性が削除されました。 -
auto-config
属性が削除されました。 -
index
属性が削除されました。
アノテーションのインデックス作成
- Hibernate Search 5 アノテーションはサポートされなくなりました。
-
@ProtoDoc
アノテーションは非推奨になりました。
セキュリティー
PrincipalRoleMapper
は、グループとユーザープリンシパルの両方ではなく、グループにのみ適用されるようになりました。古い動作を使用するには、cache-manager.security.authorization.group-only-mapping=false
設定を使用します。
PrincipalRoleMapper
API の詳細は、ロールおよび権限マッパー を参照してください。
散在 (scattered) キャッシュの削除
散在キャッシュモードは削除されました。代わりに分散キャッシュを使用してください。キャッシュモードの詳細は、キャッシュモード を参照してください。
グローバル状態
デフォルトでは、永続的なグローバル状態で、シャットダウンが正常に行われなかったことを示すダングリングロックファイルが見つかった場合、Data Grid は起動しません。グローバル状態の unclean-shutdown-action
設定を行うことで、デフォルトの動作を変更できます。詳細は、グローバル永続ロケーション を参照してください。
Persistence
availability-interval
のデフォルト値が 30 秒に増加されました。以前のデフォルトは 1 秒でした。
Soft-index ファイルストア
セグメント数を計算するには、以前のようにインデックスセグメント設定を使用する代わりに、キャッシュセグメントの数のみが使用されます。
RESP エンドポイント
Data Grid 8.5 では、RESP エンドポイントに次の変更が導入されています。
-
RESP エンドポイントキャッシュでは、キーストレージメディアタイプが
application/octet-stream
であることが必要になりました。 - RESP エンドポイントで使用されるキャッシュ設定にデフォルトの有効期限を適用できます。
クライアントリスナー削除イベントの伝播
CacheEventConverter
の新しい includeOldValue
メソッドに関する変更をサポートするために、クライアントリスナー削除イベントは、イベントが値を削除しない場合でも、伝播されるようになりました。
削除イベントにはデフォルトでは値は含まれません。
NearCache SPI の更新
以前の NearCache SPI では、同時更新によって古いエントリーがニアキャッシュに保存される可能性があるという問題がありました。この問題に対処するために、NearCache SPI が更新されました。
最低でも 8.1 からのアップグレード
8.0 からアップグレードする場合は、最初に 8.1 にアップグレードする必要があります。Data Grid 8.0 の永続データは、新しいバージョンのバイナリーではありません。この非互換性の問題に対処するために、Data Grid 8.2 以降では、クラスター起動時に Data Grid 8.1 から既存の永続キャッシュストアを自動的に変換します。ただし、Data Grid は、Data Grid 8.0 からキャッシュストアを変換しません。