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
のreportEnvironment
MBean操作のレスポンスを返す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
操作をClusterNode
MBeanに追加し、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
親トピック: このリリースで修正されたバグおよび機能強化