)]}'
{
  "commit": "3f57890fb8ba5b8de63dd9bf0dbe3abb088be20c",
  "tree": "a67876c8b375da70010ed471ad5023e255bc82d7",
  "parents": [
    "3441f652d13c3341041087253054ca5b926f90d3"
  ],
  "author": {
    "name": "Edwin Kempin",
    "email": "ekempin@google.com",
    "time": "Mon Jun 12 11:44:32 2017 +0200"
  },
  "committer": {
    "name": "Edwin Kempin",
    "email": "ekempin@google.com",
    "time": "Tue Aug 08 14:17:18 2017 +0200"
  },
  "message": "Remove usage of AccountByEmailCache\n\nWith change I1c24da1378 there is a new Emails class that allows looking\nup accounts by email. To find accounts by email it gets external IDs by\nemail from the ExternalIdCache and extracts the account IDs from the\nexternal IDs. This is exactly what AccountByEmailCacheImpl.Loader was\ndoing. In addition the Emails class does an index lookup to also find\naccounts by preferred email (see commit message of change I1c24da1378\nfor an explanation of why this is needed).\n\nAdapt all code to use the new Emails class instead of the\nAccountByEmailCache.\n\nLooking up accounts by email via the ExternalIdCache means that the SHA1\nof the refs/meta/external-ids branch is read on each lookup (to verify\nthat the cache is up to date). To avoid reading the SHA1 of the\nrefs/meta/external-ids branch multiple times when looking up accounts\nby email in a loop the Emails class offers a method that can lookup\naccounts for several emails at once. This method is currently not used\nby Gerrit core, but plugins may need it (e.g. the find-owners plugin).\n\nWhen emails are changed the ExternalIdCache is automatically evicted\nsince it detects when the refs/meta/external-ids branch was updated,\nhence manual cache eviction for this cache is not needed.\n\nAccounts are also reindexed if the preferred email is changed so that\nlooking up accounts by preferred email via the account index always\nreturns up-to-date results.\n\nThe AccountByEmailCache is only removed in the follow-up change. This\nallows Google to adapt internal code to use the new API before the\nAccountByEmailCache is dropped.\n\nChange-Id: I991d21b1acc11025a23504655b5a2c4fea795acf\nSigned-off-by: Edwin Kempin \u003cekempin@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "8528853e107eef279af86988459fc3cf7600e5e6",
      "old_mode": 33188,
      "old_path": "gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/api/accounts/AccountIT.java",
      "new_id": "6c1fb399c886f1e25bdd2355a91c5a440b977729",
      "new_mode": 33188,
      "new_path": "gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/api/accounts/AccountIT.java"
    },
    {
      "type": "modify",
      "old_id": "7f66b9c000323488dc29642f904de6ea0e96d5ce",
      "old_mode": 33188,
      "old_path": "gerrit-server/src/main/java/com/google/gerrit/server/account/AccountResolver.java",
      "new_id": "894f7a18e456fcc4c43a5294107be1dbeb68027d",
      "new_mode": 33188,
      "new_path": "gerrit-server/src/main/java/com/google/gerrit/server/account/AccountResolver.java"
    },
    {
      "type": "modify",
      "old_id": "d8e46f46f13e8f6bd45f8bccf72c93bccdd7855d",
      "old_mode": 33188,
      "old_path": "gerrit-server/src/main/java/com/google/gerrit/server/account/DefaultRealm.java",
      "new_id": "9d9cf23173984e69d904b52985975ee7f7c1c2d2",
      "new_mode": 33188,
      "new_path": "gerrit-server/src/main/java/com/google/gerrit/server/account/DefaultRealm.java"
    },
    {
      "type": "modify",
      "old_id": "5d551bc9e94301196b13fcaa56c3bd0a5df4ef83",
      "old_mode": 33188,
      "old_path": "gerrit-server/src/main/java/com/google/gerrit/server/account/Realm.java",
      "new_id": "b5e4cba18e8911782366dac60dc165cdc0a52d32",
      "new_mode": 33188,
      "new_path": "gerrit-server/src/main/java/com/google/gerrit/server/account/Realm.java"
    },
    {
      "type": "modify",
      "old_id": "ce04f262920281218c0877a90bfd3b9e2937283c",
      "old_mode": 33188,
      "old_path": "gerrit-server/src/main/java/com/google/gerrit/server/events/EventFactory.java",
      "new_id": "d31c26d76d1ee31f87c84b3211093918a2b02d25",
      "new_mode": 33188,
      "new_path": "gerrit-server/src/main/java/com/google/gerrit/server/events/EventFactory.java"
    },
    {
      "type": "modify",
      "old_id": "9d2286e58d69e04bda250b2c35687c3daa623339",
      "old_mode": 33188,
      "old_path": "gerrit-server/src/main/java/com/google/gerrit/server/git/MergeOp.java",
      "new_id": "3884d43c90771e799847fc2633b43a24f8a14554",
      "new_mode": 33188,
      "new_path": "gerrit-server/src/main/java/com/google/gerrit/server/git/MergeOp.java"
    },
    {
      "type": "modify",
      "old_id": "59017e74b5f333c8f445cec1e21a7f1b08d4d46d",
      "old_mode": 33188,
      "old_path": "gerrit-server/src/main/java/com/google/gerrit/server/git/MergedByPushOp.java",
      "new_id": "a44d21c83edc5084702f5c59f66f99f1722c91e6",
      "new_mode": 33188,
      "new_path": "gerrit-server/src/main/java/com/google/gerrit/server/git/MergedByPushOp.java"
    },
    {
      "type": "modify",
      "old_id": "40120dfab2dee3ca956e0ad62ed703dfc51acfae",
      "old_mode": 33188,
      "old_path": "gerrit-server/src/main/java/com/google/gerrit/server/git/ReceiveCommits.java",
      "new_id": "0278cdd53bcc3b95d5d23d0af680d947a1787927",
      "new_mode": 33188,
      "new_path": "gerrit-server/src/main/java/com/google/gerrit/server/git/ReceiveCommits.java"
    },
    {
      "type": "modify",
      "old_id": "49399ef2828795df073114aaec3cdb798f89d5e1",
      "old_mode": 33188,
      "old_path": "gerrit-server/src/main/java/com/google/gerrit/server/git/strategy/CherryPick.java",
      "new_id": "1b01c2613ce8ec664a50cde9fd18457f8f5c911a",
      "new_mode": 33188,
      "new_path": "gerrit-server/src/main/java/com/google/gerrit/server/git/strategy/CherryPick.java"
    },
    {
      "type": "modify",
      "old_id": "5dae65996458422aeb29a2aba9caaeab5f9f7810",
      "old_mode": 33188,
      "old_path": "gerrit-server/src/main/java/com/google/gerrit/server/mail/MailUtil.java",
      "new_id": "a7523245c4cc240434db94a092e9934317858f9a",
      "new_mode": 33188,
      "new_path": "gerrit-server/src/main/java/com/google/gerrit/server/mail/MailUtil.java"
    },
    {
      "type": "modify",
      "old_id": "24bae37e8f7d51058035e7c2d8ebb3483fe70e15",
      "old_mode": 33188,
      "old_path": "gerrit-server/src/main/java/com/google/gerrit/server/mail/receive/MailProcessor.java",
      "new_id": "68bcda40a09fc7a58685d9672961d2ded2d7394d",
      "new_mode": 33188,
      "new_path": "gerrit-server/src/main/java/com/google/gerrit/server/mail/receive/MailProcessor.java"
    },
    {
      "type": "modify",
      "old_id": "cd9c4c37f3b55caa50588ca7914b56187fe81f1d",
      "old_mode": 33188,
      "old_path": "gerrit-server/src/main/java/com/google/gerrit/server/patch/PatchSetInfoFactory.java",
      "new_id": "41bade6218063fb449960390f2300445f4e41b70",
      "new_mode": 33188,
      "new_path": "gerrit-server/src/main/java/com/google/gerrit/server/patch/PatchSetInfoFactory.java"
    }
  ]
}
