[PaaS のみ]{class="badge informative" title="Adobe Commerce on Cloud プロジェクト(Adobeが管理する PaaS インフラストラクチャ)およびオンプレミスプロジェクトにのみ適用されます。"}

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
NOTE
このパッチは、新しい Quality Patches Tool リリースを含む他のバージョンにも適用される可能性があります。 パッチがAdobe Commerceのバージョンと互換性があるかどうかを確認するには、magento/quality-patches パッケージを最新バージョンに更新し、Quality Patches Tool: Search for patches page で互換性を確認します。 パッチ ID を検索キーワードとして使用して、パッチを見つけます。

問題

キャッシュのクリーンアップが失敗 Redis るので、誤った価格が表示される。

再現手順 :

  1. Adobe Commerce環境用に Redis を設定します。

  2. ストアフロントで複数の製品カテゴリを作成します。

  3. カテゴリページに繰り返しリクエストを送信するスクリプトを作成します。 JMeter スクリプトまたは同等の負荷テストツールを使用します。

  4. スクリプトがカテゴリページにリクエストを送信している間に、block_html キャッシュのクリーンアップを実行し、backend_clean_cache cron ジョブを複数回実行します。

  5. 提供されたスクリプトを実行して 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 について詳しくは、以下を参照してください。

recommendation-more-help
c2d96e17-5179-455c-ad3a-e1697bb4e8c3