Namespace Aphlict clients by request path, plus other fixes
Summary: Fixes T7130. Fixes T7041. Fixes T7012. Major change here is partitioning clients. In the Phacility cluster, being able to get a huge pile of instances on a single server -- without needing to run a process per instance -- is desirable. To accomplish this, just bucket clients by the path they connect with. This will let us set client URIs to `/instancename/` and then route connections to a small set of servers. This degrades cleanly in the common case and has no effect on installs which don't do instancing. Also fix two unrelated issues: - Fix the timeouts, which were incorrectly initializing in `open()` (which is called during reconnect, causing them to reset every time). Instead, initialize in the constructor. Cap timeout at 5 minutes. - Probably fix subscriptions, which were using a property with an object definition. Since this is by-ref, all concrete instances of the object share the same property, so all users would be subscribed to everything. Probably. Test Plan: - Hit notification status page, saw version bump and instance/path name. - Saw instance/path name in client and server logs. - Stopped server, saw reconnects after 2, 4, 16, ... seconds. - Sent test notification; received test notification. - Didn't explicitly test the subscription thing but it should be obvious by looking at `/notification/status/` shortly after a push. Reviewers: joshuaspence, btrahan Reviewed By: btrahan Subscribers: epriestley Maniphest Tasks: T7041, T7012, T7130 Differential Revision: https://secure.phabricator.com/D11769
This commit is contained in:
@@ -7,8 +7,8 @@
|
||||
*/
|
||||
return array(
|
||||
'names' => array(
|
||||
'core.pkg.css' => 'f8f4b8dc',
|
||||
'core.pkg.js' => '65e04767',
|
||||
'core.pkg.css' => '86353aff',
|
||||
'core.pkg.js' => '23d653bb',
|
||||
'darkconsole.pkg.js' => '8ab24e01',
|
||||
'differential.pkg.css' => '380f07e5',
|
||||
'differential.pkg.js' => '7b5a4aa4',
|
||||
@@ -124,9 +124,9 @@ return array(
|
||||
'rsrc/css/phui/phui-action-list.css' => '9ee9910a',
|
||||
'rsrc/css/phui/phui-action-panel.css' => '4bcb288d',
|
||||
'rsrc/css/phui/phui-box.css' => '7b3a2eed',
|
||||
'rsrc/css/phui/phui-button.css' => 'ffe12633',
|
||||
'rsrc/css/phui/phui-button.css' => '008ba5e2',
|
||||
'rsrc/css/phui/phui-crumbs-view.css' => '594d719e',
|
||||
'rsrc/css/phui/phui-document.css' => '8240b0b1',
|
||||
'rsrc/css/phui/phui-document.css' => 'a494bdf8',
|
||||
'rsrc/css/phui/phui-error-view.css' => 'ad042fdd',
|
||||
'rsrc/css/phui/phui-feed-story.css' => 'c9f3a0b5',
|
||||
'rsrc/css/phui/phui-fontkit.css' => '9ae12677',
|
||||
@@ -210,7 +210,7 @@ return array(
|
||||
'rsrc/externals/javelin/lib/Scrollbar.js' => '5b2f5a08',
|
||||
'rsrc/externals/javelin/lib/URI.js' => '6eff08aa',
|
||||
'rsrc/externals/javelin/lib/Vector.js' => '2caa8fb8',
|
||||
'rsrc/externals/javelin/lib/WebSocket.js' => '3f840822',
|
||||
'rsrc/externals/javelin/lib/WebSocket.js' => 'e292eaf4',
|
||||
'rsrc/externals/javelin/lib/Workflow.js' => '84d6aea0',
|
||||
'rsrc/externals/javelin/lib/__tests__/Cookie.js' => '5ed109e8',
|
||||
'rsrc/externals/javelin/lib/__tests__/DOM.js' => 'c984504b',
|
||||
@@ -697,7 +697,7 @@ return array(
|
||||
'javelin-view-interpreter' => 'f829edb3',
|
||||
'javelin-view-renderer' => '6c2b09a2',
|
||||
'javelin-view-visitor' => 'efe49472',
|
||||
'javelin-websocket' => '3f840822',
|
||||
'javelin-websocket' => 'e292eaf4',
|
||||
'javelin-workflow' => '84d6aea0',
|
||||
'lightbox-attachment-css' => '7acac05d',
|
||||
'maniphest-batch-editor' => '8f380ebc',
|
||||
@@ -773,13 +773,13 @@ return array(
|
||||
'phui-action-header-view-css' => '89c497e7',
|
||||
'phui-action-panel-css' => '4bcb288d',
|
||||
'phui-box-css' => '7b3a2eed',
|
||||
'phui-button-css' => 'ffe12633',
|
||||
'phui-button-css' => '008ba5e2',
|
||||
'phui-calendar-css' => '8675968e',
|
||||
'phui-calendar-day-css' => 'de035c8a',
|
||||
'phui-calendar-list-css' => 'c1d0ca59',
|
||||
'phui-calendar-month-css' => 'a92e47d2',
|
||||
'phui-crumbs-view-css' => '594d719e',
|
||||
'phui-document-view-css' => '8240b0b1',
|
||||
'phui-document-view-css' => 'a494bdf8',
|
||||
'phui-error-view-css' => 'ad042fdd',
|
||||
'phui-feed-story-css' => 'c9f3a0b5',
|
||||
'phui-font-icon-base-css' => '3dad2ae3',
|
||||
@@ -1064,9 +1064,6 @@ return array(
|
||||
'javelin-dom',
|
||||
'phortune-credit-card-form',
|
||||
),
|
||||
'3f840822' => array(
|
||||
'javelin-install',
|
||||
),
|
||||
'40a6a403' => array(
|
||||
'javelin-install',
|
||||
'javelin-dom',
|
||||
@@ -1807,6 +1804,9 @@ return array(
|
||||
'javelin-stratcom',
|
||||
'javelin-dom',
|
||||
),
|
||||
'e292eaf4' => array(
|
||||
'javelin-install',
|
||||
),
|
||||
'e32d14ab' => array(
|
||||
'javelin-behavior',
|
||||
'javelin-stratcom',
|
||||
|
||||
Reference in New Issue
Block a user