)]}'
{
  "commit": "b6238b33c7c3d6a0d39147a54e8a321560858b95",
  "tree": "958314cb914e8607d6c0fff3e14160cf70a79b8f",
  "parents": [
    "d58eaef9f644044cace847efc36518e4e1727249"
  ],
  "author": {
    "name": "khenaidoo",
    "email": "knursimu@ciena.com",
    "time": "Tue Apr 07 12:07:36 2020 -0400"
  },
  "committer": {
    "name": "Matteo Scandolo",
    "email": "matteo.scandolo@gmail.com",
    "time": "Wed Apr 08 12:36:38 2020 -0700"
  },
  "message": "[VOL-2831] - Multiple adapter support\n\nThis commit introduces the necessary APIs needed to support\nmultiple adapters.  It uses the number of replicas of a given\nadapter and consistent hashing to determine the target of a\ngiven request.\n\nThe endpoint_manager.go provides two APIs that will be needed\nby components communicating over kafka:\n - GetEndPoint() : to be called before sending a request to kafka\n - IsDeviceOwnedByService(): used during device reconciliation\n\nA change is made to the adapter_proxy.go to use this new mechanism\nwhen sending a request to an adapter from another adapter.\n\nThe mocks directory was refactored to get around circular package\ndependencies.  This implies any component using these mocks will\nneed to adjust to the new set of directories when using this\nlibrary version.\n\nChange-Id: I470cd62fcfd04edc1fd4508400c9619cadaab25a\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "94fef523d122f75044fa0f20745270992e4ce420",
      "old_mode": 33261,
      "old_path": "go.mod",
      "new_id": "553b8d6a74ca43a963aa1650957c56e9d2cd4505",
      "new_mode": 33188,
      "new_path": "go.mod"
    },
    {
      "type": "modify",
      "old_id": "2b6007c272cecd2861b5a4d3cb0357cc776d293e",
      "old_mode": 33188,
      "old_path": "go.sum",
      "new_id": "aca6e58afa38e44827cd4b124cf25b126af4a763",
      "new_mode": 33188,
      "new_path": "go.sum"
    },
    {
      "type": "modify",
      "old_id": "02fa3de92e822cac44f223e635e21f67696f9cfe",
      "old_mode": 33188,
      "old_path": "pkg/adapters/common/adapter_proxy.go",
      "new_id": "bbae0ed054c07b468155be4dd3a9ae8b2fa8f80f",
      "new_mode": 33188,
      "new_path": "pkg/adapters/common/adapter_proxy.go"
    },
    {
      "type": "modify",
      "old_id": "ee9c5b08dd963fdfcbda94f5582280f751381e81",
      "old_mode": 33188,
      "old_path": "pkg/adapters/common/core_proxy_test.go",
      "new_id": "a1b4290317029a39e57daf258f42f869d18c2b37",
      "new_mode": 33188,
      "new_path": "pkg/adapters/common/core_proxy_test.go"
    },
    {
      "type": "modify",
      "old_id": "0cceb005a2e59a7cd4605f2ad0cd6cebd466994f",
      "old_mode": 33188,
      "old_path": "pkg/db/backend_test.go",
      "new_id": "865d23990a42910ef45a5d9b7e85e1336ced5b44",
      "new_mode": 33188,
      "new_path": "pkg/db/backend_test.go"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "4c13c764effa131ffe4a616b11eb299ed587bf5e",
      "new_mode": 33188,
      "new_path": "pkg/kafka/endpoint_manager.go"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "0ed5a3db98a64319670fc0dbf66eacccc9dad516",
      "new_mode": 33188,
      "new_path": "pkg/kafka/endpoint_manager_test.go"
    },
    {
      "type": "copy",
      "old_id": "90612bb88d28c1f83e1048192b0cda51dbebec53",
      "old_mode": 33188,
      "old_path": "pkg/mocks/common.go",
      "new_id": "a45b4b270d19314cd49ed809a1bec142462b3635",
      "new_mode": 33188,
      "new_path": "pkg/mocks/etcd/common.go",
      "score": 98
    },
    {
      "type": "rename",
      "old_id": "487b9911c8499c293bc9bf328367dbe21892f1c5",
      "old_mode": 33188,
      "old_path": "pkg/mocks/etcd_server.go",
      "new_id": "b4e201d4e2b481dff0d0a3fb6e5ca08afb62d48d",
      "new_mode": 33188,
      "new_path": "pkg/mocks/etcd/etcd_server.go",
      "score": 99
    },
    {
      "type": "rename",
      "old_id": "7a861d42ba6a680ae755afd6d35ef0e6d0d9b163",
      "old_mode": 33188,
      "old_path": "pkg/mocks/etcd_server_test.go",
      "new_id": "daf24916a6bff00027b138a5ccdb7536dc596a0c",
      "new_mode": 33188,
      "new_path": "pkg/mocks/etcd/etcd_server_test.go",
      "score": 99
    },
    {
      "type": "rename",
      "old_id": "90612bb88d28c1f83e1048192b0cda51dbebec53",
      "old_mode": 33188,
      "old_path": "pkg/mocks/common.go",
      "new_id": "05bc5f93a15b7887a659e50c3918898a7109cbdd",
      "new_mode": 33188,
      "new_path": "pkg/mocks/kafka/common.go",
      "score": 98
    },
    {
      "type": "rename",
      "old_id": "38f147e494c9ac45d15e3cd87b6eeffcb1544652",
      "old_mode": 33188,
      "old_path": "pkg/mocks/kafka_client.go",
      "new_id": "5922ce22f4d9bf2838ccda627300ecfb4dd4467a",
      "new_mode": 33188,
      "new_path": "pkg/mocks/kafka/kafka_client.go",
      "score": 99
    },
    {
      "type": "rename",
      "old_id": "dcf19736c399926804a7425e64eff42c58da48f9",
      "old_mode": 33188,
      "old_path": "pkg/mocks/kafka_client_test.go",
      "new_id": "0e35ec13f720f796c9017d0eaeb033efa9bb0335",
      "new_mode": 33188,
      "new_path": "pkg/mocks/kafka/kafka_client_test.go",
      "score": 99
    },
    {
      "type": "rename",
      "old_id": "987983017819b2a0d9c831e67f3bd9ac55c72ece",
      "old_mode": 33188,
      "old_path": "pkg/mocks/kafka_inter_container_proxy.go",
      "new_id": "34aec95ab837a7b6c5768ef74ad4ff68e9e125bd",
      "new_mode": 33188,
      "new_path": "pkg/mocks/kafka/kafka_inter_container_proxy.go",
      "score": 99
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "a1338d68517ee2ad6ee11214b201e5958cb2bbc3",
      "new_mode": 33188,
      "new_path": "vendor/github.com/buraksezer/consistent/.gitignore"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "4f2ee4d9733890ec7e7fc5348fe33ac145cfd332",
      "new_mode": 33188,
      "new_path": "vendor/github.com/buraksezer/consistent/.travis.yml"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "e470334f48ce3c961b857ccf41fe54856d8e4e09",
      "new_mode": 33188,
      "new_path": "vendor/github.com/buraksezer/consistent/LICENSE"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "bde53d19c9b53e36e06341a2885e36954c68ea25",
      "new_mode": 33188,
      "new_path": "vendor/github.com/buraksezer/consistent/README.md"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "a1446d606a483a9c1dfa5a096517f024afba0328",
      "new_mode": 33188,
      "new_path": "vendor/github.com/buraksezer/consistent/consistent.go"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "24b53065f40b5d7d277a64375956ec19cb2123c5",
      "new_mode": 33188,
      "new_path": "vendor/github.com/cespare/xxhash/LICENSE.txt"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "0982fd25e5cd4374400d9432e1df548f80446290",
      "new_mode": 33188,
      "new_path": "vendor/github.com/cespare/xxhash/README.md"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "10605a6a5e461e61f0e6b26bb27d9e9913338de5",
      "new_mode": 33188,
      "new_path": "vendor/github.com/cespare/xxhash/go.mod"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "f6b5542617abaea493cbf635b726648d36a10400",
      "new_mode": 33188,
      "new_path": "vendor/github.com/cespare/xxhash/go.sum"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "f3eac5ebc028029c483ae19df4dd0b3642c5b666",
      "new_mode": 33188,
      "new_path": "vendor/github.com/cespare/xxhash/rotate.go"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "b99612bab885d2e77a37b129096446189eb37359",
      "new_mode": 33188,
      "new_path": "vendor/github.com/cespare/xxhash/rotate19.go"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "f896bd28f058a6fe691c3e6e5e1a10ae79a0f413",
      "new_mode": 33188,
      "new_path": "vendor/github.com/cespare/xxhash/xxhash.go"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "d6176526802c217429b1ec50f7aabdf6d12ae00e",
      "new_mode": 33188,
      "new_path": "vendor/github.com/cespare/xxhash/xxhash_amd64.go"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "757f2011f0f2c5fc2b4982107c9a433a90644a25",
      "new_mode": 33188,
      "new_path": "vendor/github.com/cespare/xxhash/xxhash_amd64.s"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "c68d13f89e92e951e8f94d2887dedc49124d740d",
      "new_mode": 33188,
      "new_path": "vendor/github.com/cespare/xxhash/xxhash_other.go"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "dfa15ab7e27e2fbe1543b5b0ca2cab9fe08f08c9",
      "new_mode": 33188,
      "new_path": "vendor/github.com/cespare/xxhash/xxhash_safe.go"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "d2b64e8bb00fed29bfdc3df7e48f5b30282e1b06",
      "new_mode": 33188,
      "new_path": "vendor/github.com/cespare/xxhash/xxhash_unsafe.go"
    },
    {
      "type": "modify",
      "old_id": "11be939a07ad392a4e5ae6ad73ff550da76652b5",
      "old_mode": 33188,
      "old_path": "vendor/modules.txt",
      "new_id": "0417b332ee8a850afa235b84758eb4d6dde3b56f",
      "new_mode": 33188,
      "new_path": "vendor/modules.txt"
    }
  ]
}
