4 このリリースで修正された不具合および機能強化

このリリースで修正された不具合および機能強化について学習します。

この章の内容は次のとおりです。

Oracle Coherence for Java

Oracle Coherence for Javaコンポーネントに新機能、機能向上およびbug修正が追加されました。

14.1.2.0.0の機能強化と修正

  • 永続性
    • オンデマンド永続性モードのサービスが、システム・プロパティからのリカバリ・クォーラムによってブロックされる問題を修正しました。
    • 競合するメンテナンス・タスクを延期することで、永続性からのリカバリを改善しました。
    • 大規模なクラスタ(特に共有ディスク・ストレージを使用した永続性)でパーティション・リカバリに長時間かかる問題を修正しました。
    • 永続性スナップショットからのリカバリ後、5分以内にパーティション分散がバランス状態に到達できない問題を修正しました。
    • ブロックされた操作でガーディアン・タイムアウトに達したために、アクティブな永続性を使用するサービスがPersistenceExceptionで終了する問題を修正しました。
    • 永続ストアのオープンを段階的に行いました。基礎となるストア・ファイルは、パーティションごとに1つずつ、データが格納され始めてからのみ作成されます。
    • パーティションの再分散中にデッドロックが発生する永続バックアップの問題を修正しました。
    • 使用中の永続性モードを示す要素をサービス・リストに追加しました。
    • データが削除された後にキャッシュ・アクティビティのない期間が続く場合に対応するために、永続性ファイルのクリーンアップ・プロセスを改善しました。
    • 索引付け、パーティション移行または永続性のために個々のパーティションにアクセスできない場合に報告するログ・メッセージを追加し、IndexingTotalMillis属性をStorageManager MBeanに追加しました。
    • クラスタ全体でのパラレルに加え、メンバー/プロセス内でデータをパラレルにリカバリするよう永続性を改善しました。これにより、クラスタおよびより重要な関連データをできるだけ迅速に利用できるようになります。
    • キャッシュ・マッピングを削除するためのローリング・アップグレードが正しく行われなかった場合に、永続性スナップショットがNullPointerExceptionを生成するまれなケースを修正しました。
    • 永続性モードに間違った値を指定しても暗黙的に無視され、デフォルトで"on-demand"になる問題を修正しました。
    • 2つ以上のノードによって同時に実行された永続性を備えたローリング再起動によってキャッシュ・サービスが孤立状態になり、クラスタの再起動が必要になる問題を修正しました。
    • バックアップ永続性が有効な場合に、複数のローリング再起動後にデータ損失が発生する問題を修正しました。
    • リカバリ・プロトコルのまれで予期しない部分でエラーが確実に捕捉されるように、永続性の問題を修正しました。
    • 永続性スナップショットに、リカバリ・エラーにつながる古いキャッシュ・データが含まれている問題を修正しました。
    • 永続性スナップショットのリカバリ操作が無期限にハングする問題を修正しました。
    • 永続バックアップを使用すると、ロード中およびローリング再起動の実行中に"IllegalArgumentException: 不明なエクステント識別子"エラーが発生する問題を修正しました。
    • アクティブな永続性を持つ分散サービスが、古い永続ストアへの非同期書込みで終了する問題を修正しました。
    • 永続性がローカル・ディスク・ストレージを使用している場合、サービスがパーティションのリカバリに繰り返し失敗する問題を修正しました。
    • サービスがパーティションのリカバリに繰り返し失敗する問題を修正しました。
    • 索引を使用してスナップショットをリカバリすると索引の内容が破損する問題を修正しました。
  • エグゼキュータ・サービス
    • XML構成を介したリモート・エグゼキュータ・サービスのカスタム・エグゼキュータを定義できるようにするサポートを追加しました。
    • RemoteExecutor APIを介して、複数のJVMにわたる高度なタスク・オーケストレーションのサポートを追加しました。
    • 負荷が高い状況でエグゼキュータ・タスクが実行されない問題を修正しました。
    • タスク・エグゼキュータごとのJDK 21のVirtualThreadのサポートをCoherenceエグゼキュータ・サービスに追加しました。
    • エグゼキュータ・サービスCronTaskを更新して、ラップされたタスクが正常に実行されるたびにクローニングするかどうかをユーザーが構成できるようにしました。以前は常にクローンが実行されていたため、タスクが内部状態を維持できなくなっていました。
    • NamedOrchestrationを使用してタスクをエグゼキュータ・サービスにオーケストレーションするときに、追加のフィルタを使用できない問題を修正しました。
    • RemoteExecutorsによってタスクが実行されない問題を修正しました。
    • 複数の長時間実行タスクによって、同時実行エグゼキュータによる他のタスクの実行が妨げられる問題を修正しました。
    • 生成後に再実行すると、エグゼキュータ・サービスがフェイルオーバー・タスクを再作成する問題を修正しました。
    • 生成されたタスクを再実行するときに、エグゼキュータ・サービスが進行中のタスク数を誤って増分する問題を修正しました。
    • POFの使用時に名前付きエグゼキュータを検索するとIllegalArgumentExceptionがスローされる問題を修正しました。
    • coherence.executor.trace.loggingシステム・プロパティがtrueに設定され、coherence.log.levelが7以上でないかぎり、「デバッグ」オプションを使用して送信されたエグゼキュータ・サービス・タスクでタスク実行の詳細が記録されない問題を修正しました。
    • エグゼキュータ・サービスの進行中のカウントがタスクごとに2回増分される問題を修正しました。
    • 動的に登録されたエグゼキュータによって処理中のタスクが完了しないという、エグゼキュータ・サービスのまれな問題を修正しました。
    • 停止中にコンカレント・エグゼキュータ・サービスがサービス・スレッドでensureCacheをコールし、デッドロック警告メッセージが表示される可能性がある問題を修正しました。
    • 登録済エグゼキュータの非同期停止を試行する際に、Coherenceキャッシュ・サーバーが誤って再起動される、まれな問題を修正しました。
    • タスクの完了後にタスク・プロパティが設定されるエグゼキュータ・サービスの問題を修正しました。
    • まれに、複数のメンバーにわたって実行されるタスクが正しく完了しないエグゼキュータ・サービスでの問題を修正しました。
    • 構成サービスの永続性モードに関するシステム・プロパティを、コンカレント・エグゼキュータ・サービスのシステム・プロパティと一貫性を保つように更新しました。
    • 2つのシステム・プロパティcoherence.concurrent.distributed.threads.{min|max}を使用して、コンカレント・キャッシュ・サービスのワーカー・スレッド数を構成する機能を追加しました。同時キャッシュ・サービスでは、グローバル・システム・プロパティcoherence.distributed.threads.{min|max}が指定されていて、同時バージョンが設定されていない場合、このプロパティが使用されます。
  • フェデレーション
    • フェデレーションが、同じキャッシュ変更の再試行を繰り返しリクエストしてスタックする問題を修正しました。
    • 大規模なクラスタのパーティション分散が目的の状態に達するのに長い時間がかかる問題を修正しました。
    • まれに、MISSING_RECORDS_IN_RANGEトレース・メッセージが繰り返されてパーティションがスタックし、フェデレーションを停止してから開始した後に変更が宛先参加者に送信されない問題を修正しました。
    • DestinationMBeanDestinationController状態が正しくない問題を修正しました。
    • フェデレーション接続用にTCP KeepAliveを有効化しました。
    • CoherenceメトリックにフェデレーションReplicateAllPercentCompleteを追加しました。
    • フェデレーションOrigin MBeanにcurrentConnectionCountおよびmapMembers属性を追加して、現在の接続数および接続が確立されるメンバーのリストを提供するようにしました。
    • フェデレーションDestination MBeanを使用してフェデレーション・トレース・ロギングを有効または無効にする機能を追加しました。
    • 複数のFederatedCacheサービスがあり、フェデレーション接続の検索にNameServiceを使用していない環境に対して、(参加者、サービス)のペアごとに個別のAddressProviderを指定するためのサポートを追加しました。
    • まれに、パーティションの変更がフェデレートされなくなる問題を修正しました。
    • 未確認のフェデレーション・ジャーナル・レコードがガベージ・コレクションされる問題を修正しました。
    • フェデレーション・トレース・レベルのログ・メッセージで間違ったTransferEventタイプが報告される問題を修正しました
    • フェデレーションreplicateAll操作のモニタリングおよびエラー・レポートを改善するために、メトリックおよびMBean属性を追加しました。
    • StateCode属性/メトリックをフェデレーションDestination MBeanに追加して、ユーザーが状態名を数値コードにマップできるようにしました。
    • 接続の詳細および接続のライフサイクルの詳細が提供されるように、フェデレーション接続関連の情報レベルのロギングを拡張しました。
    • 大きなエントリをフェデレートするときにIllegalStateExceptionがスローされる問題を修正しました。
    • キャッシュのローカル・ストレージがすでに解放された後、サービスの停止中にフェデレーションがフェデレーテッド変更を適用しようとする問題を修正しました。
    • KeyAssociatorまたはKeyPartitioningStrategyが定義されている場合、フェデレーション・サービスが機能しない問題を修正しました。PartitionAwareKeyタイプのキーを持つキャッシュ・エントリは、フェデレーション・サービスのKeyAssociatorsおよびKeyPartitioningStrategiesをバイパスするようになりました。
    • 受信フェデレーション・メッセージが原因でクラスタ・サービスが停止プロセスを完了できない問題を修正しました。
    • フェデレーションがパーティション移行中にReplicateMessageを準備しているときに、まれにNullPointerExceptionがスローされる問題を修正しました。
    • ERROR状態へのフェデレーションの遷移がクラスタ全体で実行されない問題を修正しました。
    • エラスティック・データに収まらないほど大きい特定のタイプおよびサイズのフェデレーション・ジャーナル・エントリ   が、分割が必要であると識別されない問題を修正しました。
    • DestinationOriginの両方のフェデレーションMBeanにTotalRetryResponses属性を追加して、ReplicateMessagesへの再試行レスポンスの合計数を追跡するようにしました。
    • リモート参加者のエンドポイント・アドレスを作成できなかったことを示すフェデレーション・ログ・メッセージにサービス名を追加しました。
    • フェデレーションの内部メタデータ・キャッシュのデフォルトのカリキュレータをBINARYに変更しました。
    • フェデレーションが、解放または破棄されたキャッシュへの変更の適用に失敗する問題を修正しました。
    • まれに、フェデレーションの内部メタデータ・キャッシュに対する不要で冗長な更新が発生する問題を修正しました。
    • 非常にまれな状況で一部のキャッシュ更新がフェデレートされない問題を修正しました。
    • まれに、フェデレーション宛先のMBean状態属性がnullになる問題を修正しました。
    • ロード・バランサおよびファイアウォールによるアイドル接続の切断を防止するために、フェデレーション接続でハートビート・メッセージを有効化しました。
    • レイテンシが高くなる可能性があるクラスタ間接続を許容するように、フェデレーションのMessageBus ACKタイムアウトを増やしました。
    • まれにEnvelopeAggregatorによってNullPointerExceptionがスローされるフェデレーションの問題を修正しました。
    • フェデレーション接続でMessageBus接続の移行が試行される問題を修正しました。
    • UnsolicitedEntryAddProcessorFederatedCacheInterceptorの間のフェデレーションでデッドロックが発生する問題を修正しました。
  • クラスタリング/サービス
    • 使用されるシリアライザを表示するように、パーティション化、呼出しおよびプロキシのサービスのサービス起動メッセージを拡張しました。
    • 未処理のUnsupportedOperationExceptionが原因で、非常にまれな状況でクラスタ・サービスが停止する問題を修正しました。
    • 同じJVMインスタンス内でCoherenceを複数回起動および停止した結果、リーク・スレッドが発生する問題を修正しました。
    • Coherenceシステム構成のシリアライザをデフォルトのcoherence.serializerプロパティとは別に具体的に設定できない問題を修正しました。
    • 特定のCoherenceバージョンについて、マスター・メンバー・セット内のメンバーの表示バージョンを修正しました。
    • サービス停止中にNullPointerExceptionがスローされる問題を修正しました。
    • パケット配信の失敗による通信の問題の可能性をより明確かつ正確に説明するための警告ログを改善しました。
    • JOININGメンバーのバージョンが、メンバーの実際のCoherenceバージョンではなく、トランスポート・プロトコルの互換性バージョンであることを明確にするために、起動されたクラスタのログ・メッセージを修正しました。
    • パケット配信の失敗による通信の問題の可能性をより明確かつ正確に説明するための警告ログを改善しました。
    • DefaultServiceFailurePolicy.POLICY_EXIT_PROCESSを、プロセスの停止から正常な終了に拡張し、登録済のシャットダウン・リスナーの実行が可能になりました。正常な終了がcoherence.shutdown.timeout期間内に完了しない場合、プロセスは停止します。
    • クラスタに同時に参加するメンバーが多く、システム・リソースに負荷がかかっている場合に、メンバーが相互にブロックしないように、クラスタ・メンバー結合アルゴリズムを改善しました。
    • 有効期限付きのエントリを含むパーティションを転送するときにClassCastExceptionがスローされる問題を修正しました。
    • 複数のメッセージを一度に送信する際のネイティブ・メモリー使用量を削減するために、保留中のメッセージの定期的なフラッシュを実装しました。
    • onBackupListenerRequest()で未処理のNullPointerExceptionが原因でPartitionedCacheが終了する問題を修正しました。
    • サイズ変更タスクの実行中にプールが停止した場合、Coherenceワーカー・スレッド・デーモン・プールがデッドロックする問題を修正しました。
    • UpdateIndexRequestの処理中に未処理のArrayIndexOutOfBoundsExceptionがスローされたために、PartitionedCacheサービスが予期せず終了する問題を修正しました。
    • メンバーがこれらのリクエストのいずれかを送信し、その後突然クラスタを離れると、onBackupListenerAllRequestおよびonBackupListenerRequestNullPointerExceptionがスローされるPartitionedCacheの問題を修正しました。
    • パーティション・リカバリまたはフェイルオーバー中に遅延イベントを処理する際に、パーティション・キャッシュ・サービス・スレッドがガーディアン・タイムアウトにヒットする問題を修正しました。
    • DefaultCacheServer.shutdown()がCoherenceサーバーを正常に停止しない問題を修正しました。
    • スナップショット・リカバリ後にパーティションの再分散がスタックする問題を修正しました。
    • 索引の適用時のキー・セット操作のオーバーヘッドを削減しました
    • 単一パーティションのPartitionSetインスタンスを作成する際のメモリー割当てを削減し、パーティション数が多いキャッシュに対するパラレル問合せのメモリー・プロファイルが改善されました。
    • 破棄されたバックアップ・メッセージのために、PartitionedCacheのPartitionControlが無期限にハングする問題を修正しました。
    • パーティション再分散中にNullPointerExceptionがスローされる問題を修正しました。
    • キャッシュ・リクエストのファイナライズ中にサービが終了する問題を修正しました。
  • キャッシング/キャッシュ・ストア
    • CacheStore.eraseAll()NamedCache一括操作(invokeAll()など)でコールされるパスがない問題を修正しました。この修正により、NamedCache.invokeAll()がremoveプロセッサで起動された場合、またはNamedCache.keySet().removeAll()またはNamedCache.entrySet().removeAll()がコールされた場合にCacheStore.eraseAll()がコールされます。
    • CacheLoaderおよびCacheStoreインタフェースにloadAll()storeAll()およびeraseAll()のデフォルトの実装を追加しました。
    • キャッシュ・ストアでRWBMを使用するキャッシュでgetOrDefault()コールを実行しても、エントリが存在しない場合にコールがキャッシュ・ストアに伝播されない問題を修正しました。
    • near-schemeの許容される子要素としてservice-nameを追加しました
    • InFilter問合せの戻りに時間がかかる問題を修正しました。
    • AsyncNamedCache.putAll()CacheLoader/CacheStore load()/loadAll()コールが発生する問題を修正しました。
    • 再配布が同時に行われると、エントリ・プロセッサの呼出しが再送信されない問題を修正しました。
    • ContinuousQueryCacheNamedCacheDeactivationListener登録を正しく処理しなかった問題を修正しました。ExtendまたはgRPCプロキシ・サーバーでビュー・スキームを使用すると、この問題が発生する可能性があります。
    • エントリに保留中の未処理の書込み遅延操作がある場合に、書込み遅延削除がスタックする問題を修正しました。
    • 既存のキャッシュまたはストレージが無効なノードに対してCacheLifecycleEventsが発行されない問題を修正しました。
    • 増分キャッシュ削除によって、削除されたキャッシュ・キーへの参照が一時的に保持される問題を修正しました。
    • 起動が完了する前にCoherenceインスタンスでstop()メソッドがコールされると、ブートストラップAPIがデッドロックする問題を修正しました。
    • フロント・マップを利用するためにNearCache getOrDefaultおよびcomputeIfAbsentを改善しました。
    • 非常にまれに、サービス構成処理中にClassCastExceptionまたはNullPointerExceptionInvocableMapによってスローされる問題を修正しました。
    • Coherence CEに存在するExtensibleConfigurableCacheFactory.DependenciesHelper newInstance()メソッドが商用Coherenceバージョンに存在しない問題を修正しました。
    • 場合によっては、ArrayFilterを使用したリモート呼出しで過剰なCPUが使用される問題を修正しました。
    • レジストリが初期化されていない場合、CacheMappingRegistry.register()またはSchemeMappingRegistry.register()NullPointerExceptionをスローする問題を修正しました。
    • 保留中のイベントが、クライアントによって承認されない場合に予想より長い時間バックアップ・メンバーに残る問題を修正しました。
    • InFilterのパフォーマンスの低下を修正しました。
    • 参照キャッシュとのCQC同期で、初期化が変更と同時に実行されると更新が失われる問題を修正しました。
    • ブートストラップAPIを使用している際に、正常な停止中にサービスが再起動する問題を修正しました。
    • gRPCクライアントからのput、getおよびremove操作、またはAsyncNamedMapまたはAsyncNamedCacheの使用時にキャッシュ・ストアがトリガーされない問題を修正しました。
    • フィルタ・ベースのコール(entrySet、フィルタを指定したinvokeAll、または集計)で索引を使用すると、問合せ処理の拡張によってパフォーマンスが低下する問題を修正しました。
    • バック・マップが切り捨てられ、ニア・キャッシュでPRESENT無効化戦略を使用しているときに、ニア・キャッシュ・キー・ロックが正しく解放されない問題を修正しました。監視可能な障害は、解放されないニア・キャッシュ・キー・ロックを待機してスレッドがハングしている状態です。
    • CompactSerializationCache操作中にBinaryRadixTreeノードを横断してNullPointerExceptionがスローされる問題を修正しました。
    • 新しいValueExtractorファクトリ・メソッドをcom.tangosol.util.Extractorsクラスに追加しました。
    • ExtractorsProcessorsおよびAggregatorsクラスのファクトリ・メソッドの戻り型を絞り込み、作成されたインスタンスのキャストをキャストする必要がなくなりました。
    • UniversalExtractorにJavaレコードのサポートを追加しました。
    • Coherence共通プールを使用するかわりに、起動されたFutureを完了するために使用するカスタム・エグゼキュータをAsyncNamedCacheに渡す機能を追加しました。これは、非同期Futureの完了順序を厳密に適用する必要がある場合に役立ちます。
    • サービス・スレッドではなくデーモン・プールを使用して非同期APIレスポンスを完了するように、AsynchronousAgentを拡張しました。
    • パーティション索引を活用することで、フィルタ・ベースのアグリゲータのパフォーマンスが向上しました。
    • コンポジット・フィルタのフィルタ順序変更ロジックを改善しました。
    • 問合せ、集計および一括入力プロセッサ・リクエストをメンバーではなくパーティションで分割することで、並列性を改善しました。
    • CacheEvent.isExpired()を追加しました。ENTRY_DELETEDでは、期限切れによりエントリが削除された場合、isExpired()はtrueを返します。
    • キャッシュ・ストアerase()およびeraseAll()操作のライトビハインド・サポートを追加しました。
    • キー・エクストラクタで条件付き索引を使用すると、エントリ値が変更されたときに対応する索引が更新されず、問合せで誤った結果が返される問題を修正しました。
    • パーティション化された問合せの実行に以前よりも時間がかかる問題を修正しました。この修正により、パーティション間で問合せを並列実行できるため、実行速度が以前と同じか、それより高速になりました。
    • 負荷が高い同時更新で、指定されたフィルタと一致しないエントリが問合せ結果に含まれる問題を修正しました。
    • AsyncNamedCache.put()のコールでキャッシュに構成された有効期限値が無視され、エントリが期限切れにならない問題を修正しました。
    • 多数のキャッシュ・エントリがほぼ同時に期限切れになると発生するパフォーマンスの問題を修正しました。
    • フィルタを使用してAsyncNamedMap値またはentrySetメソッドをコールすると、すべての値またはエントリが返されない問題を修正しました。
    • DistinctValues.accumulate()onAggregateFilterRequest()NotSerializableExceptionをスローする問題を修正しました。
    • 索引コンテンツが必要以上に格納されないように、パーティション化索引の一部として索引サポートを拡張しました。
    • NearCacheが、終了したスレッドによって保持されているキャッシュ・キーのロックを検出および解放できず、KEYの状態が破損していることが検出されたことを示すログ・メッセージが表示される問題を修正しました。
    • Caffeineをニア・キャッシュ・フロントマップとして構成または使用できない問題を修正しました。
    • invokeAllで発生したEntryProcessorEvent.EXECUTEDイベントに空のエントリ・セットが誤って含まれる問題を修正しました。
    • ReadWriteBackingMapの期限切れのエントリが削除されない問題を修正しました。
    • フェイルオーバー中に索引再構築スレッドでNullPointerExceptionが発生し、索引準備の待機中にワーカー・スレッドがハングする問題を修正しました。
    • 内部ForkJoinPoolを使用して、すべての所有パーティションでパラレルに問合せを実行するようになりました。
    • Coherenceオペレーション構成ファイルおよびキャッシュ構成ファイルを使用して構成できるように、Coherence gRPCプロキシおよびクライアントを拡張しました。Coherenceの残りの部分で使用されているものと同じソケット・プロバイダ・アプローチを使用して、gRPCセキュア・ソケットを構成するためのサポートを追加しました。
  • セキュリティ
    • AccessControllerでキーストア・パスワードのパスワード・プロバイダを使用するためのサポートを追加しました。
    • キーストアのかわりにTLS/SSL秘密キーおよび証明書ファイルを使用し、ファイル・システムではなくカスタム・ソースからキーストア、秘密キーおよび証明書をロードできるようにCoherenceソケット・プロバイダを構成する機能を追加しました。
    • セキュリティ・フレームワークが有効な場合に、サービスの再起動によって、セキュリティ・トークンが使用できないというメッセージとともにSecurityExceptionがスローされる問題を修正しました。
    • Coherenceによって作成されたすべてのネットワーク・ソケットに適用されるグローバル・ソケット・プロバイダを構成するオプションを追加しました。これにより、Coherenceクラスタ通信、拡張プロキシおよびクライアント通信、gRPCチャネルなどに適用されるTLS設定を1か所で構成できます。
    • Java 17以上でTLSが有効なCoherenceを使用している場合、ピア証明書が欠落しているためにホスト名検証が失敗する問題を修正しました。
    • TLS 1.3接続経由のトラフィックがハングする問題を修正しました。
    • SSLソケット・プロバイダにクライアント認証モードを構成できるようにするための拡張機能を追加しました。以前は、信頼ストアが構成されている場合、この動作は「必須」に固定されていました。この拡張機能により、モードを「なし」、「必要」または「必須」にすることができます。
    • ワイルドカードのサブジェクト代替名を検証し、localhostの照合をデフォルトで無効にできるように、デフォルトのSSL HostnameVerifierを拡張しました。localhostの照合は、システム・プロパティを介して有効にできます。
  • CohQL
    • JLineコンソール入力Javaライブラリは、Coherenceインストールの一部として含まれなくなりました。CohQLまたはCoherenceコンソールのコマンドライン・ツールを使用する際にJLine機能を使用するには、JLineライブラリをダウンロードしてツール・クラスパスに含めます。
    • CohQL文を出力にエコーする必要があることを示す新しいコマンドライン引数"-v"を追加して、query.shの回帰を修正しました。また、EOFおよびユーザーの中断に対する未処理のJLine例外も修正しました。
    • 正しいCohQL比較式で、式の両側での識別子の使用はサポートされていないという例外が発生する問題を修正しました。
    • jline.jarを使用する際に、履歴ファイルがCohQL問合せコンソールおよびCoherenceコンソールのディスクに保存されない問題を修正しました。
    • 問合せ文の最初の部分で複合条件をカッコとともに使用すると、CohQLが誤った結果を返す問題を修正しました。
    • トレースがオンのときに例外コール・スタックを出力するように、CohQLを拡張しました。
    • 2つの識別子を比較するときにStackOverflowErrorがスローされる問題を修正しました。
    • バックアップおよびリストア・コマンドで、パススルー・バイナリ・シリアライザではなくデフォルトのJavaシリアライザが使用される問題を修正しました。
    • QueryHelperおよびFilterBuilderで、基礎となるパーサー・トークン表が破損する可能性があるスレッド安全性の問題を修正しました。
    • CohQLのQueryHelperおよびFilterBuilderで、基礎となるパーサー・トークン表が破損する可能性があるスレッド安全性の問題を修正しました。
  • エラスティック・データ
    • 削除するエントリが多数ある場合、フェデレーションJournalRecordキャッシュ・ガベージ・コレクションが非常に遅くなる問題を修正しました。
    • エラスティック・データを含む索引を使用する問合せの実行が、想定より遅くなる問題を修正しました。
    • ハングを防止し、JournalCacheのスレッド使用率を向上させるため、同期されたブロックの使用をロックに置き換えました。
  • Coherence*Web
    • Webコンテナ(Wildfly/Undertow Webコンテナ、Jetty 9.4およびTomcat 9)でCoherence*Webを実行するためのサポートおよび動作保証を追加しました。
    • サーブレット仕様3.1のCoherence*Webのサポートが動作保証されました。
    • セッションの所有権を解放するときに、Coherence*Webスレッドがロックの取得を待機してハングする問題を修正しました。
    • セッション・ログに「セッション・リーピング・サイクル秒数」、「セッション・ロガー・レベル」、「セッション・ログ無効化の例外」および「構成の一貫性が必要」のセッション情報を追加しました。
    • セッションのオーバーフロー属性が保存されないCoherence*Webでの問題を修正しました。
    • "web-sessions"レポートを削除しました。キャッシュの有効性レポートでも同じ情報を使用できます。
    • Coherence*Webで、MBean名の無効な文字を禁止する問題を修正しました。
    • セッションの無効化によって、使用可能なセッション・モデルがないエラーが発生し、スレッドがスタックする問題を修正しました。
    • HTTPセッションのリーピングがcoherence-reaperdaemon-cycle-secondsより時間がかかる場合の警告レベルのログ・メッセージを追加しました。
    • 「大きな値の分割」機能がない、12.2.1.4.16より低いパッチ・レベルのメンバーがクラスタ内に存在する場合に、不正なセッション・データが返されるCoherence*Webの問題を修正しました。
    • Coherence*Webで、セッションが無効化されて新しいセッションに置き換えられたときに、無効化されたセッションのロックが解放されないため、ロックを待機している他のスレッドが無期限にスタックする問題を修正しました。
    • coherence.session.log.invalidation.exceptionsがfalseに設定されている場合、リーパーは無効化の例外を記録したままになる問題を修正しました。
    • セッション・リーパーがリープ中のセッションのロックを解放しないために多くのスレッドがスタックしているCoherence*Webの問題を修正しました。
    • Coherence*Webの使用時にServletRequestEventsがディスパッチされない問題を修正しました。
    • Coherence*Webインストーラの問題を修正し、インストゥルメントをスキップして、署名済のネストされたjarファイルの整合性を保持するようにしました。
    • Coherence*Webでサーブレットがcom.tangosol.net.RequestTimeoutExceptionで失敗する問題を修正しました。スタック・スレッドにつながるクラスタ所有権の取得に失敗しました。
    • リーパー・スレッドによってロックが解放されないために、アプリケーション・スレッドがSegmentedConcurrentMapのロックを待機してブロックされてしまうCoherence*Webの問題を修正しました。
    • com.tangosol.util.SegmentedConcurrentMap$LockableEntry.waitForNotifyでスレッドが無期限にブロックされるCoherence*Webの問題を修正しました。
    • contextDestroyedイベントの処理時にCoherence*Webがキャッシュ参照をクリーン・アップしないため、warスコープのデプロイメントが使用された場合にjava.lang.IllegalStateException: SafeNamedCacheが明示的に破棄されたという例外がスローされる問題を修正しました。
    • レプリケート・キャッシュを使用しないようにCoherence*Webを変更しました。
    • セッション・データの格納にエラスティック・データを使用可能または使用不可にするためのCoherence*Webコンテキスト・パラメータ"coherence-use-elastic-data"を追加しました。デフォルト設定はtrueです。
    • エラスティック・データの最大エントリ・サイズ制限を超えるデータを含むセッションをサポートするようにCoherence*Webを拡張しました。
    • Fixed a memory leak in Coherence*Web SplitHttpSessionCollection.
  • シリアル化/POF
    • POFでjava.io.StreamCorruptedException:不明なユーザー・タイプ:5になる問題を修正しました。
    • JSON値の書込み時に、すべての"\uXXXX"文字シーケンス(例: "\usr\bin")がUnicodeエスケープ・シーケンスとみなされる問題を修正しました。
    • ライトビハインド時に入力値の不要なデシリアライズが発生する問題を修正しました。
    • JSONを使用してScriptAggregatorScriptFilterおよびScriptProcessorをシリアライズできない問題を修正しました。
    • 4バイトのUTF-8シーケンスのデシリアライズが失敗する問題を修正しました。
    • 起動時にCoherence JSONシリアライザの自動検出がJava 17以降で失敗する問題を修正しました。
    • PortableTypeGenerator"public Evolvable getEvolvable(int nTypeId)"に対して正しくない実装を生成する問題を修正しました。
    • Coherenceシステム構成のシリアライザをデフォルトのcoherence.serializerプロパティとは別に具体的に設定できない問題を修正しました。
    • POF注釈付きフィールドがfinalとして宣言されたときにエラーを報告するPortableTypeGeneratorを改善しました。
    • Big{Decimal,Integer}のJSONシリアライズを改善したため、これらの型はgRPCクライアントでより適切に処理されるようになりました。
    • CoherenceがHelidonと連携できるように、Helidon JEP-290シリアライズ構成ファイルを追加しました。
    • <cluster-config/lambdas-serialization>要素を"static"または"dynamic"に設定することで、オペレーション構成でのラムダ・シリアライズ・モードの構成を有効化しました。
    • ビルド時にクラスをインストゥルメントするPOFシリアライズ用の新しいGradleプラグインを追加しました(Coherence POF Mavenプラグインと同様)。
    • 可能なかぎり不要なシリアライズまたはデシリアライズを排除することで、AsyncNamedMapおよびAsyncNamedCacheのいくつかのメソッドの効率を改善しました。
    • 正しくないClassLoaderが使用されているため、Optional<Object>のデシリアライズが"java.lang.ClassNotFoundException"で失敗する問題を修正しました。
    • JDK 21でラムダをシリアライズ/デシリアライズできない問題を修正しました。
    • NameService TcpAcceptor処理におけるアイデンティティ・トークンのデシリアライズを削除しました。
    • プリミティブ配列の高パフォーマンス(raw)シリアライズのサポートを追加しました。
    • POFシリアライズの使用時に、coherence-jsonモジュールのPOF構成ファイルが自動検出されるようになりました。
    • ポータブル・タイプとしてのJavaレコードの使用のサポートを追加しました。
    • ポータブル・タイプでのfinalフィールドの使用のサポートを追加しました。
    • Coherence PortableTypesをインストゥルメントするためのmavenおよびgradleプラグインをインストーラに追加しました。
    • デシリアライズされるフィールドのIDが表示されるように、POFデシリアライズ・エラー・メッセージを拡張しました。
    • 非常に大きいバイト配列(100MBを超える)のデシリアライズのパフォーマンスが向上しました。
    • 分散キャッシュに対してコールされたときに戻り値の即時デシリアライズを排除するために、Filter引数を受け入れるQueryMap.values()メソッドを修正しました。これにより、返された結果を遅延してデシリアライズする既存のkeySetおよびentrySetの実装と一致するようになります。
    • 配列オフセットと長さを引数として取るPofWriter.writeByteArrayオーバーロードを追加しました。
    • POFを使用したProtobufメッセージのシリアライズのサポートを追加しました。
    • クラス注釈@ExternalizableType(serializer=ImplOfExternalizableLiteSerializer.class)を使用して、ExternalizableLiteクラスのExternalizableLiteSerializerを指定できるように拡張機能を追加しました。
    • Java ServiceLoaderを使用して、含まれているPOF構成ファイルのリストを実行時に検出できるようにする機能を追加しました
    • PofExtractorExtractorComparatorを使用できない問題を修正しました。
    • 12.2.1.4.5および14.1.1.0.1で導入されたJavaシリアライズにより、PortableExceptionが以前のCoherenceバージョンと互換性がなくなってしまう回帰を修正しました。POFを使用するアプリケーションは、この変更またはこのバグの影響を受けません。
  • 構成
    • ネストされた定義およびシェルの部分文字列拡張を可能にする構成システム・プロパティ・マクロの機能拡張を追加しました。
    • キーと値の両方(デフォルト)またはキーのみをキャッシュするようにview-schemeを構成できるキャッシュ構成要素cache-valuesを追加しました。
    • オペレーション構成ファイルでカスタム・ネームスペース・ハンドラを使用できるようにします。
    • 検出アドレスを指定するためのシステム・プロパティcoherence.discovery.addressを追加しました。
    • backing-map-scheme要素内でカスタム・ネームスペース・ハンドラを使用できない問題を修正しました。
    • JDK22以上を使用して-Djdk.xml.jdkcatalog.resolve=strictを設定する場合、coherence-operational-config.xsdでXSDスキーマ検証が失敗する問題を修正しました。
    • クラスタ・サービスでcoherence.service.startup.timeoutおよびcoherence.service.clusterservice.startup.timeoutシステム・プロパティが適用されない問題を修正しました。
    • <cdi:bean/>コンテンツ式にマクロ・パラメータ展開のサポートを追加しました。
    • デバッグ・システム・プロパティcoherence.debug.operational.configを追加しました。trueに設定すると、Coherenceオペレーション構成をロードするスレッドのスタックがCoherenceによって標準出力にダンプされます。
    • coherence.service.partitionscoherence.service.<distributed-service>.partitionsの2つのシステム・プロパティを使用して分散サービス・パーティション数を構成する機能を追加しました。
    • デフォルトのキャッシュ構成の使用時にcoherence.distributed.partitioncountシステム・プロパティが適用されない問題を修正しました。
    • より小さい値で構成された非推奨のスレッド数構成を使用してサービスにプロパティが適用されている場合に、coherence.distributed.threads.minシステム・プロパティを設定すると、誤ってAssertionExceptionが発生する問題を修正しました。
    • <view-scheme><reconnect-interval>が時間単位(30sなど)の形式である場合、Coherenceがキャッシュ構成ファイルのロードに失敗する問題を修正しました。
    • multicast-listenerのインタフェースが正しく指定されていない場合にNullPointerExceptionがスローされる問題を修正しました。
    • cluster-quorum-policy属性をsystem-propertyでオーバーライドできない問題を修正しました。
    • 許可される値が"allow"または"default"の"action"要素を導入することで、ホスト名検証の構成を改善しました。詳細は、XSDを参照してください。
    • Coherenceオペレーション構成用のスキーマ内の様々な管理対象ノード・オプションの説明を改善し、開発者が各モードの意味を簡単に理解できるようになりました。
    • リフレクションを介してアクセス可能なクラスの許可リストまたは拒否リスト(あるいはその両方)の構成を有効にするシステム・プロパティcoherence.reflect.filterを追加しました。
    • セキュアな静的ラムダ間での構成を可能にし、動的ラムダの使用をより便利にするセキュリティ強化を追加しました。
    • XML外部エンティティ・インジェクション(XXE)を防ぐために外部エンティティへのアクセスを無効化するようにXMLプロセッサを構成しました。
    • ガーディアン・サービス・スレッド・ダンプがサーバー・ログに表示される頻度を減らすために、期間に設定できるシステム・プロパティcoherence.guardian.log.threaddump.intervalのサポートを追加しました。
    • near-schemeの許容される子要素としてservice-nameを追加しました。
    • クラスタ・レベルでcoherence.modeが事実上無視される問題を修正しました。
    • Coherenceロガーがレベル6以上に設定されている場合にCoherenceロギング構成を出力するメッセージをstdoutに追加しました。
    • BinaryMemoryCalculatorが索引サイズを計算できない場合に表示されるメッセージの頻度を減らしました(60秒ごとに1回)。
    • パケット配信"<resend-milliseconds>"および"<timeout-milliseconds>"要素の値を設定するためのシステム・プロパティ"coherence.publisher.resend.interval"および"coherence.publisher.delivery.timeout"を追加しました。
    • クラスタ結合タイムアウトの制御に使用できるシステム・プロパティcoherence.join.timeoutを追加しました。
    • 動的スレッド・プールのサイズ設定に関連するログ・メッセージの表示を制御するために、システム・プロパティcoherence.daemonpool.debug (デフォルトはfalse)を追加しました。これらのメッセージを表示するには、このプロパティをtrueに設定します。
  • トピック
    • 離脱したクラスタ・メンバーによって作成されたトピック・グループ・サブスクライバの削除をより積極的に実行することで改善し、残りのサブスクライバへのチャネルの再割当てが高速化されました。
    • チャネル内のサブスクライバ・グループで最後にポーリングされた位置が、サブスクライバ・フェイルオーバー時に適切にロールバックされず、一部のメッセージが受信されない問題を修正しました。
    • トピックのチャネル数を増やすとUnsupportedOperationExceptionが発生する問題を修正しました。
    • チャネルの前の所有者が離脱した後、トピック・サブスクライバによって、新しく割り当てられたチャネルからのメッセージの受信が停止される問題を修正しました。
    • パブリッシャがチャネル数を増やすと、新しいチャネルがトピック・サブスクライバに割り当てられない問題を修正しました。これは、アクティブ永続性を使用してクラスタの再起動を実行する場合に特に当てはまります。
    • トピック・サブスクライバのチャネル割当てが、メンバーを所有するサブスクライバがクラスタから離脱したときにクリーンアップされないことがある問題を修正しました。
    • サブスクライバから返されたFutureを取り消す際にPagedTopicがメッセージを失う可能性がある競合状態を修正しました。
    • 既存のトピックのチャネル数を変更できるようにトピックを拡張しました。
    • NamedTopicサブスクライバによって返されたCompletableFutureを取り消すと、サブスクライバがそれ以上メッセージを受信できなくなる問題を修正しました。取り消されたFutureまたは完了したFutureが正しく処理されるようになりました。
    • 必要に応じてtrueを返すように、NamedTopicメソッドisDestroyedおよびisReleasedを修正しました。
    • 所有しているメンバーがクラスタから離脱するときにトピック・サブスクライバがクリーンアップに失敗する問題を修正しました。これは、単一のコアでCoherenceを実行する場合に特に関連しています。
    • コンカレント・エグゼキュータ・サービスRecordingSubscriberにおける競合状態を修正しました。これにより、RecordingSubscriberで不正な状態が報告される可能性がありました。
    • トピックMBeanを登録する際に発生する可能性のあるNullPointerExceptionを修正しました
    • トピック・サブスクライバが以前にコミットされたメッセージを再配信する問題を修正しました。
    • 処理中の受信操作があるトピック・サブスクライバでシーク操作を呼び出すときに発生する可能性がある競合状態を修正しました。
    • トピック・サブスクライバが切断され、再接続しようとするとハングする問題を修正しました。この問題の修正により、トピックを使用する場合、14.1.1-2206-4より前のバージョンからのローリング・アップグレードを実行できなくなります。ローリング・アップグレードが必要な場合は、2段階で実行する必要があります。まずバージョン14.1.1-2206-4以上、次に14.1.1-2206-9にアップグレードします。このローリング・アップグレードの制限は、トピックを使用しているアプリケーションにのみ影響します。
  • 管理/メトリック
    • RESTを介した管理におけるフェデレーションのリセット統計URLを修正しました。
    • オペレーション・オーバーライド構成でcoherence.management-config.domain-name-suffixを設定して、Coherence MBeanのドメイン名接尾辞を指定する機能を追加しました。
    • メトリック登録が失敗した場合に、追加のロギングを追加しました。
    • 接続再試行タイムアウトに達したためにフェデレーションが停止したときのエラー・レベルのログ・メッセージを追加しました
    • Grid Editionでのみ使用可能な特定の機能をコールするように、REST Swaggerを介した管理のドキュメントを更新しました。
    • ログ・レベル6以上のBAD_REQUEST (ステータス400)のREST HTTPレスポンスで処理された例外を記録することで、開発時のデバッグを支援するために、Coherence RESTサーバー・ロギングを拡張しました。
    • SLF4J以外のサポートされているすべての宛先に変更を適用するように、ClusterNodeMBean.setLoggingLevel()を改善しました。これは、SLF4Jがこの機能をサポートしていないためです。
    • Java環境およびシステム・プロパティの詳細を提供する、ClusterNodeMBeanreportEnvironment MBean操作のレスポンスを返すRESTエンドポイントを ClusterMemberResourceに追加しました。
    • Micrometerの使用時に一部のキャッシュ・メトリックが登録できない問題を修正しました。
    • TransactionManager MBeanの詳細を表示する新しいレポート(report-transaction.xml)を追加しました。
    • メトリックのサポートのために、ServiceMBean属性StatusHACodeを追加しました。
    • ローリング再デプロイのStatusHAのモニター方法を示す例を追加しました
    • キャッシュMBean問合せの結果にサービス名およびnodeIdを追加しました。また、キャッシュMBean問合せから、MBeanタイプ(type)、クラスタ名(cluster)、メンバー名(member)およびキャッシュ層(tier)の属性を取得できるようになりました。
    • reportEnvironment操作をClusterNode MBeanに追加し、Java環境およびシステム・プロパティの詳細を提供するようにしました。
    • Coherenceクラスタ構成を取得するために、RESTエンドポイントを介したMBean操作および管理を追加しました。
    • クラスタ内に他の管理ノードが存在しているときに、ノードが動的管理のシニアになると、デッドロックが発生する問題を修正しました。
    • 非推奨のgRPCセッション・クラスをcoherence-java-clientモジュールから削除しました。
    • すべてのMBean操作で読取り専用管理モードが適用されない問題を修正しました。
    • 問合せ計算中にクラスタ・メンバーが停止した場合、大規模なクラスタのすべてのメンバーに対する問合せがInstanceNotFoundExceptionで失敗するRESTおよびJMXを介した管理の問題を修正しました。
    • Prometheusテキスト形式を使用する際に、Coherenceメトリック・エンドポイントから取得されたメトリック・メタデータ値では、メトリック・タイプ名に余分なスペースが含まれるという問題を修正しました。
    • ローリング・アップグレードを実行するとNullPointerExceptionが発生し、キャッシュ・サービスが再起動する問題を修正しました。
    • バージョン互換性の問題により、ビュー・キャッシュを使用しているときに、ローリング・アップグレードができない場合がある問題を修正しました。
    • Coherenceの累積OPatchパッチは、以前に適用されたCoherence累積パッチ(ある場合)よりも優先されるようになりました。以前のパッチのロールバックは不要になる可能性があります。
    • RESTを介した管理用のmanagement-swagger.jsonforceRecovery操作が存在しない問題を修正しました。
    • すべてのサービスが開始する前にCoherenceヘルスAPIが準備完了を報告する問題を修正しました。
    • NodeId列がビュー・レポートにない問題を修正しました。
    • クラスタ内のビュー・キャッシュを取得するためのRESTエンドポイントを介した管理を追加しました。
    • ポート0 (エフェメラル)にバインドするように構成されたHTTPリスナーの実際のリスニング・ポートが表示されない問題を修正しました。
    • 管理のシニアがクラスタを離れると、登録されたヘルス・チェックが新しい管理のシニアで消える問題を修正しました。
    • 一部のレポータ・グループ・ファイルでcoherence.reporter.frequencyシステム・プロパティが適用されない問題を修正しました。
    • サービス・リクエスト・タイムアウトのかわりに小さいタイムアウト値を使用する操作が原因で、MBean属性の設定時にRequestTimeoutExceptionがスローされる問題を修正しました。
    • ServiceMBean.TaskMaxBacklogが最大タスク・バックログに更新されない問題を修正しました。
    • ConnectionManager MBean resetStatistics操作がREST APIおよびSwaggerドキュメントにない問題を修正しました。
    • いくつかのヘルス・チェックのMBean属性の説明を修正しました。
    • Coherenceメンバーの停止時または予期しない再起動時にMetricsHttpProxyサービスの再起動に失敗する問題を修正しました。
    • JMXクラスタ・メンバー・ロールを引き受けるメンバーでクラスタ・サービス・スレッドがブロックされる可能性がある問題を修正しました。
    • Coherence Reporterプロキシ・レポートで、クラスタへの参加と離脱のメンバーが考慮されない問題を修正しました。
    • シェーディングされたMVEL2ライブラリをcoherence-rest.jarから削除し、Coherence REST問合せ処理用に組込みCoherenceクラスを使用するように切り替えました。MVELは、ライブラリ(mvel2.jar)をクラスパスに追加することで、必要に応じて引き続き問合せ処理に使用できます。
    • ObjectNameに同じtypeフィールドを持つ非Coherence MBeanが存在する場合に、RESTを介した管理の問合せが失敗する問題を修正しました(例: "type=Service"の場合)。
    • ローリング・アップグレード中にConnector$RegisterNullPointerExceptionをスローする問題を修正しました。
    • ListenerKeyCountListenerFilterCountおよびListenerRegistrationCountreport-cache-storage.xmlに追加しました。
    • coherence.jarの前に別のmanagement-http-config.xmlファイルをクラスパスに配置することで、ファイルをオーバーライドできるように、management-http-config.xmlのロード・プロセスを改善しました。
    • クラスタ・メンバーによってロードされたmanagement-config.xmlファイルの場所を報告するためのロギングを改善しました
    • キャッシュのキャッシュ・パーティション・サイズを報告するために、reportPartitionStats操作をStorageManager MBeanに追加しました。
    • ClearCount属性をStorageManager MBeanに追加し、キャッシュでclear()がコールされた回数を示すようにしました。
    • 分散キャッシュの合計サイズを取得するためのStorageManager MBeanに対するsize()操作を追加しました。
    • Jconsoleを使用した接続に使用するCoherence JMXサーバーURLを出力するUNIXおよびWindowsスクリプトjmxserviceurl.[sh|cmd]を追加しました。
    • 追加のJMX属性は、SimpleStrategyMBeanのメトリックとして公開されるようになりました。
    • TransportStatus属性に常に信頼できるトランスポート情報が含まれるように、Coherence NodeおよびService MBeanを拡張しました。
    • クラスタ、サービスおよびメンバーに関する詳細を取得するために、ClusterServiceおよびClusterNode MBeanにgetClusterDescriptiongetServiceDescriptionおよびgetNodeDescription操作を追加しました。
    • clearCacheおよびtruncateCache操作をStorageManager MBeanに追加しました
    • デフォルト(非冗長)のIndexInfo文字列表現からコンテンツ属性を削除することで、索引パーティションにわたる一意キーのコストのかかる収集によって発生するStorageManager MBean移入中のパフォーマンス低下を修正しました。
    • RESTを介した管理で、空のコレクションではなく空のレスポンスが返される問題を修正しました。
    • 管理対象CoherenceサーバーのCoherenceロギング・メッセージの文字制限をユーザーが設定できるように、CoherenceLoggingParamsBeanCharacterLimit属性を追加しました。
    • Coherenceでサポートされている非推奨のHTTPサーバーcoherence-http-grizzlycoherence-http-jettyおよびcoherence-http-simpleを削除しました。
    • メモリー情報をメガバイト単位で表示するために、メモリー・ステータス・レポートに列を追加しました。さらに、すべてのレポートでレポート値の表示に指数表記法を使用しないようにしました。
    • Microprofile Health APIとの統合を追加し、サーバーCoherenceのヘルス・チェックがMP Healthエンドポイントを介して行われるようにしました。
    • ロード・バランサがプロキシとクライアントの間にあるときにクライアントへの接続を識別するために、クライアントから始まる新しい属性をConnectionMBeanに追加しました。これらの属性は、Coherence.Connnection.*メトリック値のメトリック・タグにマップされます。
    • Java Enterprise Performance Packで実行中にJFR関連のMBean操作を呼び出すと、java.lang.IllegalArgumentException: Operation vmUnlockCommercialFeatures()を呼び出すことができないというエラーがスローされる問題を修正しました。
    • 単位係数が1より大きい場合に、大容量キャッシュでキャッシュのUnits属性またはメトリックが負になる問題を修正しました。
  • 統合
    • レスポンス・キャッシングのCDIサポートを追加しました。
    • Coherence/Spring Bootアプリケーションの終了時にIllegalStateExceptionがスローされる問題を修正しました。
    • Spring Bootの使用時にCoherenceセッションが見つからないブートストラップAPIの問題を修正しました。
    • StringまたはBinaryの配列長に対する不要なJEP-290フィルタ・チェックを削除することで、パフォーマンスの低下を修正しました。
    • coherence-helidon-grpccoherence-helidon-clientおよびcoherence-helidon-proxyモジュールを削除しました。Coherence gRPCサーバーおよびクライアントはHelidonアプリケーションで引き続き動作しますが、Helidon MP gRPCサーバー上でCoherence gRPCプロキシ・エンドポイントを自動的に処理することはできなくなりました。Coherenceは、独自の独立したgRPCクライアントおよびサーバーを構成および作成します。
    • OpenTelemetryの統合サポート。詳細は、ドキュメントを参照してください。
    • GraalVM for JDK 21およびGraalVM Truffle 23.1.4ライブラリと連携するように、サーバー側のJavaScript統合を更新しました。
    • GARサーバーを実行してDefaultCacheServerとの一貫性を保つことができるように、com.tangosol.net.Coherenceクラスのメイン・メソッドを有効化しました。
    • 抽象クラスに定義されたインターセプタを使用するときに、GARが適切に停止しない問題を修正しました。
    • 仕様に準拠していないOpenTracingトレーサ実装に対して防御ガードを追加しました。
  • WebLogic管理対象Coherenceサーバー
    • WebLogic管理対象Coherence内のブートストラップAPIを使用してデフォルト・セッションをリクエストすると、有効なセッションが返されない問題を修正しました。
    • 基礎となるキャッシュ・サービスが正常に停止できないために、GARアプリケーションのアンデプロイがハングする問題を修正しました。
    • リフレクション・ベースのエクストラクタのデシリアライズがWebLogicで実行されているときに拒否される問題を修正しました。
    • WebLogic管理対象Coherenceを使用してGARアプリケーションで実行する際に、自動検出されたセッション構成が正しく起動および停止されない問題を修正しました。
    • CoherenceクライアントがOSB Javaコールアウト・ユーティリティ内で実行されたときにIllegalStateExceptionがスローされる問題を修正しました。
    • WebLogic管理対象Coherenceで実行されているクラスタでCoherence gRPCプロキシを使用できない問題を修正しました。
  • ホット・キャッシュ
    • Oracle GoldenGate 12.3.2.1.xおよび19.1.0.xをサポートするようにCoherence HotCacheを拡張しました。
    • GoldenGate ggsciコマンド統計がコールされたときにCoherenceAdapter MBean統計を報告するHotCacheプロセスを修正しました。
    • 挿入イベントの欠落している表の列ごとに1つの警告メッセージのみをログに記録するようにHotCacheAdapterを変更しました。この警告は、GoldenGate Extractがすべての表の列を抽出しない場合にのみ発生します。
    • JRE 11をサポートするOracle GoldenGate Big Data 21.8に依存するようにCoherence HotCacheをアップグレードしました。
  • その他
    • 静的ラムダをデフォルトとする本番モードを削除することで、分散ラムダのローリング・アップグレードを修正しました。
    • coherence.jarが別のjarにシェーディングされている場合、Coherenceが正しく動作するように改善しました。
    • ストレージにBerkeley Database JEデータベースを使用する場合、JPMS --add-exports java.management/sun.management=com.oracle.coherenceが必要になる問題を修正しました。
    • java -jar coherence.jar --versionを使用してクラスタを起動せずにCoherenceバージョンを表示する機能を追加しました。
    • クラスタ・サービスの停止プロセス中のエラー・レポートを改善し、クラスタ・サービスの停止の原因および停止中に発生した可能性のある問題を特定できるようになりました。
    • Coherence APIを介して、またはJava ServiceLoaderを使用した検出を介して、ライフサイクル・リスナーをCoherenceインスタンスに登録する機能を追加しました。
    • 必要なランタイム・ライブラリとしてjackson-annotationsを削除するcoherence-jsonモジュールの問題を修正しました。
    • javax.annotation.Priority注釈がクラスパスで使用できない場合、InjectorProviderがClassNotFound例外をスローしないようにする問題を修正しました。
    • すべてのデーモン・プール・スレッドがスタックしているときに、サービス・スレッドがハートビートしない問題を修正しました。
    • gRPCがキー・アソシエーションを正しくサポートしていない問題を修正しました。
    • CoherenceのデフォルトのHostnameVerifierが、有効なホスト名を誤って拒否する問題を修正しました。
    • Java 17以降のDefaultMemberIdentity.makeProcessName()IllegalAccessExceptionがスローされる問題を修正しました。
    • ARMプロセッサのSafeHashMapで競合状態が発生する問題を修正しました。
    • Java 17でのサポートが廃止されたため、Sun Codemodelシェーディング依存関係をcoherence.jarから削除しました。
    • clear()などの一括更新の一部である一部のエントリに対してUnsolicitedCommitEventsが起動しない問題を修正しました。
    • 拡張キャッシュのUnsupportedOperationExceptionをスローするようにasync()を変更しました。ニア・キャッシュおよびビュー・キャッシュのasync()を、バック・キャッシュでasync()をコールするように変更しました。
    • システム($SYS) ConfigurableCacheFactoryに対してLifecycleEvent.DISPOSINGが発行されていない問題を修正しました。
    • 型検出を有効にしたときに列挙が自動的に検出されない問題を修正しました。
    • クラスタ・サービスが再起動された場合、ビュー・キャッシュ・サービスがリークする問題を修正しました。
    • ニア・キャッシュとローカル・キャッシュで同じサービス名が正しく共有されない問題を修正しました。
    • DaemonPoolが無効になっている場合でも、遅延したサービス参加によって誤ってDaemonPoolが起動する問題を修正しました。
    • キャッシュ・バッキング・マップ・エントリによって使用されるメモリーが、必要以上に多くなる問題を修正しました。
    • Binary.hashCodeの変更によって発生したパフォーマンスの低下を修正しました。
    • Coherence gRPC、Helidon、JSONおよびMicroProfile POMファイルにリストされている依存関係を更新しました。
    • gRPCクライアントからキャッシュでclear()をコールすると、実際の削除ではなく統合削除を使用してエントリが削除され、削除として表示される問題を修正しました。
    • マップ内に多数のエントリがある場合にSafeSortedMapメソッドgetEntrySetおよびgetEntryのパフォーマンス低下を修正し、エントリ・キーまたは値に対してSafeSortedMapメソッドがSafeSortedMap.NULLを返さないようにしました。
    • 初期化中のContinuousQueryCacheがキャッシュ切捨てイベントを受信して処理しようとする潜在的なスレッド・デッドロックを修正しました。
    • MessageBusが構成された間隔の2倍でハートビートする問題を修正しました。
    • リモートのgRPCセッションからセッション名を取得しようとしたときにNullPointerExceptionが発生する問題を修正しました。
    • クラスタ内のgRPCプロキシ・メンバーのローリング再起動中にgRPCクライアント接続が正しくフェイルオーバーされない問題を修正しました。
    • ReplicatedCacheサービスの停止時にNullPointerExceptionがスローされる問題を修正しました。
    • 並列性を改善し、大きな問合せの実行時に2GBのメッセージ制限を超えないようにするため、メンバーではなくパーティションで問合せを実行するようにNamedCache.entrySet(Filter)実装を変更しました。
    • 無効化戦略を使用するNearCacheget/getAll内のキー・ロックの解放に失敗し、KEYの状態が破損していることが検出されたことを示すログ・メッセージが表示される問題を修正しました。
    • 有効期限のスライドが有効なときに読取り専用キャッシュ・エントリにアクセスするとUnsupportedOperationExceptionがスローされる問題を修正しました。
    • バッキング・マップとして、SafeHashMapなどの監視不可能なマップを使用すると、クラスタ・メンバーが離脱した際にデータが失われる問題を修正しました。
    • ServiceLoaderを使用して検出されたCoherence LifecycleListenerを2回登録できるため、イベントが複数回受信される問題を修正しました。
    • TcpRing.close.keys()が未処理のClosedSelectorExceptionをスローし、クラスタ・サービスが予期せず終了する問題を修正しました。
    • ハートビートが有効なMessageBus接続が、削除された接続の再確立時にOutOfMemoryErrorをスローする問題を修正しました。
    • SimpleServiceMonitorがサービスの再起動に失敗したときに、基礎となる例外が正しくログに記録されない問題を修正しました。
    • transactional-schemeのhigh-units設定が無視される問題を修正しました。
    • ExtensibleConfigurableCacheFactoryのインスタンスで構築された場合に、ConfigurableCacheFactorySessionがイベント・インターセプタをリークする問題を修正しました。
    • 分散サービスが、IllegalStateExceptionにつながる未所有のパーティションを解放する問題を修正しました。
    • 高いストレスがかかる状況でSafeSortedMap同時アクセスによって不整合が発生する問題を修正しました。
    • スナップショット・リカバリ後にニア、ビューおよび連続問合せキャッシュに古いデータが含まれる問題を修正しました。
    • 指定したタイムアウト後に操作を中断できるように、中断可能なロックを使用するようにキャッシュ操作を改善しました。
    • パーティション・バックアップ数が1より大きい場合にAssertionExceptionがスローされる問題を修正しました。
    • パーティション・バックアップ転送中にデッドロックが発生する問題を修正しました。
    • PartitionSet.intersectsメソッドによってAssertionExceptionがスローされる問題を修正しました。
    • Coherence Mavenプラグイン関連のjar内のMANIFEST.MFファイルがCoherenceパッチによって更新されない問題を修正しました。
    • 負荷が高いキー・リスナーが同じメンバーの負荷が低いリスナーによってオーバーライドされる問題を修正しました。
    • BetweenFilterおよびエントリの削除操作による同時問合せ中にNullPointerExceptionがスローされる問題を修正しました。
    • パーティション数がストレージが有効なメンバー・サイズより小さい場合に、archiveSnapshotArrayIndexOutOfBoundsExceptionをスローする問題を修正しました。
    • サービスの起動およびクラスタへの参加に失敗する問題を修正しました。
    • 分散ライブラリjarからmavenビルド・アーティファクトを除外しました。
    • Coherence*ExtendでのNearCachePrimingListener最適化が破損した問題を修正しました。
    • Javaセキュリティの例で、クライアントがプロキシから切断されたときにリスナーが削除されず、それらのリスナーにイベントがディスパッチされる問題を修正しました。
    • TransferEvent.ASSIGNEDとpre-commit EntryEventsの間の競合状態を修正しました。TransferEvent.ASSIGNEDに登録されたインターセプタは、同じパーティションのEntryEventsの前に完全に完了する必要があります。
    • 不正な深くネストされたフィルタを処理する際に、クラスタ・メンバーでStackOverflowErrorが発生して停止する問題を修正しました。
    • ジェネリックをサポートし、メソッドputIfAbsent、remove、replaceおよびmergeを正しく実装するために、ConverterCollections.getNamedCacheを改善しました。ConverterCollectionsの一部のファクトリ・メソッドの戻り型が拡張され、実装ベースではなくインタフェース・ベースになりました。
    • ローリング・アップグレード中にjava.io.StreamCorruptedException: invalid type: 64が発生する問題を修正しました。
    • カスタムAddressProviderの使用時に*Extendクライアントで発生するメモリー・リークを修正しました。
    • 索引の再構築の終了を待機してブロックされている間に、サービス・スレッドが終了する問題を修正しました。
    • Coherence jarファイルのMANIFEST.MFバンドル・バージョンを修正しました。
    • パーティション転送中にキャッシュ削除操作が失われる問題を修正しました。
    • サービスの一時停止中にアクティブなリカバリが開始される問題を修正しました。
    • ContinuousQueryCache内のバイナリ・マップ検出の問題を修正しました。
    • releaseCache()またはdestroyCache()の同時コールによってIllegalArgumentExceptionがスローされる可能性があるConfigurableCacheFactoryの競合状態を修正しました。
    • 異なるエディションが同じクラスタに参加できない問題を修正しました。
    • TcpRingが一時的にネットワークにアクセスできないクラスタ・メンバーの削除を誤ってトリガーする問題を修正しました。
    • バックログの過剰なイベントの配信と同時にクラスタ接続がハンドシェイクしている場合、アプリケーション・リクエストがハングする問題を修正しました。
    • パーティション数が多い場合にパーティションを割り当てると、誤ってガーディアンがトリガーされる問題を修正しました。
    • アグリゲータが存在するエントリに限定されていない場合、BMC.getReadOnlyEntryへのコールで読取りが開始されない問題を修正しました。
    • MapEventFilterのフィルタ・シグネチャのジェネリック・タイプの使用方法を修正しました。
    • エントリの同時変更が頻繁に発生する場合に結果がより速くなる、一貫性のない問合せ結果を許可するオプションを追加しました。このオプションは、ALLOW_INCONSISTENCIESをアグリゲータのcharacteristics()に追加するか、coherence.query.retryシステム・プロパティを0 (ゼロ)に設定することでグローバルに設定できます。
    • キャッシュの同時作成およびリリースによって、キャッシュの作成時にScopedCacheReferenceStoreがキャッシュへの参照の格納に失敗し、キャッシュが後でリリースされた場合に例外が発生する問題を修正しました。
    • エントリの同時変更が頻繁に発生する場合、StreamingAggregatorを使用した問合せに非常に時間がかかる問題を修正しました。
    • 登録されたMapTriggerがコールされない問題を修正しました。
    • 古いメンバーがサービス・メンバー・セットに残る問題を修正しました。これにより、サービスへの参加を試みる新規メンバーが無限に拒否される可能性がありました。
    • BackingMapContext.getBackingMapEntryを使用して別のキャッシュにエントリを登録し、同時にその別のキャッシュでinvokeAllを実行すると、最適でないデッドロック回避のロールバックが発生する問題を修正しました。
    • 構成されているすべてのWKAアドレスを解決できない場合、クラスタ参加がマルチキャストに自動的にフォールバックする問題を修正しました。