Page MenuHomePhabricator

D20002.diff
No OneTemporary

D20002.diff

diff --git a/src/applications/repository/storage/PhabricatorRepository.php b/src/applications/repository/storage/PhabricatorRepository.php
--- a/src/applications/repository/storage/PhabricatorRepository.php
+++ b/src/applications/repository/storage/PhabricatorRepository.php
@@ -2024,10 +2024,35 @@
}
if ($never_proxy) {
+ // See PHI1030. This error can arise from various device name/address
+ // mismatches which are hard to detect, so try to provide as much
+ // information as we can.
+
+ if ($writable) {
+ $request_type = pht('(This is a write request.)');
+ } else {
+ $request_type = pht('(This is a read request.)');
+ }
+
throw new Exception(
pht(
- 'Refusing to proxy a repository request from a cluster host. '.
- 'Cluster hosts must correctly route their intracluster requests.'));
+ 'This repository request (for repository "%s") has been '.
+ 'incorrectly routed to a cluster host (with device name "%s", '.
+ 'and hostname "%s") which can not serve the request.'.
+ "\n\n".
+ 'The Almanac device address for the correct device may improperly '.
+ 'point at this host, or the "device.id" configuration file on '.
+ 'this host may be incorrect.'.
+ "\n\n".
+ 'Requests routed within the cluster by Phabricator are always '.
+ 'expected to be sent to a node which can serve the request. To '.
+ 'prevent loops, this request will not be proxied again.'.
+ "\n\n".
+ "%s",
+ $this->getDisplayName(),
+ $local_device,
+ php_uname('n'),
+ $request_type));
}
if (count($results) > 1) {

File Metadata

Mime Type
text/plain
Expires
Wed, May 15, 10:18 PM (3 w, 6 d ago)
Storage Engine
blob
Storage Format
Encrypted (AES-256-CBC)
Storage Handle
6296836
Default Alt Text
D20002.diff (1 KB)

Event Timeline