6.6.0 リリースノート

Red Hat JBoss Data Grid 6.6

Red Hat JBoss Data Grid 6.6.0 の既知の問題および解決済みの問題

Christian Huffman

Red Hat Engineering Content Services

概要

Red Hat JBoss Data Grid 6.6.0 リリースノートでは、Bugzilla のバグをリストし、説明します。これらのバグは、リリースの既知の問題と解決済みの問題を表します。

第1章 Red Hat JBoss Data Grid 6.6 の紹介

Red Hat JBoss Data Grid 6.6.0 をご使用いただきありがとうございます。JBoss Data Grid の最新バージョンを理解していただくため、本リリースノートは新機能、既知の問題、および解決済みの問題に関する情報を提供します。本書は、Red Hat カスタマーポータルの JBoss Data Grid ドキュメントページ にある他の JBoss Data Grid ドキュメントとともにお使いください。

1.1. Red Hat JBoss Data Grid

Red Hat JBoss Data Grid は、Infinispan オープンソースソフトウェアプロジェクトから構築されたオープンソースでインメモリー型の分散キーバリューデータストアです。クライアントサーバーモードでのデプロイや、Java 仮想マシンへの埋め込みに関係なく、弾力性、高パフォーマンス、高可用性、および線形スケールを実現します。
JBoss Data Grid は Java と Java でないクライアントの両方からアクセスできます。JBoss Data Grid を使用すると、データがノードの管理可能なクラスター全体で分散およびレプリケートされ、任意でディスクに書き込まれます。また、REST、Memcached、および Hot Rod プロトコルを使用すると簡単にデータへアクセスできますが、従来の Java Map API を用いてプロセスで直接アクセスすることも可能です。

1.2. 概要

本書には Red Hat JBoss Data Grid バージョン 6.6.0 の既知の問題および解決済みの問題に関する情報が含まれています。このバージョンをインストールする前に、本書をお読みください。

第2章 新機能および改良された機能

2.1. 継続的クエリー

Red Hat JBoss Data Grid (JDG) 6.6 では、継続的クエリーを指定する機能を導入しています。これにより、結果セットは、キャッシュのエントリーの変更時にクエリーを再実行しなくても、最新の状態に保たれます。この機能は、ライブラリーモードおよびクライアントサーバーモードの両方で利用できます。

2.2. クエリーの集約操作

JDG 6.6 は、sum、average、min/max、count、group-by、および order-by などの集約操作を Query DSL に追加しています。この拡張機能はライブラリーモードとクライアントサーバーモードの両方で使用できます。

2.3. クラスター化されたエクスパレーションイベント

JDG 6.6 は、クラスター化された有効期間に基づくエクスパレーションイベントを表示するサポートを特長としています。これにより、有効期間が経過したエントリーのエクスパレーションでトリガーされるカスタムロジックを実装できます。この機能はライブラリーモードおよびクライアントサーバーモードの両方で利用できます。

2.4. Hot Rod クライアントのサイト間フェイルオーバー

JDG 6.6 では、データセンター間レプリケーションが JDG サーバーで設定されている場合、Java Hot Rod クライアントアプリケーションを、プライマリークラスターが使用不可になる場合にバックアップ JDG クラスターにフェイルオーバーするように設定できます。サイト間の切り替えもプログラムで実行できます。この拡張機能はクライアントサーバーモードでのみ有効です。

第3章 廃止された機能

3.1. Map/Reduce

JDG 6 のネイティブ Map/Reduce API はバージョン 6.6.0 で非推奨になり、バージョン 7.0.0 で削除されることが予想されます。JDG 7.0.0 は、Java 8 Stream API に基づく新規の Distributed Streams 機能で Map/Reduce のユースケースをサポートします。

3.2. RHEL 5 の C++ HotRod クライアント

Red Hat Enterprise Linux (RHEL) 5 の C++ HotRod クライアントは JBoss Data Grid 6.6.0 で非推奨となり、バージョン 7.0.0 で削除されることが予想されます。RHEL 6 および RHEL 7 の C++ HotRod クライアントは引き続き JDG 7.0.0 でサポートされます。

3.3. Spring Framework 3.2

infinispan-spring3 モジュールは、Spring Framework 3.2.x が 2016 年の終わりにライフサイクルの終了日に達し、バージョン 7.0.0 で削除されることが予想されるため、JBoss Data Grid 6.6.0 で非推奨になっています。Spring Framework 4.x との統合は、infinispan-spring4 モジュールについてバージョン 7.0.0 で引き続きサポートされます。

第4章 サポートされる構成

4.1. サポートされる設定

サポートされるハードウェア設定およびソフトウェア設定については、カスタマーポータルの https://access.redhat.com/ja/articles/299923 に記載されている「JBoss Data Grid でサポートされる構成」を参照してください。

第5章 コンポーネントバージョン

5.1. コンポーネントバージョン

Red Hat JBoss Data Grid で使用されるコンポーネントバージョンの完全なリストについては、カスタマーポータルの https://access.redhat.com/ja/articles/757083 を参照してください。

第6章 既知の問題と解決済みの問題

6.1. 既知の問題

BZ-1200822 - JSR-107 Support for clustered caches in HotRod implementation (HotRod 実装のクラスター化キャッシュの JSR-107 サポート)
新しいキャッシュ (サーバー設定ファイルで定義されていないキャッシュ) を JSR-107 の HotRod 実装で作成する場合、キャッシュはいずれか 1 つのサーバーで local として作成されます。この場合は、クラス org.jboss.as.controller.client.ModelControllerClient がクラスパスに指定されている必要があります。
回避策としては、サーバー設定ファイルで定義されたクラスター化キャッシュを使用します。この場合でも、キャッシュに初めてアクセスする前に cacheManager.createCache(cacheName, configuration) を呼び出す必要があります。
BZ-1204813 - JSR-107 Support for cacheResolverFactory annotation property (cacheResolverFactory アノテーションプロパティーの JSR-107 サポート)

JCache アノテーションを使用すると、CacheResolver を生成するために使用されるカスタム CacheResolverFactory を定義できます。このクラスの目的は、アノテートされたメソッドの結果を格納するために使用するキャッシュを決定することです。ただし、現時点では CacheResolver の指定のサポートは提供されていません。

回避策としては、代わりに使用する CDI ManagedCacheResolver を定義します。
BZ-1223290 - JPA Cache Store not working properly on Weblogic (JPA キャッシュストアが Weblogic で正常に動作しない)
以下のエラーメッセージが表示された後に、WebLogic サーバーにデプロイされた JPA キャッシュストアが NullPointerException をスローします。
Entity manager factory name (org.infinispan.persistence.jpa) is already registered
これは JBoss Data Grid 6.6.0 の既知の問題であり、現時点ではこの問題の回避策はありません。
BZ-1158839 - Clustered cache with FileStore (shared=false) is inconsistent after restarting one node if entries are deleted during restart (ノードの再起動中にエントリーが削除される場合に、ノードの再起動後に FileStore (shared=false) を持つクラスター化キャッシュが不整合である)

Red Hat JBoss Data Grid では、ノードの再起動時に、ローカルキャッシュストアからエントリーが自動的に削除されません。結果として、ノードを起動した管理者が、ノードの起動時にキャッシュストアをクリアするようノード設定を手動で変更する必要があります。ノード設定が変更されない場合は、キャッシュが不整合になることがあります (削除されたエントリーがまだ存在することがあります)。

これは JBoss Data Grid 6.6.0 の既知の問題であり、現時点ではこの問題の回避策はありません。
BZ-1114080 - HR client SASL MD5 against LDAP fails (LDAP に対する HR クライアントの SASL MD5 が失敗する)

Red Hat JBoss Data Grid では、サーバーが LDAP に対するパススルー MD5 認証をサポートしません。結果として、Hot Rod クライアントは、LDAP サーバーでサポートされる認証である MD5 を使用して JBoss Data Grid サーバーに対して認証できません。

これは JBoss Data Grid 6.6.0 の既知の問題であり、回避策としてはエンドツーエンド SSL 暗号化を使用して PLAIN 認証を使用します。
BZ-1024373 - Default optimistic locking configuration leads to inconsistency (デフォルトの楽観的ロック設定により不整合が発生する)

Red Hat JBoss Data Grid では、トランザクションキャッシュはデフォルトにより楽観的ロックで設定されています。競合の状態では、replace() の同時呼び出しが true を返すことがあり、予期せずにトランザクションがコミットすることがあります。

replace(key, A, B) および replace(key, A, C) の 2 つの同時実行コマンドは、エントリーを上書きすることがあります。最後に終了したコマンドによって、予期しない値が新しい値に上書きされます。

これは JBoss Data Grid 6.6.0 の既知の問題です。この問題を回避するには、write skew チェックと REPEATABLE_READ 分離レベルを有効にします。これにより、同時実行の replace 操作が想定どおり動作するようになります。
BZ-1293575 - Rolling upgrade fails with keySet larger than 2 GB (keySet が 2 GB を超えるとローリングアップグレードが失敗する)

キーセットのサイズが 2 GB メモリーを超えるとローリングアップグレードが失敗します。キーをソースクラスターの単一バイトアレイにダンプできないので、プロセスは recordKnownGlobalKeyset を呼び出す際に失敗します。

これは JBoss Data Grid 6.6.0 の既知の問題であり、現時点ではこの問題の回避策はありません。
BZ-1300133 - JMX attribute evictions is always zero in Statistics and ClusterCacheStats MBeans (JMX 属性のエビクションは、Statistics および ClusterCacheStats MBeans で常にゼロになる)

Cache MBean の Statistics および ClusterCacheStats コンポーネントの evictions 属性は、一部のエビクション操作が正常に実行されたとしてもゼロを返します。この問題は、実際のエビクションプロセスには影響を与えず、統計のみに影響を与えます。

これは JBoss Data Grid 6.6.0 の既知の問題であり、現時点ではこの問題の回避策はありません。
BZ-1273411 - Cannot access cache with authorization enabled when using REST protocol (REST プロトコルの使用時に有効にされる承認を使用してキャッシュにアクセスできない)

キャッシュに対して承認が設定されると、REST エンドポイント経由のキャッシュへのアクセスによりセキュリティーの例外が発生します。ユーザーは、ユーザーを表すセキュリティーの Subject が適切に定義されないためにキャッシュにアクセスできず、ユーザーにはキャッシュにアクセスする権限がありません。

これは JBoss Data Grid 6.6.0 の既知の問題であり、現時点ではこの問題の回避策はありません。

6.2. 解決済みの問題

BZ-1175272 - CDI fails when both remote and embedded uber-jar are present (CDI はリモートおよび組み込み uber-jar がある場合に失敗する)

Red Hat JBoss Data Grid では、infinispan-remoteinfinispan-embedded の両方の依存関係がクラスパスにある場合、CDI 拡張機能が予想通りに機能しません。これは、Infinispan CDI 拡張機能を両方の jar ファイルでバンドルするためです。結果として、CDI は曖昧な依存関係の例外を出して失敗します。

この問題は、Red Hat JBoss Data Grid 6.6.0 では解決されています。infinispan-embedded および infinispan-remote の内容は再構成され、すべてのユースケースに必要となるのはこれらの jar ファイルの内の 1 つのみになりました。そのため、これらのファイルを一緒に使用する必要はなくなりました。
BZ-1255783 - Server should enable writeSkew for some configurations by default (サーバーは一部の設定を使用する場合に writeSkew をデフォルトで有効にする必要がある)

サーバーの設定により、ユーザーは write skew チェックオプションを指定できませんでした。この動作は、楽観的ロックのキャッシュと共に条件付き操作を使用する場合に障害シナリオで不整合を発生させる可能性があります。

この問題は Red Hat JBoss Data Grid 6.6.0 では解決されています。write skew チェックは楽観的ロック、同期キャッシュモード、および REPEATABLE_READ 分離レベルの組み合わせを使用する際に自動的に有効にされます。
BZ-1276035 - Default cache resources in JBoss ON are not available (JBoss ON のデフォルトキャッシュリソースが使用不可である)

ローカルキャッシュのメトリックスはサーバー内に適切に登録されていませんでした。結果として、ローカルキャッシュリソースは JON UI では利用できませんでした。この問題はローカルキャッシュにのみ関連し、クラスター化キャッシュには影響がありませんでした。

この問題は、Red Hat JBoss Data Grid 6.6.0 では解決されています。
BZ-1284846 - Custom audit logger is ignored in server mode (カスタム監査ロガーはサーバーモードで無視される)

Red Hat JBoss Data Grid では、カスタム監査ロガーオプションはサーバーモードでは無視され、デフォルトの監査ロガーはオンにされませんでした。

この問題は、Red Hat JBoss Data Grid 6.6.0 では解決されています。ユーザーは独自の監査ロガーをセットアップできるようになりました。監査ロガーが指定されていない場合は、デフォルトロガーが使用されます。
BZ-1222995 - JSR-107 - Provide mechanism to handle expiration events (JSR-107 - エクスパレーションイベントを処理するメカニズムを提供)

リモートの JCache 実装でエクスパレーションの設定されたキャッシュを使用する場合、エクスパレーションイベントは、エントリーの挿入がキャッシュ c2 で実行される場合にキャッシュ c1 のクラスター化された環境で処理されませんでした。そのため、キャッシュ c1 で登録されたキャッシュエントリーリスナーはエクスパレーションイベントについて通知されませんでした。

この問題は、Red Hat JBoss Data Grid 6.6.0 では解決されており、キャッシュエントリーリスナーはクラスター化環境でエクスパレーションイベントを問題なく受信できます。
BZ-1274155 - Client keeps using old view after merging of split brains (クライアントはスプリットブレイン後にマージを実行しても古いビューを使用し続ける)

JBoss Data Grid のリモートクライアントサーバーモードで HotRod クライアントを使用する場合、クラスターがネットワークパーティションから自動修復されても古くなったビューが使用される可能性がありました。これにより、複数の異なるビューを受信するクライアントで各種操作が実行される際にデータの不整合が生じる可能性が発生しました。

この問題は、Red Hat JBoss Data Grid 6.6.0 では解決されています。HotRod クライアントは、パーティションが自動修復された後に更新されたビューを正常に受信します。
BZ-1273137 - HotRod Client does not handle failover silent when nodes are stopped if using role based authentication (HotRod クライアントはロールベースの認証を使用する場合にノードが停止すると、フェイルオーバーをサイレントに処理しない)

Red Hat JBoss Data Grid では、ロールベースの認証が有効にされると HotRod クライアントはフェールオーバーしませんでした。代わりに、クライアントが接続されている JDG サーバーがオフラインになると例外をログに記録しました。

この問題は、Red Hat JBoss Data Grid 6.6.0 では解決されています。JDG サーバーがシャットダウンすると、HotRod クライアントはクラスター内の別の JDG サーバーにメッセージを表示せずにフェイルオーバーします。この際、例外はログに記録されず、HotRod クライアントは適切に機能し続けます。
BZ-1272052 - Expiration does not work correct in C/S mode for a cache if putIfAbsent(K,V) is used (putIfAbsent(K,V) が使用される場合にキャッシュのエクスパレーションは C/S モードで正しく機能しない)

キャッシュのエクスパレーション設定は、putIfAbsent 操作が HotRod クライアント経由で呼び出される場合に JBoss Data Grid サーバーで無視されました。これにより、キャッシュ内のエントリーの存在について間違った仮定が生じ、エントリーが期限切れにならなくなる可能性がありました。

この問題は、Red Hat JBoss Data Grid 6.6.0 では解決されています。エントリーは事前に定義された期間の経過後に正常に期限切れになります。
BZ-1267599 - SASL failure on jgroups merge event (jgroups マージイベントにおける SASL 障害)

Red Hat JBoss Data Grid では、ノード認証が有効にされている状態で JDG ノードがクラスターを出ると、クラスターに再度参加することができませんでした。

この問題は、Red Hat JBoss Data Grid 6.6.0 では解決されています。ノード認証がオンになると、JDG ノードは問題なくクラスターに再度参加できます。
BZ-1247380 - HotRod size method doesn't check BULK_READ permission (HotRod size メソッドは BULK_READ パーミッションをチェックしない)

HotRod クライアントを使用して size() が実行されると、MapReduce タスクがキャッシュ内にあるエントリーの合計数を決定するために呼び出されます。これまでは、この操作にはパーミッションは不要でしたが、size() を呼び出すロールに BULK_READ パーミッションがあることを確認するチェックが追加されました。

この問題は、Red Hat JBoss Data Grid 6.6.0 では解決されています。
BZ-1249009 - ClassCastException on transactional cache (トランザクションキャッシュの ClassCastException)

リモートノードにあるエントリーが取得されると、トランザクションキャッシュが ClassCastException を誤ってスローする可能性がありました。

この問題は、Red Hat JBoss Data Grid 6.6.0 では解決されています。

付録A 改訂履歴

改訂履歴
改訂 6.6.0-1Tue 26 Jan 2016Christian Huffman
Spring Framework の非推奨について通知を追加。
改訂 6.6.0-0Thu 7 Jan 2016Christian Huffman
6.6.0 の初回ドラフト。
すべての既知の問題および解決済みの問題を組み込む。
非推奨についての通知を追加。

法律上の通知

Copyright © 2016 Red Hat, Inc.
This document is licensed by Red Hat under the Creative Commons Attribution-ShareAlike 3.0 Unported License. If you distribute this document, or a modified version of it, you must provide attribution to Red Hat, Inc. and provide a link to the original. If the document is modified, all Red Hat trademarks must be removed.
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, 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 Software Collections 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.