You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The text was updated successfully, but these errors were encountered:
okazy
changed the title
KernelEvents::TERMINATE で DB の更新をしている場合に、即次回アクセスでデータが反映されない場合がある
$kernel->terminate(); で DB の更新をしている場合に、即次回アクセスでデータが反映されない場合がある
Mar 24, 2021
概要(Overview)
Issue 検討会より
例えば編集画面で保存すると、最終的にリダイレクトが走る場合に発生する。
index.php
の77行目でレスポンスが返り、78行目で DB に commit される前にアクセスがあるものと思われる。ec-cube/index.php
Lines 75 to 78 in 3e492f7
apache では発生しにくいが、 nginx だと発生する場合がある。
terminate での commit
terminate で commit しているのは、プラグインなのでカスタマイズ時にも一番最後で commit したいから。
handle で commit した場合にはそちらの処理で正常にロールバックできない可能性あり。
期待する内容(Expect) or 要望 (Requirement)
ロードバランサで解決できるかも?
L7のロードバランサでバランシングすると、同じクライアントの場合は同じサーバに割り当てられ、問題が解決できるかもしれない。
再現手順(Procedure)
サーバ複数台構成、L4のロードバランサで稼働している場合に発生。
環境 (environment)
関連情報 (Ref)
The text was updated successfully, but these errors were encountered: