4 このリリースで修正された不具合および機能強化
このリリースで修正された不具合および機能強化について学習します。
この章の内容は次のとおりです。
Oracle Coherence for Java
Oracle Coherence for Javaコンポーネントに新機能、機能向上およびbug修正が追加されました。
14.1.1.2206の機能強化と修正
- Log4jバージョン1.xのサポートを削除しました。
ServiceLoaderを使用して検出されたCoherenceLifecycleListenerを2回登録できるため、イベントが複数回受信される問題を修正しました。TcpRing.close.keys()が未処理のClosedSelectorExceptionをスローし、Clusterサービスが予期せず終了する可能性がある問題を修正しました。BigDecimalアグリゲータにスケール、末尾のゼロの除去、MathContextおよび丸めモードのサポートを追加しました。- システム・プロパティ
coherence.serializerがデフォルトのシリアライザの指定に使用されても有効にならないCoherence dockerイメージの問題を修正しました。 - Java
ServiceLoaderを使用して、含まれているPOF構成ファイルのリストを実行時に検出できるようにする機能を追加しました。 java -jar coherence.jar --versionを使用してクラスタを起動せずにCoherenceバージョンを表示する機能を追加しました。- JMXクラスタ・メンバー・ロールを引き受けるメンバーでクラスタ・サービス・スレッドがブロックされる可能性がある問題を修正しました。
- 少なくとも1つのエントリが正常に処理された場合に、
invokeAllへのコールが原因でタイプEXECUTEDのエントリ・プロセッサ・イベントを捕捉すると空のエントリ・セット・イベントが渡される問題を修正しました。 - Java環境およびシステム・プロパティの詳細を提供する、
ClusterNodeMBeanのreportEnvironmentMBean操作のレスポンスを返すRESTエンドポイントをClusterMemberResourceに追加しました。 - Coherence
JsonSerializerが単一のバックスラッシュで構成された文字列をシリアライズできなかった問題を修正しました。 - サブスクライバの末尾への移動が実際にはサブスクライバの位置を移動しなかったトピックの問題を修正しました。
- 多くのサブスクライバが作成され、同時にメッセージをポーリングすると、
LockContentionExceptionがスローされる可能性があるNamedTopic Subscriberの問題を修正しました。 CompleteOnEmptyオプションを有効にしてSubscriberが作成された場合、Subscriber.receieve()へのコールから返されたCompletableFutureが空のトピックで完了できないというSubscriberトピックの問題を修正しました。- 操作構成ファイルでカスタム・ネームスペース・ハンドラを使用できるようにしました。
- JVM内に複数のキャッシュ・ファクトリが存在する場合、プロキシ・サービスを作成したキャッシュ・ファクトリとプロキシ・サービスが使用するキャッシュ・ファクトリが異なり、キャッシュの検索でエラーが発生する問題を修正しました。
PartitionedService$PartitionRecoverRequest$Poll.onResponse内の未処理のClassCastExceptionが原因でPartitionedCacheサービスが終了する可能性がある問題を修正しました。- サーバー側で間違ったキャッシュ・ファクトリおよびプロキシが使用されたため、複数のExtendクライアント・セッションが、異なるキャッシュ・ファクトリによって作成されたキャッシュにアクセスできない可能性がある問題を修正しました。
- ごくまれに参加メンバーがサービスに参加できなくなることがあるスレッド・セーフティの問題を修正しました。
- Coherenceメトリック機能を
coherence.jarファイルに移動し、coherence-metrics.jarを使用する必要がなくなり、Coherenceメトリックを有効にする際の追加のサード・パーティ依存関係が必要なくなりました。 - IDを指定しない
PortableType注釈が付いたクラスのシリアライズの問題を修正しました。 - バックアップ・メッセージを送信する際のCPU使用率を削減しました。
- Coherence本番モードのJavaラムダ・シリアライズ・モードのデフォルトを
STATICに変更しました。STATICモードで動作するように環境を変更するか、DYNAMICモードにラムダ・シリアライズを明示的に構成するかを検討するには、分散環境のラムダに関する項を参照してください。 CacheStore.eraseAll()にNamedCacheバルク操作(invokeAll()など)でコールされるパスがないという問題を修正しました。この修正により、NamedCache.invokeAll()がremoveプロセッサで起動された場合、またはNamedCache.keySet().removeAll()またはNamedCache.entrySet().removeAll()がコールされた場合にCacheStore.eraseAll()がコールされます。PortableTypeGeneratorがRawDateおよびRawDateTimeの関連コードを生成しなかった問題を修正しました。- 指定したタイムアウト後に操作を中断できるように、中断可能なロックを使用するようにキャッシュ操作を改善しました。
- フロント・マップを利用するために
NearCache getOrDefaultおよびcomputeIfAbsentを改善しました。 - Coherence JVisualVMプラグインをディストリビューションから削除しました。
https://github.com/oracle/coherence-visualvmの新しいオープン・ソースのVisualVMプラグインを使用します。 - サービスのリストが最後に表示されるように、
DefaultCacheServerの起動メッセージの順序を改善しました。 ValueUpdaterインタフェースがシリアライズ可能ではなく、特定のラムダ・エントリ・プロセッサの実行に失敗する可能性がある問題を修正しました。- 無効化されているセッションで
AbstractHttpSessionModel.setAttribute()などの操作を実行するとNullPointerExceptionがスローされる可能性があるCoherence*Webの問題を修正しました。 CacheStoreからロードされたエントリのentry-eventタイプとsyntheticフラグが一致しない問題を修正しました。reportEnvironment操作をClusterNodeMBeanに追加し、Java環境およびシステム・プロパティの詳細を提供するようにしました。CacheLoaderおよびCacheStoreインタフェースにloadAll()、storeAll()およびeraseAll()のデフォルトの実装を追加しました。- クラスタ全体でのパラレルに加え、メンバー/プロセス内でデータをパラレルにリカバリするよう永続性を改善しました。この機能により、クラスタおよびより重要な関連データをできるだけ迅速に利用できるようになります。
ノート:
リリース14.1.1.0.1から14.1.1.0.10までの修正も含まれています。これらの修正は、14.1.1.2206 Feature PackパッチのREADMEドキュメントで確認できます。14.1.1.0の機能強化と修正
- RESTでの管理で返されるリンクに不適切にURLエンコードされたパス・セパレータがある場合があるという問題を修正しました。
- 非同期キャッシュ・リクエストを内部的に再送信するときに
NullPointerExceptionがスローされる場合があるという問題を修正しました。 - コアJDKクラスの小さいサブセットに制限付きリフレクション・アクセスを追加しました。
- クラスタの再起動後に永続性から索引がリカバリされないという問題を修正しました。
- パフォーマンスが低下したため
report-cache-effectiveness.xmlに対する変更を元に戻しました。 - RESTでの管理によるサービス統計がすべてのサービスでは集計されないという問題を修正しました。
coherence/management/services;field=StatusHAなどの問合せによって、正しい結果が返されるようになりました。 - ブートストラップ/AngularJSおよびjQueryのかわりにOracle JETを使用するように、Coherence RESTの例を更新しました。
- ClassCastExceptionが原因でCoherenceメトリックを初期化できないという問題を修正しました。
- 変更が宛先参加者にフェデレートされる前に期限切れになったキャッシュ・エントリに対する変更が原因で、フェデレーション・メンバーがYIELDING状態で停止することがあるという問題を修正しました。
- Coherenceが有効でない場合でも、WebLogicサーバーで
ConfigurableCacheFactoryが初期化されるという問題を修正しました。 coherence-metrics.jarがクラスパスに追加される際にClusterServiceが初期化されるという問題を修正しました。InvocableMapのgetOrDefaultメソッド(およびその結果としてNamedCache)とAsyncNamedCacheがjava.util.Map規定に準拠していないという問題を修正しました。デフォルト値は、キーがキャッシュに存在しない場合にのみ返される必要があります。しかし、キーが存在し、nullにマップされた場合も、デフォルト値が返されました。AsynNamedCache.getAll()メソッドがcom.tangosol.net.cache.CacheMap規定に準拠しておらず、返されるマップには、キャッシュ内に存在している要求されたキーのみのエントリが含まれるのではなく、要求されたすべてのキーのエントリが含まれているという問題が修正されました。/management/coherence/cluster/members/{memberId}/platform/g1SurvivorSpaceのREST APIでの管理の誤字を修正しました。- この例を開始する前にMBeanの登録が完了しているようにするために、永続性の例の問題を修正しました。
- 同時停止中に
reportLastOwnershipでNullPointerExceptionがスローされることがあるという問題を修正しました。 - フェデレーションの宛先メンバーがキャッシュ・エントリの格納にヒープ・メモリーを非効率的に使用し、その結果、同じ量のキャッシュ・データについて元のメンバーよりもヒープ・サイズが大きくなるという問題を修正しました。
- 登録済
MapListenersを持つReadWriteBackingMapに対してOutOfMemoryErrorがスローされることがあるという問題を修正しました。 EntryProcessor.processAll呼出しで返されるマップでキーとして返された場合に、キーがデシリアライズされるという問題を修正しました。coherence-metrics.jarがクラスパスに追加され、extendedmbeannameプロパティがtrueに設定されている場合に、Coherenceの起動に失敗するという問題を修正しました。- *Extendクライアントに対して
NearCacheのgetAll()が不正な結果を返すことがあるという問題を修正しました。 - 任意のコード実行を可能にするWebLogic T3プロトコルを介したデシリアライズで使用される場合の
LimitFilterの問題を修正しました。 - *Extendクライアントに対して
NearCacheのgetAll()が不正な結果を返すことがあるという問題を修正しました。 ContinuousQueryCacheが切断状態で、再同期に失敗した場合、例外がスローされない場合があるという問題を修正しました。- Apache Mina SSHDを使用するようにSFTPスナップショット・アーカイバの例を更新しました。
- 一部のデフォルトの
InvocableMapメソッドで、必要な場合にCacheStoreからのリードスルーが発生しないという問題を修正しました。 - パーティション転送中に予期しない
EvictionApproverに関連するメッセージのロギングが繰り返されることがあるという問題を修正しました。 - 永続書込みの非同期実行を許可します。
- 12.2.1.0.x、12.2.1.1.x、12.2.1.2.x、または12.2.1.3.xのExtendクライアント
NearCache上のリスナーが一部のイベントを見逃すことがあるという問題を修正しました。 - 無効にされるセッションの比率が高いときに、すでに有効ではないセッションにアクセスするため、
NullPointerExceptionがCoherence*Webによってスローされることがあるという問題を修正しました。 - サービスを再起動するときにイベント・インターセプタがすでに登録されていることを示すログ・メッセージの重大度を下げしました。
- アクティブな永続性対応クラスタのローリング再起動中に
IllegalArgumentException: unknown extent identifierがスローされるためサービスが終了する可能性があるという問題を修正しました。 bdb-store-manager構成要素でinit-paramsとして指定されたBerkeley DB構成が無視されるという問題を修正しました。- 接続の移行がループ内で発生し、解決しないことがあるという問題を修正しました。
- Mavenエンフォーサ
dependencyConvergenceルールによりJacksonモジュールに関する警告が生成されるという問題を修正しました。 ReplicateAll操作中にフェデレーションが高CPU使用率のビジーループになることがあるという問題を修正しました。- クライアント・サービスがストレージ・メンバーの起動前にキャッシュを確保し、再起動前のクラスタの実行中にキャッシュ更新操作が行われなかった場合に、クラスタの再起動時に永続性データの損失が発生するという問題を修正しました。
- MBean属性に対するREST APIでの管理の戻り値の問題を修正し、属性と同じ名前の
ObjectNameキー・プロパティがその値をオーバーライドしないようにしました。 SlabBufferManagerによって処理されないIllegalAccessExceptionがスローされるため、クラスタ・サービスが終了することがあるという問題を修正しました。- Coherence*Webスレッドが
com.tangosol.util.SegmentedConcurrentMap.lockで停止することがあるという問題を修正しました。 - パーティション・キャッシュを破棄および再作成すると誤って例外がスローされるという、まれな問題を修正しました。
- ローリング再起動中にサービス・スレッドがジャーナル輻輳状態でブロックされることがあるという問題を修正しました。
- リープ・タスクが呼び出される前にキュー内で費やした平均時間を示す
AverageReapQueueWaitDurationをSessionReaper統計に追加しました。 NearCacheを使用してHTTPセッションを格納する際に、Coherence*Webセッション・リーパーがバック・マップを操作するように拡張しました。- フェデレーション・インターセプタで合成更新を行えるようにフェデレーションを拡張しました。合成更新の動作は、フェデレーション・イベント・タイプによって異なります。COMMITTING_LOCAL -変更は他のクラスタにフェデレートされず、
CacheStoresは呼び出されません。REPLICATING - 変更合成の設定は許可されません。UnsupportedOperationExceptionがスローされます。COMMITTING_REMOTE - 変更は、合成変更として適用されます。CacheStoresはトリガーされず、フェデレーションはこの宛先クラスタから他のクラスタに変更を転送しません。 - Oracle JETを使用するようにCoherence RESTの例を変更しました。
- フェデレーション内部キャッシュは、永続性スナップショットから除外されました。
- パーティションの分散に予想よりも長い時間がかかり、次のエラー・メッセージが表示されるという問題を修正しました。
Unreconcilable ownership conflict; conceding the ownership
親トピック: このリリースで修正されたバグおよび機能強化