From dc9eb22da34011982b1f826d4d820545fabda9c9 Mon Sep 17 00:00:00 2001 From: Luke Rodgers Date: Mon, 3 Nov 2025 14:28:25 +0000 Subject: [PATCH 1/3] Refactor LastUpdateTimeCache to use FlagManager --- .../Sales/Model/Grid/LastUpdateTimeCache.php | 34 +++++++++++-------- 1 file changed, 20 insertions(+), 14 deletions(-) diff --git a/app/code/Magento/Sales/Model/Grid/LastUpdateTimeCache.php b/app/code/Magento/Sales/Model/Grid/LastUpdateTimeCache.php index 01291bcb8fa5e..211374ee6409f 100644 --- a/app/code/Magento/Sales/Model/Grid/LastUpdateTimeCache.php +++ b/app/code/Magento/Sales/Model/Grid/LastUpdateTimeCache.php @@ -8,28 +8,37 @@ namespace Magento\Sales\Model\Grid; use Magento\Framework\App\CacheInterface; +use Magento\Framework\FlagManager; /** - * Cache for last grid update time. + * Storage for last grid update time. */ class LastUpdateTimeCache { /** - * Prefix for cache key. + * Prefix for storage key. */ - private const CACHE_PREFIX = 'LAST_GRID_UPDATE_TIME'; + private const STORAGE_KEY_PREFIX = 'LAST_GRID_UPDATE_TIME'; /** * @var CacheInterface */ private $cache; + /** @var FlagManager */ + private $flagManager; + /** * @param CacheInterface $cache + * @param FlagManager|null $flagManager */ - public function __construct(CacheInterface $cache) - { + public function __construct( + CacheInterface $cache, + ?FlagManager $flagManager = null + ) { $this->cache = $cache; + $this->flagManager = $flagManager ?: \Magento\Framework\App\ObjectManager::getInstance() + ->get(FlagManager::class); } /** @@ -41,11 +50,9 @@ public function __construct(CacheInterface $cache) */ public function save(string $gridTableName, string $lastUpdatedAt): void { - $this->cache->save( - $lastUpdatedAt, - $this->getCacheKey($gridTableName), - [], - 3600 + $this->flagManager->saveFlag( + $this->getFlagKey($gridTableName), + $lastUpdatedAt ); } @@ -57,8 +64,7 @@ public function save(string $gridTableName, string $lastUpdatedAt): void */ public function get(string $gridTableName): ?string { - $lastUpdatedAt = $this->cache->load($this->getCacheKey($gridTableName)); - + $lastUpdatedAt = $this->flagManager->getFlagData($this->getFlagKey($gridTableName)); return $lastUpdatedAt ?: null; } @@ -70,7 +76,7 @@ public function get(string $gridTableName): ?string */ public function remove(string $gridTableName): void { - $this->cache->remove($this->getCacheKey($gridTableName)); + $this->flagManager->deleteFlag($this->getFlagKey($gridTableName)); } /** @@ -79,7 +85,7 @@ public function remove(string $gridTableName): void * @param string $gridTableName * @return string */ - private function getCacheKey(string $gridTableName): string + private function getFlagKey(string $gridTableName): string { return self::CACHE_PREFIX . ':' . $gridTableName; } From 5e3ce3dc79079e76f3384babf74d5d66d56cb4fe Mon Sep 17 00:00:00 2001 From: Luke Rodgers Date: Mon, 3 Nov 2025 20:15:50 +0000 Subject: [PATCH 2/3] Refactor flagManager initialization to use null coalescing --- app/code/Magento/Sales/Model/Grid/LastUpdateTimeCache.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/code/Magento/Sales/Model/Grid/LastUpdateTimeCache.php b/app/code/Magento/Sales/Model/Grid/LastUpdateTimeCache.php index 211374ee6409f..be04d65b09d55 100644 --- a/app/code/Magento/Sales/Model/Grid/LastUpdateTimeCache.php +++ b/app/code/Magento/Sales/Model/Grid/LastUpdateTimeCache.php @@ -37,7 +37,7 @@ public function __construct( ?FlagManager $flagManager = null ) { $this->cache = $cache; - $this->flagManager = $flagManager ?: \Magento\Framework\App\ObjectManager::getInstance() + $this->flagManager = $flagManager ?? \Magento\Framework\App\ObjectManager::getInstance() ->get(FlagManager::class); } From 2df529a8c760c450cb47ae6608d57891d1460ef7 Mon Sep 17 00:00:00 2001 From: Luke Rodgers Date: Wed, 5 Nov 2025 17:13:34 +0000 Subject: [PATCH 3/3] Change cache key prefix in LastUpdateTimeCache --- app/code/Magento/Sales/Model/Grid/LastUpdateTimeCache.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/code/Magento/Sales/Model/Grid/LastUpdateTimeCache.php b/app/code/Magento/Sales/Model/Grid/LastUpdateTimeCache.php index be04d65b09d55..6f6b4a2b75f99 100644 --- a/app/code/Magento/Sales/Model/Grid/LastUpdateTimeCache.php +++ b/app/code/Magento/Sales/Model/Grid/LastUpdateTimeCache.php @@ -87,6 +87,6 @@ public function remove(string $gridTableName): void */ private function getFlagKey(string $gridTableName): string { - return self::CACHE_PREFIX . ':' . $gridTableName; + return self::STORAGE_KEY_PREFIX . ':' . $gridTableName; } }