Skip Conduit call log writes in read-only mode, allowing "conduit.ping" to run
Summary: Ref T10769. See PHI8. We have an unconditional logging write which we can skip in read-only mode.
Test Plan:
- Put Phabricator in read-only mode with `cluster.read-only`.
- Called `conduit.ping` via web UI.
- Before: write-on-read-only exception.
- After: good result.
Reviewers: chad, amckinley
Reviewed By: chad
Maniphest Tasks: T10769
Differential Revision: https://secure.phabricator.com/D18233
This commit is contained in:
@@ -119,9 +119,11 @@ final class PhabricatorConduitAPIController
|
|||||||
->setError((string)$error_code)
|
->setError((string)$error_code)
|
||||||
->setDuration(1000000 * ($time_end - $time_start));
|
->setDuration(1000000 * ($time_end - $time_start));
|
||||||
|
|
||||||
$unguarded = AphrontWriteGuard::beginScopedUnguardedWrites();
|
if (!PhabricatorEnv::isReadOnly()) {
|
||||||
$log->save();
|
$unguarded = AphrontWriteGuard::beginScopedUnguardedWrites();
|
||||||
unset($unguarded);
|
$log->save();
|
||||||
|
unset($unguarded);
|
||||||
|
}
|
||||||
|
|
||||||
$response = id(new ConduitAPIResponse())
|
$response = id(new ConduitAPIResponse())
|
||||||
->setResult($result)
|
->setResult($result)
|
||||||
|
|||||||
Reference in New Issue
Block a user