File tree Expand file tree Collapse file tree
Classes/ReleaseSwitch/Infrastructure Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -54,13 +54,21 @@ public function switchContentRelease(RedisInstanceIdentifier $redisInstanceIdent
5454 }
5555
5656 $ redisKeyPostfixesForEachRelease = RedisKeyPostfixesForEachRelease::fromArray ($ this ->redisKeyPostfixesForEachReleaseConfiguration );
57+ $ hasError = false ;
5758 foreach ($ redisKeyPostfixesForEachRelease ->getRequiredKeys () as $ requiredPostfix ) {
58- $ key = $ this ->redisKeyService ->getRedisKeyForPostfix ($ contentReleaseIdentifier , $ requiredPostfix ->getRedisKeyPostfix ());
59- if (!$ redis ->exists ($ key )) {
60- $ contentReleaseLogger ->error ('Required redis key ' . $ key . ' does not exist for release thus we do not switch. ' );
61- return ;
59+ if ($ requiredPostfix ->shouldTransfer ()) {
60+ $ key = $ this ->redisKeyService ->getRedisKeyForPostfix ($ contentReleaseIdentifier , $ requiredPostfix ->getRedisKeyPostfix ());
61+ if (!$ redis ->exists ($ key )) {
62+ $ contentReleaseLogger ->error ('Required redis key ' . $ key . ' does not exist for release thus we do not switch. ' );
63+ $ hasError = true ;
64+ }
6265 }
6366 }
67+ if ($ hasError === true ) {
68+ $ contentReleaseLogger ->error ('ABORTING directly before switch because final key validation failed. ' );
69+ exit (1 );
70+ return ;
71+ }
6472
6573 $ redis ->set ('contentStore:current ' , $ contentReleaseIdentifier ->getIdentifier ());
6674 $ releaseMetadata = $ this ->redisContentReleaseService ->fetchMetadataForContentRelease ($ contentReleaseIdentifier );
You can’t perform that action at this time.
0 commit comments