ACSD-63687:キャッシュクリーンアップの問題が原因で、誤った価格 Redis 表示される
ACSD-63687 パッチでは、Redis キャッシュのガベージ コレクタが LUA モードなしで実行され、競合状態が発生すると、誤った価格が表示される問題が修正されています。 このパッチは、Quality Patches Tool (QPT) 1.1.77 がインストールされている場合に使用できます。 パッチ ID は ACSD-63687 です。 この問題はAdobe Commerce 2.4.9 で修正される予定であることに注意してください。
影響を受ける製品とバージョン
Adobe Commerce バージョン用のパッチが作成されます。
- Adobe Commerce(すべてのデプロイメント方法) 2.4.5-p9
Adobe Commerce バージョンとの互換性:
- Adobe Commerce(すべてのデプロイメント方法) 2.4.5 ~ 2.4.6-p13
magento/quality-patches パッケージを最新バージョンに更新し、Quality Patches Tool: Search for patches page で互換性を確認します。 パッチ ID を検索キーワードとして使用して、パッチを見つけます。問題
キャッシュのクリーンアップが失敗 Redis るので、誤った価格が表示される。
再現手順 :
-
Adobe Commerce環境用に Redis を設定します。
-
ストアフロントで複数の製品カテゴリを作成します。
-
カテゴリページに繰り返しリクエストを送信するスクリプトを作成します。 JMeter スクリプトまたは同等の負荷テストツールを使用します。
-
スクリプトがカテゴリページにリクエストを送信している間に、
block_htmlキャッシュのクリーンアップを実行し、backend_clean_cachecron ジョブを複数回実行します。 -
提供されたスクリプトを実行して RedisMAGE キャッシュセットに存在しないキャッシュキーレコードを特定します。 ローカルプロジェクト設定に一致するように、Redis ポートと MAGE キャッシュタグのプレフィックスを更新します。
code language-none #!/bin/bash REDIS_PORT=6379 REDIS_DB=0 SET_NAME="zc:ti:af6_MAGE" redis-cli -p $REDIS_PORT -n $REDIS_DB keys "zc:k:*" | while read KEY; do STRIPPED_KEY=${KEY#"zc:k:"} EXISTS=$(redis-cli -p $REDIS_PORT -n $REDIS_DB sismember "$SET_NAME" "$STRIPPED_KEY") if [ "$EXISTS" -eq 0 ]; then TIMESTAMP=$(redis-cli -p $REDIS_PORT -n $REDIS_DB hget "$KEY" "m") if [ -n "$TIMESTAMP" ]; then FORMATTED_TIME=$(date -r "$TIMESTAMP" +"%y-%m-%d %H:%M:%S") echo "$KEY - m: $FORMATTED_TIME" else echo "$KEY - m: (null)" fi fi done
期待される結果 :
対応するレコードのないキャッシュキーは Redis に作成されず、backend_clean_cache Cron ジョブがキャッシュエントリを正しくクリーンアップします。
実際の結果 :
キャッシュキーは対応するレコードのない Redis で作成されるので、backend_clean_cache cron によってトリガーされるキャッシュクリーンアップは機能しません。
パッチの適用
個々のパッチを適用するには、デプロイメント方法に応じて、次のリンクを使用します。
- Adobe CommerceまたはMagento Open Source オンプレミス:Quality Patches Tool > 使用状況 Quality Patches Tool ガイドに記載されています。
- クラウドインフラストラクチャー上のAdobe Commerce:クラウドインフラストラクチャー上のCommerce ガイドの アップグレードとパッチ / パッチの適用」を参照してください。
関連資料
Quality Patches Tool について詳しくは、以下を参照してください。
- Quality Patches Tool: 『ツールガイド』にあるクオリティパッチ セルフサービスツール。