perf: Avoid reusing previous migration steps

Signed-off-by: Julius Härtl <jus@bitgrid.net>
pull/45945/head
Julius Härtl 2 years ago
parent 7a97e22db2
commit ea9f2361ae
No known key found for this signature in database
GPG Key ID: 4C614C6ED2CDE6DF
  1. 2
      lib/private/Repair.php
  2. 8
      lib/private/legacy/OC_App.php

@ -102,6 +102,8 @@ class Repair implements IOutput {
$this->dispatcher->dispatchTyped(new RepairErrorEvent($e->getMessage()));
}
}
$this->repairSteps = [];
}
/**

@ -19,8 +19,10 @@ use OCP\App\ManagerEvent;
use OCP\Authentication\IAlternativeLogin;
use OCP\EventDispatcher\IEventDispatcher;
use OCP\IAppConfig;
use OCP\Server;
use Psr\Container\ContainerExceptionInterface;
use Psr\Log\LoggerInterface;
use function OCP\Log\logger;
/**
* This class manages the apps. It allows them to register and integrate in the
@ -777,16 +779,16 @@ class OC_App {
// load the app
self::loadApp($appId);
$dispatcher = \OC::$server->get(IEventDispatcher::class);
$dispatcher = Server::get(IEventDispatcher::class);
// load the steps
$r = \OCP\Server::get(Repair::class);
$r = Server::get(Repair::class);
foreach ($steps as $step) {
try {
$r->addStep($step);
} catch (Exception $ex) {
$dispatcher->dispatchTyped(new RepairErrorEvent($ex->getMessage()));
\OC::$server->getLogger()->logException($ex);
logger('core')->error('Failed to add app migration step ' . $step, ['exception' => $ex]);
}
}
// run the steps

Loading…
Cancel
Save