第3章 既知の問題および修正された問題
Data Grid の既知の問題や、修正された問題を確認してください。
3.1. Data Grid の既知の問題
- トランザクションキャッシュでローリングアップグレードを行うと IllegalArgumentException が発生する
問題:JDG-4315
説明:トランザクションキャッシュでローリングアップグレードを実行することはできません。アップグレードが失敗し、以下の例外がログに書き込まれます。
Caused by: java.lang.IllegalArgumentException: Cannot create a transactional context without a valid Transaction instance. at org.infinispan.context.impl.TransactionalInvocationContextFactory.createInvocationContext(TransactionalInvocationContextFactory.java:63) [...] at org.infinispan.cache.impl.DecoratedCache.putIfAbsent(DecoratedCache.java:688) at org.infinispan.cache.impl.AbstractDelegatingAdvancedCache.putIfAbsent(AbstractDelegatingAdvancedCache.java:328) at org.infinispan.cache.impl.EncoderCache.putIfAbsent(EncoderCache.java:450) at org.infinispan.persistence.remote.upgrade.MigrationTask.lambda$migrateEntriesWithMetadata$0(MigrationTask.java:128) at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1771)
回避策:この問題に対する回避策はありません。
- OpenShift 上の Data Grid CLI で IOException が発生する
問題:JDG-4292
説明:OpenShift で実行されている Data Grid Pod からコマンドラインインターフェイス (CLI) を実行すると、
java.io.IOException が生成されます。Permission denied
message.たとえば、
oc rsh <pod-name>
を使用して Pod に接続し、/opt/infinispan/bin
ディレクトリーから CLI を呼び出すと、例外が発生します。この例外は Aesh コンポーネントに関連し、無視しても問題ありません。
回避策:Data Grid Server をダウンロードし、ローカルホストシステムで CLI を使用します。
$ bin/cli.sh -c https://$SERVICE_HOSTNAME:11222/ --trustall
- OpenShift の Data Grid は、OOM 例外の後に継続的に再起動します。
問題:JDG-3991
説明:メモリー不足の例外が原因で OpenShift で Data Grid Server が終了する場合に、ノードは再起動できません。以下の例外が Pod ログファイルに書き込まれます。
FATAL (main) [org.infinispan.SERVER] ISPN080028: Red Hat Data Grid Server failed to start java.util.concurrent.ExecutionException: org.infinispan.manager.EmbeddedCacheManagerStartupException: org.infinispan.commons.CacheException: Initial state transfer timed out for cache org.infinispan.LOCKS on <pod-name-id>
回避策:この問題に対する回避策はありません。
- HotRod Store または NodeJS クライアントから Data Grid Server で認証できない
問題:JDG-3868
説明:Red Hat JBoss EAP で HotRod ストアを使用してセッションデータを Data Grid に外部化する場合、Hot Rod NodeJS クライアントを使用する場合は、デフォルトの設定であるクライアント認証を必要とする Data Grid サーバーに接続することはできません。
回避策:サーバー認証と組み合わせて、Red Hat JBoss EAP 7.3 で
remote-store
実装を使用します。Red Hat JBoss EAP で HotRod ストアを使用するか、Hot Rod NodeJS クライアントを使用するには、Data Grid Server 認証を無効にする必要があります。
- インデックス化されたキャッシュにインデックスされていない Protobuf エンティティーが含まれる場合にクエリーの動作に一貫性がない
問題:JDG-3972
説明:キャッシュがインデックス化されていても、インデックス化されない Protobuf エンティティーが含まれる場合、そのキャッシュの検索操作は一貫性のない結果を返します。
回避策:この問題に対する回避策はありません。
- Data Grid 競合解決のパフォーマンス
問題:JDG-3636
説明:テストケースによっては、Data Grid パーティション処理機能が競合解決の実行に想定よりも長くなっていました。
回避策:この問題に対する回避策はありません。
- Data Grid は JWS セッションを正しくパッシベーションしない
問題:JDG-2796
説明:JBoss Web Server(JWS) からセッションを外部化する場合、
FINE
永続ストラテジーを使用する場合にセッションが正しくパッシベートされません。回避策:この問題に対する回避策はありません。