Page MenuHomePhabricator

Make sure writes go to the right cluster
ClosedPublic

Authored by 20after4 on Mar 30 2017, 2:31 AM.
Tags
None
Referenced Files
F18086172: D17581.id42294.diff
Tue, Aug 5, 7:46 PM
F18082693: D17581.id42302.diff
Tue, Aug 5, 7:07 AM
F17952854: D17581.id.diff
Fri, Aug 1, 2:25 AM
F17925956: D17581.diff
Wed, Jul 30, 12:21 PM
F17732739: D17581.id42294.diff
Sun, Jul 20, 5:47 AM
Unknown Object (File)
Jun 28 2025, 7:31 PM
Unknown Object (File)
Jun 27 2025, 12:00 PM
Unknown Object (File)
May 29 2025, 9:12 AM
Subscribers

Details

Summary

Two little issues

  1. there was an extra call to getHostForWrite,
  2. The engine instance was shared between multiple service definitions so it

was overwriting the list of writable hosts from one service with hosts from another.

Test Plan

tested in wikimedia production with multiple services defined like this:

language=json
 [
        {
          "hosts": [
            {
              "host": "search.svc.codfw.wmnet",
              "protocol": "https",
              "roles": {
                "read": true,
                "write": true
              },
              "version": 5
            }
          ],
          "path": "/phabricator",
          "port": 9243,
          "type": "elasticsearch"
        },
        {
          "hosts": [
            {
              "host": "search.svc.eqiad.wmnet",
              "protocol": "https",
              "roles": {
                "read": true,
                "write": true
              },
              "version": 5
            }
          ],
          "path": "/phabricator",
          "port": 9243,
          "type": "elasticsearch"
        }
      ]

Diff Detail

Repository
rP Phabricator
Branch
master
Lint
Lint Passed
Unit
Tests Passed
Build Status
Buildable 16220
Build 21541: Run Core Tests
Build 21540: arc lint + arc unit