第5章 既知の問題
5.1. 既知の問題
- JDG-96: Cache events are incompatible with CDI 1.1 in JDG 7 (キャッシュイベントに JDG 7 の CDI 1.1 との互換性がない)
JBoss EAP 7 内でのバージョンなど、CDI 1.1 API で CDI アノテーションを使用する場合、
java.lang.RuntimeException
が発生します。この例外が発生するのは、JBoss Data Grid 7.1 で使用されるキャッシュイベントに CDI 1.1 によって削除された内容が含まれるためです。これは JBoss Data Grid 7.1 の既知の問題であり、この問題は CDI 1.2 API で解決されています。この問題を回避するには、以下の手順にしたがってリスナーを手動でアタッチします。
-
リスナー Bean から CDI アノテーションを削除します。メソッドから
@Observes
アノテーションをすべて削除してください。 -
必要なメソッドにリスナーアノテーション (
@CacheStarted
など) を追加します。 -
AdvancedCache#addListener
を使用してリスナーを手動で登録します。
-
リスナー Bean から CDI アノテーションを削除します。メソッドから
- JDG-436: JMX operation ClusterCacheStats.resetStatistics() not working (JMX 操作 ClusterCacheStats.resetStatistics() が機能しない)
JMX 操作
ClusterCacheStats.resetStatistics()
の実行時にクラスターの統計がリセットされません。これは JBoss Data Grid 7.1 の既知の問題です。この問題を回避するには、各サーバーで
Statistics.resetStatistics()
を個別に実行します。- JDG-474: CLI - container and cache commands don't work in domain mode (CLI、コンテナーおよびキャッシュコマンドがドメインモードで機能しない)
ドメインモードの CLI で
container
またはcache
ベースのコマンドを実行すると、以下のメッセージが表示されます。Container does not exists
これは JBoss Data Grid 7.1 の既知の問題であり、現時点ではこの問題の回避策はありません。
- JDG-244: Spark connector fails with CCE when compatibility mode is enabled (互換性モードが有効になっていると Spark コネクターに対して CCE が発生する)
互換性モードを有効にした状態で Spark コネクターを使用して値をキャッシュに挿入しようとすると、
ClassCastException
が発生し、リクエストの実行に失敗します。これは JBoss Data Grid 7.1 の既知の問題です。この問題を回避するには、互換性モードを無効にします。
- JDG-826: Deadlock during stopping CacheManager (CacheManager の停止中にデッドロックが発生する)
サーバーのシャットダウン中に新しいキャッシュが開始されると、デッドロックが発生することがあります。
これは JBoss Data Grid 7.1 の既知の問題です。この問題を回避するには、サーバーのシャットダウン中にキャッシュを開始しないようにします。
- JDG-841: Rolling Upgrades from JDG 6.6.0 or earlier ignore cache store (JDG 6.6.0 およびそれ以前のバージョンからローリングアップグレードを行うとキャッシュストアが無視される)
JBoss Data Grid 6.6.0 およびそれ以前のバージョンのローリングアップグレード手順では、ソースのクラスターにあるキーがすべて記録され、これらのキーがターゲットのクラスターに転送されます。この操作ではキャッシュストアのエントリーが保持されません。
これは JBoss Data Grid 7.1 の既知の問題であり、現時点ではこの問題の回避策はありません。
- JDG-840: Rolling Upgrades from JDG 6.6.0 or ealier migrates all data to a single node (JDG 6.6.0 およびそれ以前のバージョンからローリングアップグレードを行うとすべてのデータが 1 つのノードへ移行される)
JBoss Data Grid 6.6.0 およびそれ以前のバージョンからローリングアップグレードを行うと、すべてのデータがキャッシュ全体で分散されずに、1 つのノードへ移行されます。
これは JBoss Data Grid 7.1 の既知の問題であり、現時点ではこの問題の回避策はありません。
- JDG-831: Rolling Upgrade from 6.1 to 7 not working (6.1 から 7 へのローリングアップグレードに失敗する)
ローリングアップグレードの実行中にデータを同期化しようとすると、以下のエラーが発生します。
[standalone@localhost:10990 /] /subsystem=datagrid-infinispan/cache-container=clustered/replicated-cache=sample-cache:synchronize-data(migrator-name=hotrod) { "outcome" => "failed", "failure-description" => "DGISPN0118: Failed to invoke operation: java.lang.ClassNotFoundException: org.infinispan.util.ByteArrayKey from [Module \"org.infinispan.persistence.remote:main\" from local module loader @42f30e0a (finder: local module finder @24273305 (roots: /opt/jboss-datagrid-7.0.0-server/modules,/opt/jboss-datagrid-7.0.0-server/modules/system/layers/base))]", "rolled-back" => true }
これは JBoss Data Grid 7.1 の既知の問題であり、現時点ではこの問題の回避策はありません。
- JDG-529: NPE in CacheNotifierImpl by LIRS eviction listener (LIRS エビクションリスナーによる CacheNotifierImpl の NPE)
エビクションリスナーで
LIRS
エビクションストラテジーの使用を試みると、NullPointerException が発生します。これは JBoss Data Grid 7.1 の既知の問題です。この問題を回避するために、
LRU
またはUNORDERED
エビクションストラテジーの 1 つを使用することが推奨されます。- JDG-873: Cross-Site Replication: inconsistent data with multiple site masters in ASYNC mode (クロスサイトレプリケーション: ASYNC モードでの複数のサイトマスターによる不整合データ)
クロスサイトレプリケーションに複数のサイトマスターを設定しようとすると、リクエストごとに更新のルーティングが異なるため、データの不整合が発生する可能性があります。これにより、同じキーが別の 2 つのルートにトラバースされ、値が異なる原因となることがあります。
これは JBoss Data Grid 7.1 の既知の問題です。この問題を回避するには、
site-master
を 1 に設定します。- JDG-869: Deploying a task requires server reload (タスクのデプロイにサーバーのリロードが必要になる)
タスクをサーバーにデプロイした後にこのタスクを呼び出すと、
Unknown task 'localScript_throwingException'
エラーが発生します。サーバーを再起動またはリロードすると、タスクは問題なく実行されます。
これは JBoss Data Grid 7.1 の既知の問題であり、現時点ではこの問題の回避策はありません。
- jdg-823: JPA cache store in weblogic and Postgresql 9.3 produces error (weblogic および Postgresql 9.3 の JPA キャッシュによりエラーが発生する)
weblogic や Postgresql 9.3 で JPA キャッシュストアの使用を試みると、以下のような
NoSuchMethodError
が発生します。java.lang.NoSuchMethodError: javax.persistence.Table.indexes()[Ljavax/persistence/Index; [java] at org.hibernate.cfg.annotations.EntityBinder.processComplementaryTableDefinitions(EntityBinder.java:1100) [java] at org.hibernate.cfg.AnnotationBinder.bindClass(AnnotationBinder.java:772) [java] at org.hibernate.boot.model.source.internal.annotations.AnnotationMetadataSourceProcessorImpl.processEntityHierarchies(AnnotationMetadataSourceProcessorImpl.java:245) [java] at org.hibernate.boot.model.process.spi.MetadataBuildingProcess$1.processEntityHierarchies(MetadataBuildingProcess.java:222) [java] at org.hibernate.boot.model.process.spi.MetadataBuildingProcess.complete(MetadataBuildingProcess.java:265) [java] at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.metadata(EntityManagerFactoryBuilderImpl.java:847) [java] at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:874) [java] at org.hibernate.jpa.HibernatePersistenceProvider.createContainerEntityManagerFactory(HibernatePersistenceProvider.java:135) [java] at org.hibernate.ejb.HibernatePersistence.createContainerEntityManagerFactory(HibernatePersistence.java:50) [java] at weblogic.persistence.BasePersistenceUnitInfo.initializeEntityManagerFactory(BasePersistenceUnitInfo.java:461) [java] at weblogic.persistence.BasePersistenceUnitInfo.initializeEntityManagerFactory(BasePersistenceUnitInfo.java:454) [...]
これは JBoss Data Grid 7.1 の既知の問題であり、現時点ではこの問題の回避策はありません。
- JDG-885 - Administration console - Indexing tab allows invalid configuration to be set (管理コンソール: インデクシングタブにより無効な設定を指定できる)
インデクシングはインバリデーションキャッシュには無効な設定ですが、管理コンソールを使用すると、この要素を定義することが可能です。
これは JBoss Data Grid 7.1 の既知の問題であり、現時点ではこの問題の回避策はありません。