)]}'
{
  "log": [
    {
      "commit": "9255e1165bc98fab869ee8bed5ef4baa9d8457c2",
      "tree": "8a7038227ee3abc63b8d200dce9250c58c499b78",
      "parents": [
        "d65db32182be073546802bae239c461bd948c736"
      ],
      "author": {
        "name": "Roland McGrath",
        "email": "mcgrathr@google.com",
        "time": "Wed Mar 24 23:41:31 2021 -0700"
      },
      "committer": {
        "name": "CQ Bot",
        "email": "commit-bot@chromium.org",
        "time": "Thu Mar 25 19:51:09 2021 +0000"
      },
      "message": "[build] Update deps to //sdk/lib/fit\n\nChange-Id: I2aa841d9481c96119b4f4363924e51cce0e5a052\nReviewed-on: https://fuchsia-review.googlesource.com/c/third_party/leveldb/+/507158\nFuchsia-Auto-Submit: Roland McGrath \u003cmcgrathr@google.com\u003e\nReviewed-by: Joshua Seaton \u003cjoshuaseaton@google.com\u003e\nCommit-Queue: Auto-Submit \u003cauto-submit@fuchsia-infra.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "d65db32182be073546802bae239c461bd948c736",
      "tree": "17f51423a7f322142732feaaca1a93cc64670f43",
      "parents": [
        "09a7c3d2b5fc48148aedbeb8f1387e9548764bb2"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Tue Feb 16 22:53:40 2021 +0000"
      },
      "committer": {
        "name": "CQ Bot",
        "email": "commit-bot@chromium.org",
        "time": "Wed Feb 17 00:13:34 2021 +0000"
      },
      "message": "[build] Remove references to //zircon/public/lib/FOO\n\nThese targets are now just redirection groups to libraries\nunder //zircon/system/ulib/, so replace these references with\ntheir destination instead.\n\nBug: 70426\nChange-Id: Id60757d906625d8d5a56b2f050c08306b4c146a6\nReviewed-on: https://fuchsia-review.googlesource.com/c/third_party/leveldb/+/487357\nFuchsia-Auto-Submit: David Turner \u003cdigit@google.com\u003e\nReviewed-by: Shai Barack \u003cshayba@google.com\u003e\nCommit-Queue: Auto-Submit \u003cauto-submit@fuchsia-infra.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "09a7c3d2b5fc48148aedbeb8f1387e9548764bb2",
      "tree": "5c94542574a052d861a2fd71453fcb77c8aa9e7f",
      "parents": [
        "fa6ee2642364082c84a8155133c744e6fd2df9fb"
      ],
      "author": {
        "name": "Suraj Malhotra",
        "email": "surajmalhotra@google.com",
        "time": "Thu Jun 18 16:53:08 2020 -0700"
      },
      "committer": {
        "name": "CQ bot account: commit-bot@chromium.org",
        "email": "commit-bot@chromium.org",
        "time": "Fri Jun 19 02:49:40 2020 +0000"
      },
      "message": "[alln][fdio] Move //zircon/system/ulib/fdio to //sdk/lib/fdio\n\nBug: 54057\nChange-Id: I19629faf848d69ad77797056a007384b57d45616\nReviewed-on: https://fuchsia-review.googlesource.com/c/third_party/leveldb/+/400515\nReviewed-by: P.Y. Laligand \u003cpylaligand@google.com\u003e\nCommit-Queue: Suraj Malhotra \u003csurajmalhotra@google.com\u003e\n"
    },
    {
      "commit": "fa6ee2642364082c84a8155133c744e6fd2df9fb",
      "tree": "37fc74a2b8b1cda510127e3d0c7fb6bb52ebb2dd",
      "parents": [
        "8a33e0811b0d196ae59462a99455ad7386463912"
      ],
      "author": {
        "name": "P.Y. Laligand",
        "email": "pylaligand@google.com",
        "time": "Fri May 29 20:24:05 2020 +0000"
      },
      "committer": {
        "name": "CQ bot account: commit-bot@chromium.org",
        "email": "commit-bot@chromium.org",
        "time": "Sat May 30 07:26:09 2020 +0000"
      },
      "message": "[unification] Update label for fuchsia.io.\n\nBug: 36547\nChange-Id: I33986cc922c72400819f26f956d0bc6163b7141d\nReviewed-on: https://fuchsia-review.googlesource.com/c/third_party/leveldb/+/393658\nReviewed-by: Shai Barack \u003cshayba@google.com\u003e\nCommit-Queue: P.Y. Laligand \u003cpylaligand@google.com\u003e\n"
    },
    {
      "commit": "8a33e0811b0d196ae59462a99455ad7386463912",
      "tree": "142a0bde54e8194b8193112521483b8ec108e628",
      "parents": [
        "3982806eb837d7e33dda2d99576f3e6bd51afb0b"
      ],
      "author": {
        "name": "P.Y. Laligand",
        "email": "pylaligand@google.com",
        "time": "Fri May 15 18:38:11 2020 +0000"
      },
      "committer": {
        "name": "CQ bot account: commit-bot@chromium.org",
        "email": "commit-bot@chromium.org",
        "time": "Sat May 16 05:56:50 2020 +0000"
      },
      "message": "[unification] Update label for async-loop libraries.\n\nBug: 36548\nChange-Id: I7caedd0258f654f82402bfa3d321bb0d031b7c9d\nReviewed-on: https://fuchsia-review.googlesource.com/c/third_party/leveldb/+/390632\nReviewed-by: Shai Barack \u003cshayba@google.com\u003e\nCommit-Queue: P.Y. Laligand \u003cpylaligand@google.com\u003e\n"
    },
    {
      "commit": "3982806eb837d7e33dda2d99576f3e6bd51afb0b",
      "tree": "31ee33d7131e17331cf2c8f035f8f74552ae217b",
      "parents": [
        "6e8d22c685e8ffa18519f01a29653db27c1d89b2"
      ],
      "author": {
        "name": "P.Y. Laligand",
        "email": "pylaligand@google.com",
        "time": "Sat May 09 07:15:01 2020 +0000"
      },
      "committer": {
        "name": "CQ bot account: commit-bot@chromium.org",
        "email": "commit-bot@chromium.org",
        "time": "Tue May 12 06:10:15 2020 +0000"
      },
      "message": "[unification] Update label of syslog library.\n\nBug: 36548\nChange-Id: I5e55ae42e2bb0f15e3562f7a77d391967fec9064\nReviewed-on: https://fuchsia-review.googlesource.com/c/third_party/leveldb/+/388435\nReviewed-by: Shai Barack \u003cshayba@google.com\u003e\nCommit-Queue: P.Y. Laligand \u003cpylaligand@google.com\u003e\n"
    },
    {
      "commit": "6e8d22c685e8ffa18519f01a29653db27c1d89b2",
      "tree": "bc1e215abb9d1b2a654b57b4d6353a5616cad853",
      "parents": [
        "211e7c13ea97218cbc2c88b0dfba860a3087ba7d"
      ],
      "author": {
        "name": "Benjamin Wright",
        "email": "benwright@google.com",
        "time": "Wed Jan 15 14:42:35 2020 -0800"
      },
      "committer": {
        "name": "CQ bot account: commit-bot@chromium.org",
        "email": "commit-bot@chromium.org",
        "time": "Thu Jan 16 00:28:54 2020 +0000"
      },
      "message": "[leveldb] Replace tests from system-temp to isolated-temp.\n\nsystem-temp is being deprecated as we move to the more secure isolated-temp across the codebase.\nThis includes all test instances.\n\nBug: 25081\nChange-Id: Iabd9ed13b8a451308d878f6faf447f8bc10fcd05\n"
    },
    {
      "commit": "211e7c13ea97218cbc2c88b0dfba860a3087ba7d",
      "tree": "bc1e215abb9d1b2a654b57b4d6353a5616cad853",
      "parents": [
        "3dd61d45c3a08390146ee6aa8850a52863536aad"
      ],
      "author": {
        "name": "Benjamin Wright",
        "email": "benwright@google.com",
        "time": "Tue Dec 10 16:19:14 2019 -0800"
      },
      "committer": {
        "name": "Benjamin Wright",
        "email": "benwright@google.com",
        "time": "Thu Dec 12 19:09:26 2019 +0000"
      },
      "message": "[leveldb] - Replace usage of \"system-temp\" with \"isolated-temp\".\n\nSystem-temp is global and deprecated. This change replaces system-temp\nwith isolated-temp which is per component instance.\n\nBug: 25092\nChange-Id: Ib39e5c516504b4b7984859ddd6c7ed78bca54907\n"
    },
    {
      "commit": "3dd61d45c3a08390146ee6aa8850a52863536aad",
      "tree": "5ea055acd926cc25d261028ed808f38261e5e051",
      "parents": [
        "9df3ed935f49a100e0d8be8fda78110522dee986"
      ],
      "author": {
        "name": "Vivek Srinivasan",
        "email": "srinivasanv@google.com",
        "time": "Wed Nov 06 11:18:06 2019 -0800"
      },
      "committer": {
        "name": "Vivek Srinivasan",
        "email": "srinivasanv@google.com",
        "time": "Fri Nov 15 16:17:14 2019 -0800"
      },
      "message": "[leveldb] Clean up leveldb code to remove all dependencies to //src.\nThis is required in order to export leveldb to google3.\n\nChange-Id: I52f4d6ba5096d39fb7af02f3a23be3230045f139\n"
    },
    {
      "commit": "9df3ed935f49a100e0d8be8fda78110522dee986",
      "tree": "9f59076963ed8cc401608ae96238870e55421461",
      "parents": [
        "f9b895065c9d68faaf7e08d4f2eec24ce36605cb"
      ],
      "author": {
        "name": "James Robinson",
        "email": "jamesr@google.com",
        "time": "Tue Oct 15 16:26:35 2019 -0700"
      },
      "committer": {
        "name": "James Robinson",
        "email": "jamesr@google.com",
        "time": "Tue Oct 15 16:26:35 2019 -0700"
      },
      "message": "[shuffle] Update references to moved fsl and syslog libraries\n\nThis updates the build system references and #includes for the fsl and\nsyslog libraries which now live in //src/lib.\n\nBug: 36063\nChange-Id: If770b6a6deda41af4175d5fc75e669c5694bdb72\n"
    },
    {
      "commit": "f9b895065c9d68faaf7e08d4f2eec24ce36605cb",
      "tree": "b3c4f98efaff4f46ec9e1ac1f7faa6d999dd2294",
      "parents": [
        "858f7b9bceef75bef6867b6fde8793eba3aa8312"
      ],
      "author": {
        "name": "Todd Eisenberger",
        "email": "teisenbe@google.com",
        "time": "Tue Sep 03 13:26:59 2019 -0700"
      },
      "committer": {
        "name": "CQ bot account: commit-bot@chromium.org",
        "email": "commit-bot@chromium.org",
        "time": "Wed Sep 04 19:42:09 2019 +0000"
      },
      "message": "[leveldb] Migrate to new libasync-loop API\n\nBug: 31742\nChange-Id: I4bf2e7a43677391f8db31aacbba9d5e35bfe3b77\n"
    },
    {
      "commit": "858f7b9bceef75bef6867b6fde8793eba3aa8312",
      "tree": "8c7c85dc46815f18e1c6f0f18e771ecd6e04bd45",
      "parents": [
        "b441c965a99be7fb693d2d5c6d6169e2bbb352f2"
      ],
      "author": {
        "name": "P.Y. Laligand",
        "email": "pylaligand@google.com",
        "time": "Tue Aug 27 08:15:50 2019 -0700"
      },
      "committer": {
        "name": "P.Y. Laligand",
        "email": "pylaligand@google.com",
        "time": "Thu Aug 29 09:19:29 2019 -0700"
      },
      "message": "[build] //zircon/public/fidl --\u003e //zircon/system/fidl\n\nBug: 35562\nChange-Id: I011aa418c4c8a3b61e42160231ce18f4c1003ee0\n"
    },
    {
      "commit": "b441c965a99be7fb693d2d5c6d6169e2bbb352f2",
      "tree": "fe6abcf535af767eeaadbcded1ac897dde30ca95",
      "parents": [
        "353b97c0291f6b6ddbe99f79091ed8c22f272ba4"
      ],
      "author": {
        "name": "Ian McKellar",
        "email": "ianloic@google.com",
        "time": "Mon Aug 05 11:35:42 2019 -0700"
      },
      "committer": {
        "name": "Ian McKellar",
        "email": "ianloic@google.com",
        "time": "Mon Aug 05 11:35:42 2019 -0700"
      },
      "message": "[fidl][leveldb] Migrate to new fit::optional compatible APIs\n\nUpdated all call-sites.\n\nSee: https://fuchsia-review.googlesource.com/c/fuchsia/+/304389\n\nFIDL-564 #comment\n\nChange-Id: I4bf4ffcafc11d0d2affe1c0793da2607cf0a187d\n"
    },
    {
      "commit": "353b97c0291f6b6ddbe99f79091ed8c22f272ba4",
      "tree": "295ee1d8f0dbc90261e76809cf10d65577386b7a",
      "parents": [
        "f0a807577a9fd0dc1a2a8590a109d62073ca01c1"
      ],
      "author": {
        "name": "Etienne J. Membrives",
        "email": "etiennej@google.com",
        "time": "Tue Jun 04 15:59:35 2019 +0200"
      },
      "committer": {
        "name": "Etienne J. Membrives",
        "email": "etiennej@google.com",
        "time": "Tue Jun 04 18:11:02 2019 +0200"
      },
      "message": "[leveldb] Join the background thread on environment destruction.\n\nWhen the Fuchsia environment is destroyed, we should wait for the\nbackground thread to finish and join before returning and further\ndestroying the object. This ensures that no resource is accessed by the\nbackground thread after the environment destruction.\n\nAlso, use more C++ primitives for multithreading to ensure better memory\nmanagement.\n\nLE-745 #comment Further blocking bug.\n\nChange-Id: I42fb6cebd364c5f7543f1fc1b2a48b6ec7ca8e64\n"
    },
    {
      "commit": "f0a807577a9fd0dc1a2a8590a109d62073ca01c1",
      "tree": "74c40c1482a9d676a9ac1ac57983b40ed3175aa8",
      "parents": [
        "9d1b42f30c128cf9e1a9d86a908c27e604f8ce72"
      ],
      "author": {
        "name": "Erick Tryzelaar",
        "email": "etryzelaar@google.com",
        "time": "Tue May 28 12:45:20 2019 -0700"
      },
      "committer": {
        "name": "CQ bot account: commit-bot@chromium.org",
        "email": "commit-bot@chromium.org",
        "time": "Wed May 29 15:43:11 2019 +0000"
      },
      "message": "Port tests to components\n\nBug: CF-789\nChange-Id: I206725cad5e996cc13d10b8617a4b989f82fa867\n"
    },
    {
      "commit": "9d1b42f30c128cf9e1a9d86a908c27e604f8ce72",
      "tree": "8b963bee44a66694306ea6d025b540f3c158900c",
      "parents": [
        "fcea50ca97946b0e67c79d027234be6ab128fa7f"
      ],
      "author": {
        "name": "Roland McGrath",
        "email": "mcgrathr@google.com",
        "time": "Sat May 11 15:06:32 2019 -0700"
      },
      "committer": {
        "name": "Roland McGrath",
        "email": "mcgrathr@google.com",
        "time": "Sat May 11 15:06:32 2019 -0700"
      },
      "message": "[fidl] Convert from - to . names for //zircon/public/fidl\n\nThis is part of a soft transition to replace fuchsia-foo-bar names\nwith fuchsia.foo.bar names for the directory and GN target names for\nFIDL libraries defined in //zircon/system/fidl and accessed in legacy\nGN via //zircon/public/fidl.  After the transition, the directory and\nGN target names will exactly match the FIDL library names everywhere.\n 1. Make //zircon/public/fidl/a.b.c alias //zircon/public/fidl/a-b-c\n 2. Convert all //zircon/public/fidl uses outside fuchsia.git \u0026 integrate\n 3. Convert all //zircon/public/fidl uses inside fuchsia.git\n 4. Remove transition hacks\n 5. Enforce naming conventions in GN templates\nThis is step 2.\n\nBug: ZX-3365 #comment //third_party/leveldb references converted\nChange-Id: Ia36a66312bd5be0bacf302f6bf823c2714d1800d\n"
    },
    {
      "commit": "fcea50ca97946b0e67c79d027234be6ab128fa7f",
      "tree": "bfa0927a8f5a9b8b1437034d1174dbf02402d016",
      "parents": [
        "eae98d82ace9af44fa601c62ca021a6b30f7b16c"
      ],
      "author": {
        "name": "Yifei Teng",
        "email": "yifeit@google.com",
        "time": "Sun Mar 17 17:33:09 2019 -0700"
      },
      "committer": {
        "name": "Yifei Teng",
        "email": "yifeit@google.com",
        "time": "Sun Mar 17 17:33:09 2019 -0700"
      },
      "message": "[env][fs] Pass rights when creating a new directory\n\nThis is part of a soft transition to a hierarchical rights model.\nThe main CL is:\nhttps://fuchsia-review.googlesource.com/c/fuchsia/+/249124\n\nWhen calling Directory/Open(), the caller must either specify\nOPEN_FLAG_NODE_REFERENCE, or always specify some rights flags.\n\nTEST\u003dleveldb_tests, ledger_integration_tests, ledger_e2e_local\n\nChange-Id: I517b18606dca9ee84b2c681f68b462b18a2f1215\n"
    },
    {
      "commit": "eae98d82ace9af44fa601c62ca021a6b30f7b16c",
      "tree": "11433c27c7d3833645b5eeddafb10dd46ca16917",
      "parents": [
        "f6dbca87322a86aca5e416138f2b4a72f5b30ea7"
      ],
      "author": {
        "name": "Yifei Teng",
        "email": "yifeit@google.com",
        "time": "Sat Mar 16 00:53:58 2019 -0700"
      },
      "committer": {
        "name": "Yifei Teng",
        "email": "yifeit@google.com",
        "time": "Sat Mar 16 00:53:58 2019 -0700"
      },
      "message": "[env][fs] Pass the proper flags to Open\n\nThis is part of a soft transition to a hierarchical rights model.\nThe main CL is:\nhttps://fuchsia-review.googlesource.com/c/fuchsia/+/249124\n\nTEST\u003dleveldb_tests, ledger_integration_tests, ledger_e2e_local\n\nChange-Id: I3e5e77a4bf882017913db9deafd615227f3a80cf\n"
    },
    {
      "commit": "f6dbca87322a86aca5e416138f2b4a72f5b30ea7",
      "tree": "d356b579a44b7b6af2140f56e83ccda14e65755c",
      "parents": [
        "2b82f4306f6e818f2ee18c54d5b01fdc6f2b53be"
      ],
      "author": {
        "name": "Adam Barth",
        "email": "abarth@google.com",
        "time": "Fri Jan 18 15:17:23 2019 -0800"
      },
      "committer": {
        "name": "Adam Barth",
        "email": "abarth@google.com",
        "time": "Fri Jan 18 15:20:11 2019 -0800"
      },
      "message": "[fuchsia] Switch to fuchsia.io.File/GetBuffer\n\nThe GetVmo message will be removed soon.\n\nTest: No behavior change\nChange-Id: I8c60eb04d2889433d878afb3b5c88733e27b5f0a\n"
    },
    {
      "commit": "2b82f4306f6e818f2ee18c54d5b01fdc6f2b53be",
      "tree": "64f46cbf0f78a0f1d7c98a2b95f20c4fc8f42b6d",
      "parents": [
        "06f21010e4a1aa54f8dcf5f0d86702ae49a834cd"
      ],
      "author": {
        "name": "Ian McKellar",
        "email": "ianloic@google.com",
        "time": "Wed Dec 26 21:21:18 2018 -0800"
      },
      "committer": {
        "name": "Ian McKellar",
        "email": "ianloic@google.com",
        "time": "Wed Jan 02 10:34:29 2019 -0800"
      },
      "message": "[fidl][cpp] Use std:: types for non-nullable strings and vectors.\n\nSee: https://fuchsia-review.googlesource.com/c/garnet/+/236996\n\nTest: built everything, CQ, booted and poked around\n\nChange-Id: Ie2a50b80aefd5ab6ec4c62d14653badb90e0bb4f\n"
    },
    {
      "commit": "06f21010e4a1aa54f8dcf5f0d86702ae49a834cd",
      "tree": "29707358826a22a20f1308b40f4b33e9a3f00e81",
      "parents": [
        "0187c9292ec0f9f997e18b48d1e7996efb256611"
      ],
      "author": {
        "name": "Ambre Williams",
        "email": "ambre@google.com",
        "time": "Thu Nov 29 15:42:30 2018 +0100"
      },
      "committer": {
        "name": "Ambre Williams",
        "email": "ambre@google.com",
        "time": "Thu Nov 29 15:46:45 2018 +0100"
      },
      "message": "[env_fuchsia] fix includes and dependencies\n\nMissing dependencies were causing random build failures. This change\nmakes them explicit, and removes an unnecessary include.\n\nTest: builds after running fx build-zircon on an empty out dir\nChange-Id: If75a4d0cfeb96ff3154cda166ea2ea8509256d9e\n"
    },
    {
      "commit": "0187c9292ec0f9f997e18b48d1e7996efb256611",
      "tree": "ccd0cef551ee0b255682ee97f52da3bb88b83701",
      "parents": [
        "7b6b590cb22a53cac7dff58afa48130d4a16c06e"
      ],
      "author": {
        "name": "Ambre Williams",
        "email": "ambre@google.com",
        "time": "Tue Nov 06 13:54:01 2018 +0100"
      },
      "committer": {
        "name": "Ambre Williams",
        "email": "ambre@google.com",
        "time": "Wed Nov 21 18:00:46 2018 +0100"
      },
      "message": "[env] Use FIDL IO in env_fuchsia\n\nFuchsiaEnv now does not use fds, except for getting the initial\ndirectory. All IO is done using FIDL IO. Random access files use VMOs if\nthe filesystem supports it.\n\nTEST\u003dleveldb_tests, ledger_integration_tests, ledger_e2e_local\n\nLE-524 #done\n\nCo-authored-by: Maria Glukhova \u003cmariagl@google.com\u003e\nChange-Id: I19a1d46fa0f571af173f28dc79c584a50e29cb77\n"
    },
    {
      "commit": "7b6b590cb22a53cac7dff58afa48130d4a16c06e",
      "tree": "07e7ba842496bf1e9f53b1d2e85237f86541f421",
      "parents": [
        "06d9c9e9311912c5050fb1ca37e4cae407db8ebf"
      ],
      "author": {
        "name": "Etienne Membrives",
        "email": "etiennej@google.com",
        "time": "Thu Aug 16 16:07:00 2018 +0200"
      },
      "committer": {
        "name": "Etienne Membrives",
        "email": "etiennej@google.com",
        "time": "Thu Aug 16 17:00:15 2018 +0200"
      },
      "message": "[third_party][leveldb] Ensure tests do not flake.\n\nUse a timeout in a loop instead of a single timeout in multithreaded\nleveldb tests to ensure there is no flake.\n\nTESTED\u003dlevedb_tests\n\nLE-571 #done\n\nChange-Id: I3a90258b06d5845ff28634fddc3ea500a47020bf\n"
    },
    {
      "commit": "06d9c9e9311912c5050fb1ca37e4cae407db8ebf",
      "tree": "04a7e8aef9aab1e92625e9217a1a3423a5745de2",
      "parents": [
        "7e4157cba4b828ac925a3997cba94aefa1f0e4e3"
      ],
      "author": {
        "name": "Maria Glukhova",
        "email": "mariagl@google.com",
        "time": "Thu Aug 02 15:24:44 2018 +0200"
      },
      "committer": {
        "name": "Maria Glukhova",
        "email": "mariagl@google.com",
        "time": "Thu Aug 02 15:29:55 2018 +0200"
      },
      "message": "Change the packaging of leveldb tests and benchmarks.\n\nFor tests, move them off the deprecated_system_package and move the\nexecutable from bin/ to tests/ (that should enable them on CI/CQ).\n\nFor benchmarks, create a separate package that provides a single binary,\nso that they could be manually run on the Fuchsia device.\n\nChange-Id: I54446588ae55c5f0dfa3a5513b0f95739139cb49\n"
    },
    {
      "commit": "7e4157cba4b828ac925a3997cba94aefa1f0e4e3",
      "tree": "66f4d558e8a26082a5f4f8046071e4610dbdae5b",
      "parents": [
        "28d16bb2e64a55bb96bb81bb35db5e7c5c52332f"
      ],
      "author": {
        "name": "Maria Glukhova",
        "email": "mariagl@google.com",
        "time": "Wed Aug 01 17:37:22 2018 +0200"
      },
      "committer": {
        "name": "Maria Glukhova",
        "email": "mariagl@google.com",
        "time": "Wed Aug 01 17:37:22 2018 +0200"
      },
      "message": "Update Fuchsia implementation of env.h.\n\nThis updates env_fuchsia.cc based on the changes made to env_posix.cc\nsince we last exported it.\n\nIn particular:\n * Generalize IOError to FuchsiaError (based on 8415f00)\n * Add more thread safety annotations (based on 0db3041)\n * Replace NULL with nullptr (based on 09217fd)\n\nIn addition, add new tests (Status and Logging) to the list of build\ntargets.\n\nLE-523 #done Updated Fuchsia implementation of env.h\n\nChange-Id: Ic9582b6ba0c96bad34c9feb79cead9288858bff1\n"
    },
    {
      "commit": "28d16bb2e64a55bb96bb81bb35db5e7c5c52332f",
      "tree": "a971974cad39f0de8a97c59c14596f95e2ecde5b",
      "parents": [
        "1242372f0edb4ff7bb0e242bd4274393c3c6a984",
        "6caf73ad9dae0ee91873bcb39554537b85163770"
      ],
      "author": {
        "name": "Maria Glukhova",
        "email": "mariagl@google.com",
        "time": "Wed Aug 01 13:54:48 2018 +0200"
      },
      "committer": {
        "name": "Maria Glukhova",
        "email": "mariagl@google.com",
        "time": "Wed Aug 01 14:59:51 2018 +0200"
      },
      "message": "Merge upstream changes into Ledger\u0027s version of leveldb.\n\nUpdates our version of leveldb and makes necessary changes to BUILD.gn\nto make it build.\n\nLE-523 That starts the transition, but doesn\u0027t include changes to our\nimplementation of env.h\n\nChange-Id: I27b2163aa96e7eef16ca90a64ca3f89942e1428f\n"
    },
    {
      "commit": "6caf73ad9dae0ee91873bcb39554537b85163770",
      "tree": "6cb793172f082230ea0e23c972e63935cdd8de81",
      "parents": [
        "6a6bdafcf10f5d4bef1ca52697c38d10c28b1a8b"
      ],
      "author": {
        "name": "costan",
        "email": "costan@google.com",
        "time": "Mon Jun 04 12:29:13 2018 -0700"
      },
      "committer": {
        "name": "Victor Costan",
        "email": "pwnall@chromium.org",
        "time": "Mon Jun 04 17:24:44 2018 -0700"
      },
      "message": "Clean up Iterator.\n\nThis CL renames the private struct Iterator::Cleanup -\u003e\nIterator::CleanupNode, to better reflect that it\u0027s a linked list node,\nand extracts duplicated code from its user in IsEmpty() and Run()\nmethods.\n\n-------------\nCreated by MOE: https://github.com/google/moe\nMOE_MIGRATED_REVID\u003d199175058\n"
    },
    {
      "commit": "6a6bdafcf10f5d4bef1ca52697c38d10c28b1a8b",
      "tree": "9e8074e414e49fc4bc0d86729c0439b4a2993c94",
      "parents": [
        "18683981505dc374ce29211c80a9552f8f2f4571"
      ],
      "author": {
        "name": "cmumford",
        "email": "cmumford@google.com",
        "time": "Mon May 21 13:53:36 2018 -0700"
      },
      "committer": {
        "name": "Victor Costan",
        "email": "pwnall@chromium.org",
        "time": "Mon Jun 04 16:14:34 2018 -0700"
      },
      "message": "Corrected typo in docs: \"cache\" to \"block_cache\".\n\n-------------\nCreated by MOE: https://github.com/google/moe\nMOE_MIGRATED_REVID\u003d197452015\n"
    },
    {
      "commit": "1242372f0edb4ff7bb0e242bd4274393c3c6a984",
      "tree": "6feb05a38819c8de8585913e224aab3d76ef37b4",
      "parents": [
        "4861e437041123673d5d9a2a3188057874b03ee7"
      ],
      "author": {
        "name": "Petr Hosek",
        "email": "phosek@google.com",
        "time": "Tue May 15 20:49:24 2018 -0700"
      },
      "committer": {
        "name": "Petr Hosek",
        "email": "phosek@google.com",
        "time": "Wed May 16 17:33:57 2018 +0000"
      },
      "message": "Update README.fuchsia\n\nChange-Id: I02026f72a6699e4463a55e8a33c0190c691714f8\n"
    },
    {
      "commit": "4861e437041123673d5d9a2a3188057874b03ee7",
      "tree": "57431f85424ca7b2fc99d4fcd030e9aa4e72742b",
      "parents": [
        "ea94f2b4718d1e7e8ffb3e8ccf7f32a50f8a2387"
      ],
      "author": {
        "name": "Benjamin Lerman",
        "email": "qsr@chromium.org",
        "time": "Tue May 15 16:32:15 2018 +0200"
      },
      "committer": {
        "name": "Benjamin Lerman",
        "email": "qsr@chromium.org",
        "time": "Tue May 15 18:21:39 2018 +0200"
      },
      "message": "[fd] Allow to use a database relative to a fd.\n\nAdd a new leveldb environment for Fuchsia that takes a file descriptor\nand resolve all relative path with it.\n\nChange-Id: I6ab8ef8fff2729c4e859120ba8c0a357f28aab3d\n"
    },
    {
      "commit": "18683981505dc374ce29211c80a9552f8f2f4571",
      "tree": "539de50e1d72a1c2df017e6f531058cc7cbb80c4",
      "parents": [
        "e7840de9f3db1a5eddedfecbbbc1ff72a4c2631a"
      ],
      "author": {
        "name": "costan",
        "email": "costan@google.com",
        "time": "Mon Apr 30 15:11:03 2018 -0700"
      },
      "committer": {
        "name": "Victor Costan",
        "email": "pwnall@chromium.org",
        "time": "Mon Apr 30 16:01:39 2018 -0700"
      },
      "message": "Clean up SnapshotImpl.\n\n* Omit SnapshotImpl::list_ when assert() isn\u0027t on\n* Make SnapshotImpl::number_ const and set it in the constructor\n* Make SnapshotImpl::number_ private and access it via a getter\n* Rename SnapshotImpl::number_ to SnapshotImpl::sequence_number_\n* Rename SnapshotList::list_ to SnapshotList::head_\n* Wrap casting from Snapshot* to SnapshotImpl* in ToSnapshotImpl()\n\n-------------\nCreated by MOE: https://github.com/google/moe\nMOE_MIGRATED_REVID\u003d194852828\n"
    },
    {
      "commit": "e7840de9f3db1a5eddedfecbbbc1ff72a4c2631a",
      "tree": "7945dcfba5e846ae178325962cbeeae72896644c",
      "parents": [
        "bc23e00f955eadb9e26f8ce07c1c664e7b985ff0"
      ],
      "author": {
        "name": "cmumford",
        "email": "cmumford@google.com",
        "time": "Fri Apr 27 09:14:32 2018 -0700"
      },
      "committer": {
        "name": "Victor Costan",
        "email": "pwnall@chromium.org",
        "time": "Mon Apr 30 15:50:26 2018 -0700"
      },
      "message": "Fix documentation for log file growth.\n\nThis fixes #546 reported on GitHub.\n\n-------------\nCreated by MOE: https://github.com/google/moe\nMOE_MIGRATED_REVID\u003d194549692\n"
    },
    {
      "commit": "bc23e00f955eadb9e26f8ce07c1c664e7b985ff0",
      "tree": "a6414a6afbce00af96eec657d012644dfcb6774b",
      "parents": [
        "4de9594f6fbfd69043239a5705b5f32065f02d34"
      ],
      "author": {
        "name": "cmumford",
        "email": "cmumford@google.com",
        "time": "Fri Apr 27 09:00:28 2018 -0700"
      },
      "committer": {
        "name": "Victor Costan",
        "email": "pwnall@chromium.org",
        "time": "Mon Apr 30 15:49:58 2018 -0700"
      },
      "message": "Update default log file size in doc.\n\nThe default size was changed in #f779e7a5 but the documentation was\nnever updated.\n\nThis fixes #566 reported on GitHub.\n\n-------------\nCreated by MOE: https://github.com/google/moe\nMOE_MIGRATED_REVID\u003d194547959\n"
    },
    {
      "commit": "4de9594f6fbfd69043239a5705b5f32065f02d34",
      "tree": "3595b748b26cc1744c7c22074bc770ee32f1f900",
      "parents": [
        "d177a0263cce4344d05188521ad53459c369b940"
      ],
      "author": {
        "name": "costan",
        "email": "costan@google.com",
        "time": "Mon Apr 23 16:15:21 2018 -0700"
      },
      "committer": {
        "name": "Victor Costan",
        "email": "pwnall@chromium.org",
        "time": "Mon Apr 23 16:22:30 2018 -0700"
      },
      "message": "Add move constructor to Status.\n\nThis will result in smaller code generation when Status instances are\npassed around.\n\nBenchmarks don\u0027t indicate a significant change either way.\nCPU:        48 * Intel(R) Xeon(R) CPU E5-2690 v3 @ 2.60GHz\nCPUCache:   30720 KB\nKeys:       16 bytes each\nValues:     100 bytes each (50 bytes after compression)\nEntries:    1000000\nRawSize:    110.6 MB (estimated)\nFileSize:   62.9 MB (estimated)\n\nBaseline:\nfillseq      :       3.589 micros/op;   30.8 MB/s\nfillsync     :    4165.299 micros/op;    0.0 MB/s (1000 ops)\nfillrandom   :       5.864 micros/op;   18.9 MB/s\noverwrite    :       7.830 micros/op;   14.1 MB/s\nreadrandom   :       5.534 micros/op; (1000000 of 1000000 found)\nreadrandom   :       4.292 micros/op; (1000000 of 1000000 found)\nreadseq      :       0.312 micros/op;  354.1 MB/s\nreadreverse  :       0.501 micros/op;  220.8 MB/s\ncompact      :  886211.000 micros/op;\nreadrandom   :       3.518 micros/op; (1000000 of 1000000 found)\nreadseq      :       0.251 micros/op;  441.2 MB/s\nreadreverse  :       0.456 micros/op;  242.4 MB/s\nfill100K     :    1329.723 micros/op;   71.7 MB/s (1000 ops)\ncrc32c       :       1.976 micros/op; 1976.7 MB/s (4K per op)\nsnappycomp   :       4.705 micros/op;  830.2 MB/s (output: 55.1%)\nsnappyuncomp :       0.958 micros/op; 4079.1 MB/s\nacquireload  :       0.727 micros/op; (each op is 1000 loads)\n\nNew:\nfillseq      :       3.129 micros/op;   35.4 MB/s\nfillsync     :    2748.099 micros/op;    0.0 MB/s (1000 ops)\nfillrandom   :       5.394 micros/op;   20.5 MB/s\noverwrite    :       7.253 micros/op;   15.3 MB/s\nreadrandom   :       5.655 micros/op; (1000000 of 1000000 found)\nreadrandom   :       4.425 micros/op; (1000000 of 1000000 found)\nreadseq      :       0.298 micros/op;  371.3 MB/s\nreadreverse  :       0.508 micros/op;  217.9 MB/s\ncompact      :  885842.000 micros/op;\nreadrandom   :       3.545 micros/op; (1000000 of 1000000 found)\nreadseq      :       0.252 micros/op;  438.2 MB/s\nreadreverse  :       0.425 micros/op;  260.2 MB/s\nfill100K     :    1418.347 micros/op;   67.2 MB/s (1000 ops)\ncrc32c       :       1.987 micros/op; 1966.0 MB/s (4K per op)\nsnappycomp   :       4.767 micros/op;  819.4 MB/s (output: 55.1%)\nsnappyuncomp :       0.916 micros/op; 4264.9 MB/s\nacquireload  :       0.665 micros/op; (each op is 1000 loads)\n\n-------------\nCreated by MOE: https://github.com/google/moe\nMOE_MIGRATED_REVID\u003d194002392\n"
    },
    {
      "commit": "d177a0263cce4344d05188521ad53459c369b940",
      "tree": "0777844f4688d9f27040a9fe5defdb8b98c402c9",
      "parents": [
        "14cce848e7b8a040a8f457d5a796722a55e19597"
      ],
      "author": {
        "name": "costan",
        "email": "costan@google.com",
        "time": "Tue Apr 17 13:23:10 2018 -0700"
      },
      "committer": {
        "name": "Victor Costan",
        "email": "pwnall@chromium.org",
        "time": "Tue Apr 17 13:26:47 2018 -0700"
      },
      "message": "Replace port_posix with port_stdcxx.\n\nThe porting layer implements threading primitives: atomic pointers,\ncondition variables, mutexes, thread-safe initialization. These are all\nspecified in C++11, so the reference open source port implementation can\nbecome platform-independent.\n\nThe porting layer will remain in place to allow the use of other\nimplementations with more features, such as the built-in deadlock\ndetection in abseil\u0027s Mutex.\n\n-------------\nCreated by MOE: https://github.com/google/moe\nMOE_MIGRATED_REVID\u003d193245934\n"
    },
    {
      "commit": "14cce848e7b8a040a8f457d5a796722a55e19597",
      "tree": "aff9aeabacea713a6606dd9bfa3a6184384798b1",
      "parents": [
        "8046a51b21114d3575421bfc78b1d98b1678720a"
      ],
      "author": {
        "name": "MarcoFalke",
        "email": "falke.marco@gmail.com",
        "time": "Mon Apr 16 12:27:06 2018 -0700"
      },
      "committer": {
        "name": "Victor Costan",
        "email": "pwnall@chromium.org",
        "time": "Mon Apr 16 18:13:09 2018 -0700"
      },
      "message": "Fix sign mismatch warnings in GCC.\n\nThis was contributed in https://github.com/google/leveldb/pull/492\n\n-------------\nCreated by MOE: https://github.com/google/moe\nMOE_MIGRATED_REVID\u003d193080913\n"
    },
    {
      "commit": "ea94f2b4718d1e7e8ffb3e8ccf7f32a50f8a2387",
      "tree": "2847864dbefc2a36eb8b7ef001cb2254f268836e",
      "parents": [
        "237a042b6df404ed2a4a53eb1398b409bbabfd80"
      ],
      "author": {
        "name": "Damien Miller",
        "email": "djm@google.com",
        "time": "Wed Apr 04 17:35:24 2018 +1000"
      },
      "committer": {
        "name": "Damien Miller",
        "email": "djm@google.com",
        "time": "Sat Apr 14 01:09:55 2018 +0000"
      },
      "message": "Update README.fuchsia\n\nChange-Id: Id2abbee19667b473b3d5927bd27bf106f07d8893\n"
    },
    {
      "commit": "8046a51b21114d3575421bfc78b1d98b1678720a",
      "tree": "01b4c84f747a7b021d1336b352ed31b3b8da5448",
      "parents": [
        "a0008deb679480fd30e845d7e52421af72160c2c"
      ],
      "author": {
        "name": "costan",
        "email": "costan@google.com",
        "time": "Fri Apr 13 16:17:51 2018 -0700"
      },
      "committer": {
        "name": "Victor Costan",
        "email": "pwnall@chromium.org",
        "time": "Fri Apr 13 16:21:07 2018 -0700"
      },
      "message": "Add forgotten \u003climits\u003e header to util/logging.cc.\n\nCommit a0008deb679480fd30e845d7e52421af72160c2c introduced\nstd::numeric_limits usage in logging.cc, but didn\u0027t #include \u003climits\u003e\n\n-------------\nCreated by MOE: https://github.com/google/moe\nMOE_MIGRATED_REVID\u003d192840190\n"
    },
    {
      "commit": "a0008deb679480fd30e845d7e52421af72160c2c",
      "tree": "0d93e1696f1d097c042f610f6c3c175dadf3136f",
      "parents": [
        "1f7dd5d5f6822f2b0b9f9e4c7d87d4535c122c0e"
      ],
      "author": {
        "name": "costan",
        "email": "costan@google.com",
        "time": "Fri Apr 13 15:17:46 2018 -0700"
      },
      "committer": {
        "name": "Victor Costan",
        "email": "pwnall@chromium.org",
        "time": "Fri Apr 13 15:37:20 2018 -0700"
      },
      "message": "Reimplement ConsumeDecimalNumber.\n\nThe old implementation caused odd crashes on ARM, which were fixed by\nchanging a local variable type. The main suspect is the use of a static\nlocal variable. This CL replaces the static local variable with\nconstexpr, which still ensures the compiler sees the expressions as\nconstants.\n\nThe CL also replaces Slice operations in the functions\u0027 inner loop with\niterator-style pointer operations, which can help the compiler generate\nless code.\n\n-------------\nCreated by MOE: https://github.com/google/moe\nMOE_MIGRATED_REVID\u003d192832175\n"
    },
    {
      "commit": "1f7dd5d5f6822f2b0b9f9e4c7d87d4535c122c0e",
      "tree": "d2a558c1ccc64f58b7b1d0520dfeea82b176f52b",
      "parents": [
        "1cc8b10b8232e174d5bd1313959825727e03faa7"
      ],
      "author": {
        "name": "costan",
        "email": "costan@google.com",
        "time": "Fri Apr 13 14:12:06 2018 -0700"
      },
      "committer": {
        "name": "Victor Costan",
        "email": "pwnall@chromium.org",
        "time": "Fri Apr 13 15:36:55 2018 -0700"
      },
      "message": "Add tests for ConsumeDecimalNumber.\n\nConsumeDecimalNumber has fairly non-trivial logic, and a previous\nversion has crashed inexplicably on Android. Having some test coverage\nwill make it easier to tweak / simplify the function later on.\n\n-------------\nCreated by MOE: https://github.com/google/moe\nMOE_MIGRATED_REVID\u003d192821751\n"
    },
    {
      "commit": "1cc8b10b8232e174d5bd1313959825727e03faa7",
      "tree": "fdd90e74d0fb3c4bfdd1fd6c174b0879b94f1295",
      "parents": [
        "09217fd0677a4fd9713c7a4d774c494a7d3c1f15"
      ],
      "author": {
        "name": "costan",
        "email": "costan@google.com",
        "time": "Wed Apr 11 12:27:57 2018 -0700"
      },
      "committer": {
        "name": "Victor Costan",
        "email": "pwnall@chromium.org",
        "time": "Wed Apr 11 12:57:42 2018 -0700"
      },
      "message": "Document the building process.\n\n-------------\nCreated by MOE: https://github.com/google/moe\nMOE_MIGRATED_REVID\u003d192490601\n"
    },
    {
      "commit": "09217fd0677a4fd9713c7a4d774c494a7d3c1f15",
      "tree": "7b22f6275e16b1cb5059aa726d59e8c5a357c1d5",
      "parents": [
        "6a3b915166fce75aaf9ac209114a3ad9caa34171"
      ],
      "author": {
        "name": "costan",
        "email": "costan@google.com",
        "time": "Tue Apr 10 16:18:06 2018 -0700"
      },
      "committer": {
        "name": "Victor Costan",
        "email": "pwnall@chromium.org",
        "time": "Tue Apr 10 16:26:43 2018 -0700"
      },
      "message": "Replace NULL with nullptr in C++ files.\n\n-------------\nCreated by MOE: https://github.com/google/moe\nMOE_MIGRATED_REVID\u003d192365747\n"
    },
    {
      "commit": "6a3b915166fce75aaf9ac209114a3ad9caa34171",
      "tree": "d5dfc34ed0e1e840e0abed6d1094535763088118",
      "parents": [
        "260655b4c294991fe03bf6ab8b6d722ccfc41d32"
      ],
      "author": {
        "name": "costan",
        "email": "costan@google.com",
        "time": "Tue Apr 10 16:12:14 2018 -0700"
      },
      "committer": {
        "name": "Victor Costan",
        "email": "pwnall@chromium.org",
        "time": "Tue Apr 10 16:26:27 2018 -0700"
      },
      "message": "Remove PLATFORM_IS_LITTLE_ENDIAN from port/posix.h.\n\nThis is an accidental leftover from the CMake migration. The macro has\nbeen replaced with LEVELDB_IS_BIG_ENDIAN.\n\n-------------\nCreated by MOE: https://github.com/google/moe\nMOE_MIGRATED_REVID\u003d192364918\n"
    },
    {
      "commit": "237a042b6df404ed2a4a53eb1398b409bbabfd80",
      "tree": "03023ba2d149ee479fb96f154dc8fac136258a11",
      "parents": [
        "bf9159319736b7d0d2a49c3a99a11f1efe4c79b4"
      ],
      "author": {
        "name": "George Kulakowski",
        "email": "kulakowski@google.com",
        "time": "Tue Apr 10 16:10:48 2018 -0700"
      },
      "committer": {
        "name": "George Kulakowski",
        "email": "kulakowski@google.com",
        "time": "Tue Apr 10 16:10:48 2018 -0700"
      },
      "message": "[pkg] Use the new deprecated_system_package alias\n\nPKG-46\n\nChange-Id: If21dfb4166503a515950cd2bbbb9a5cbdd09b3eb\n"
    },
    {
      "commit": "260655b4c294991fe03bf6ab8b6d722ccfc41d32",
      "tree": "c5770ba6f08933cc7814e49ac149217458b7c16d",
      "parents": [
        "6fa45666703add49f77652b2eadd874d49aedaf6"
      ],
      "author": {
        "name": "costan",
        "email": "costan@google.com",
        "time": "Mon Apr 09 16:41:02 2018 -0700"
      },
      "committer": {
        "name": "Victor Costan",
        "email": "pwnall@chromium.org",
        "time": "Mon Apr 09 16:56:50 2018 -0700"
      },
      "message": "Define LEVELDB_HAS_PORT_CONFIG_H for old compilers.\n\nThe CMake-based build relies on __has_include, which is standardized in\nC++17. Unfortunately, __has_include is available without requiring\n--std\u003dc++17 on all the compilers on CI, so this problem was not caught.\n\nFixes https://github.com/google/leveldb/issues/572\n\n-------------\nCreated by MOE: https://github.com/google/moe\nMOE_MIGRATED_REVID\u003d192208842\n"
    },
    {
      "commit": "6fa45666703add49f77652b2eadd874d49aedaf6",
      "tree": "c2a469eb9ebabfc8cbb03b3a9d66c9584b931780",
      "parents": [
        "0db30413a4cfa8c980e675ba5cb96717d688af92"
      ],
      "author": {
        "name": "costan",
        "email": "costan@google.com",
        "time": "Fri Mar 23 13:02:10 2018 -0700"
      },
      "committer": {
        "name": "Victor Costan",
        "email": "pwnall@chromium.org",
        "time": "Fri Mar 23 13:53:50 2018 -0700"
      },
      "message": "Rename CMake project / targets from Leveldb to leveldb.\n\n-------------\nCreated by MOE: https://github.com/google/moe\nMOE_MIGRATED_REVID\u003d190262375\n"
    },
    {
      "commit": "0db30413a4cfa8c980e675ba5cb96717d688af92",
      "tree": "6194fe595f5bac1f71216bf659cb95f4e78cd773",
      "parents": [
        "04f39105c5a418905da8b7657ca244d672c99d3b"
      ],
      "author": {
        "name": "costan",
        "email": "costan@google.com",
        "time": "Fri Mar 23 12:50:14 2018 -0700"
      },
      "committer": {
        "name": "Victor Costan",
        "email": "pwnall@chromium.org",
        "time": "Fri Mar 23 12:56:14 2018 -0700"
      },
      "message": "leveldb: Add more thread safety annotations.\n\nAfter this CL, all classes with Mutex members should be covered by annotations. Exceptions are atomic members, which shouldn\u0027t need locking, and DBImpl members that cause errors when annotated, which will be tackled separately.\n\n-------------\nCreated by MOE: https://github.com/google/moe\nMOE_MIGRATED_REVID\u003d190260865\n"
    },
    {
      "commit": "04f39105c5a418905da8b7657ca244d672c99d3b",
      "tree": "927bd1554894576b5a7dee29d6acce1e207dff91",
      "parents": [
        "74f032ff6f2465160366d865b1bb89a45dc2046b"
      ],
      "author": {
        "name": "costan",
        "email": "costan@google.com",
        "time": "Wed Mar 21 09:26:49 2018 -0700"
      },
      "committer": {
        "name": "Victor Costan",
        "email": "pwnall@chromium.org",
        "time": "Wed Mar 21 09:40:40 2018 -0700"
      },
      "message": "Take \u003catomic\u003e for granted in port/atomic_pointer.h.\n\nC++11 requires \u003catomic\u003e. This lets us remove the header detection\n(LEVELDB_ATOMIC_PRESENT) and simplify port/atomic_pointer.h.\n\n-------------\nCreated by MOE: https://github.com/google/moe\nMOE_MIGRATED_REVID\u003d189919098\n"
    },
    {
      "commit": "74f032ff6f2465160366d865b1bb89a45dc2046b",
      "tree": "f8180f20b6d85fc70a8e3054c3ce46732dfa3c0e",
      "parents": [
        "8e75db8623703cdc25ec3cd06f82129296672489"
      ],
      "author": {
        "name": "costan",
        "email": "costan@google.com",
        "time": "Wed Mar 21 00:47:18 2018 -0700"
      },
      "committer": {
        "name": "Victor Costan",
        "email": "pwnall@chromium.org",
        "time": "Wed Mar 21 01:17:59 2018 -0700"
      },
      "message": "leveldb: Require C++11.\n\nThis CL switches the public headers to C++11 default and deleted constructors, and adds override to the relevant leveldb::EnvWrapper methods. This should be a good test for C++11 compiler support.\n\nOnce this CL settles, the rest of the codebase can be safely modernized to C++11.\n\n-------------\nCreated by MOE: https://github.com/google/moe\nMOE_MIGRATED_REVID\u003d189873212\n"
    },
    {
      "commit": "8e75db8623703cdc25ec3cd06f82129296672489",
      "tree": "6036b608ace6209c8e2a056895eb609dd4173def",
      "parents": [
        "df9a841a4fc9a04c7713542d75f50e749fb64b7b"
      ],
      "author": {
        "name": "costan",
        "email": "costan@google.com",
        "time": "Tue Mar 20 15:35:14 2018 -0700"
      },
      "committer": {
        "name": "Victor Costan",
        "email": "pwnall@chromium.org",
        "time": "Tue Mar 20 16:50:13 2018 -0700"
      },
      "message": "Remove build configuration for make.\n\n-------------\nCreated by MOE: https://github.com/google/moe\nMOE_MIGRATED_REVID\u003d189824264\n"
    },
    {
      "commit": "df9a841a4fc9a04c7713542d75f50e749fb64b7b",
      "tree": "0d9198e0fbd77ed3219f39f28cc2387228bf5932",
      "parents": [
        "50fbc87e8c62a816d6afd4740e0652a13ac6dc3e"
      ],
      "author": {
        "name": "Hyzeta",
        "email": "hyzeta@outlook.com",
        "time": "Tue Mar 20 15:28:09 2018 -0700"
      },
      "committer": {
        "name": "Victor Costan",
        "email": "pwnall@chromium.org",
        "time": "Tue Mar 20 16:48:58 2018 -0700"
      },
      "message": "Add export.h to CMakeLists.txt\n\nThe header is missing from the file lists, resulting in incomplete installs.\n\nThis was originally contributed in https://github.com/google/leveldb/pull/568.\n\n-------------\nCreated by MOE: https://github.com/google/moe\nMOE_MIGRATED_REVID\u003d189822907\n"
    },
    {
      "commit": "50fbc87e8c62a816d6afd4740e0652a13ac6dc3e",
      "tree": "e447143715020f97a835f498b3d4756f315b732d",
      "parents": [
        "739c25100e46576cdcdfff2d6f43f9f7008103c7"
      ],
      "author": {
        "name": "costan",
        "email": "costan@google.com",
        "time": "Tue Mar 20 15:22:23 2018 -0700"
      },
      "committer": {
        "name": "Victor Costan",
        "email": "pwnall@chromium.org",
        "time": "Tue Mar 20 16:48:42 2018 -0700"
      },
      "message": "Replace SIZE_MAX with std::numeric_limits.\n\nhelpers/memenv/memenv.cc used SIZE_MAX without including \u003cstdint.h\u003e.\nSince we\u0027re fixing this problem, replace SIZE_MAX with\nstd::numeric_limits\u003csize_t\u003e::max(), which is clearer.\n\nFixes https://github.com/google/leveldb/issues/562\n\n-------------\nCreated by MOE: https://github.com/google/moe\nMOE_MIGRATED_REVID\u003d189821707\n"
    },
    {
      "commit": "739c25100e46576cdcdfff2d6f43f9f7008103c7",
      "tree": "92fc9ecdd918383f73983cfb3e81dbc5bce8a901",
      "parents": [
        "0fa5a4f7b1ad9dc16b705bcad1f3ca913f187325"
      ],
      "author": {
        "name": "costan",
        "email": "costan@google.com",
        "time": "Fri Mar 16 19:10:13 2018 -0700"
      },
      "committer": {
        "name": "Victor Costan",
        "email": "pwnall@chromium.org",
        "time": "Fri Mar 16 19:17:27 2018 -0700"
      },
      "message": "Add CMake build support.\n\nFixes https://github.com/google/leveldb/issues/466\n\n-------------\nCreated by MOE: https://github.com/google/moe\nMOE_MIGRATED_REVID\u003d189425354\n"
    },
    {
      "commit": "0fa5a4f7b1ad9dc16b705bcad1f3ca913f187325",
      "tree": "1e90dee838f0acc2c9d9ccb187f79700e83b4518",
      "parents": [
        "8143c12f3fc483b1ba61cdce11f9c1faf6d01bea"
      ],
      "author": {
        "name": "costan",
        "email": "costan@google.com",
        "time": "Fri Mar 16 10:06:35 2018 -0700"
      },
      "committer": {
        "name": "Victor Costan",
        "email": "pwnall@chromium.org",
        "time": "Fri Mar 16 10:32:40 2018 -0700"
      },
      "message": "Extend thread safety annotations.\n\nThis CL makes it easier to reason about thread safety by:\n\n1) Adding Clang thread safety annotations according to comments.\n2) Expanding a couple of variable names, without adding extra lines of code.\n3) Adding const in a couple of places.\n4) Replacing an always-non-null const pointer with a reference.\n5) Fixing style warnings in the modified files.\n\nThis CL does not annotate the DBImpl members that claim to be protected\nby the instance mutex, but are accessed without the mutex being held.\nThose members (and their unprotected accesses) will be addressed in\nfuture CLs.\n\n-------------\nCreated by MOE: https://github.com/google/moe\nMOE_MIGRATED_REVID\u003d189354657\n"
    },
    {
      "commit": "8143c12f3fc483b1ba61cdce11f9c1faf6d01bea",
      "tree": "b3b1a2d2751e2e62f00ff5f48592c79d5d60fed8",
      "parents": [
        "aece2068d7375f987685b8b145288c5557f9ce50"
      ],
      "author": {
        "name": "costan",
        "email": "costan@google.com",
        "time": "Fri Mar 16 06:23:29 2018 -0700"
      },
      "committer": {
        "name": "Victor Costan",
        "email": "pwnall@chromium.org",
        "time": "Fri Mar 16 10:31:48 2018 -0700"
      },
      "message": "Fix includes in util/testharness.h.\n\nThis CL removes unused headers included by util/testharness.h, adds\nprecise includes where the build breaks, and fixes style errors in the\nedited files.\n\n-------------\nCreated by MOE: https://github.com/google/moe\nMOE_MIGRATED_REVID\u003d189331061\n"
    },
    {
      "commit": "aece2068d7375f987685b8b145288c5557f9ce50",
      "tree": "e0a0f3b5d8c961572e8222344dbb64e43c1e217e",
      "parents": [
        "ddab751002588fe58955357d68d12b062e038d0d"
      ],
      "author": {
        "name": "costan",
        "email": "costan@google.com",
        "time": "Mon Mar 12 09:14:44 2018 -0700"
      },
      "committer": {
        "name": "Victor Costan",
        "email": "pwnall@chromium.org",
        "time": "Mon Mar 12 09:24:48 2018 -0700"
      },
      "message": "Remove extern from function declarations.\n\nExternal linkage is the default for function declarations in C++.\n\nThis also fixes ClangTidy errors generated by removing the \"extern\"\nkeyword as described above.\n\n-------------\nCreated by MOE: https://github.com/google/moe\nMOE_MIGRATED_REVID\u003d188730416\n"
    },
    {
      "commit": "ddab751002588fe58955357d68d12b062e038d0d",
      "tree": "be16f2b827fa4ebbdf87fcfbe2825e1e56ab13cf",
      "parents": [
        "7fd7c0072159abbca2660d91fc0667d5c17c4d16"
      ],
      "author": {
        "name": "costan",
        "email": "costan@google.com",
        "time": "Mon Mar 12 09:02:38 2018 -0700"
      },
      "committer": {
        "name": "Victor Costan",
        "email": "pwnall@chromium.org",
        "time": "Mon Mar 12 09:24:25 2018 -0700"
      },
      "message": "Add tests for {Old}InfoLogFileName().\n\nThis change was contributed by GitHub user @LopatkinEvgeniy in\nhttps://github.com/google/leveldb/pull/559.\n\n-------------\nCreated by MOE: https://github.com/google/moe\nMOE_MIGRATED_REVID\u003d188728845\n"
    },
    {
      "commit": "7fd7c0072159abbca2660d91fc0667d5c17c4d16",
      "tree": "a9de8d1b7e0f3c791ef919d2f8015db629f0dfe2",
      "parents": [
        "594cc987af2e0af6417c4ac2b947ee8cdad59e5e"
      ],
      "author": {
        "name": "costan",
        "email": "costan@google.com",
        "time": "Mon Mar 12 08:59:43 2018 -0700"
      },
      "committer": {
        "name": "Victor Costan",
        "email": "pwnall@chromium.org",
        "time": "Mon Mar 12 09:24:07 2018 -0700"
      },
      "message": "Remove unused function ExtractValueType.\n\n-------------\nCreated by MOE: https://github.com/google/moe\nMOE_MIGRATED_REVID\u003d188728505\n"
    },
    {
      "commit": "594cc987af2e0af6417c4ac2b947ee8cdad59e5e",
      "tree": "8f902951b4a954a29aba3fd7a10fa3c9411311e4",
      "parents": [
        "49f35d3fc940a1e2d599d6ee3306eeb31a205e4b"
      ],
      "author": {
        "name": "costan",
        "email": "costan@google.com",
        "time": "Fri Mar 09 16:10:08 2018 -0800"
      },
      "committer": {
        "name": "Victor Costan",
        "email": "pwnall@chromium.org",
        "time": "Fri Mar 09 16:37:44 2018 -0800"
      },
      "message": "Bypass OSMemoryBarrier() warning on Mac.\n\nThis is a stopgap for removing warnings on Mac builds, so -Werror can be\nturned on. C++11 will be required in the nearby future, which guarantees\n\u003catomic\u003e support. Once that happens, the simplified version of this will\nmatch https://github.com/google/leveldb/pull/503\n\n-------------\nCreated by MOE: https://github.com/google/moe\nMOE_MIGRATED_REVID\u003d188553251\n"
    },
    {
      "commit": "49f35d3fc940a1e2d599d6ee3306eeb31a205e4b",
      "tree": "5f3a2be1466c768016309187d11a4a09396c9b54",
      "parents": [
        "623d014a54f8cf9b74ad6aaba9181ca1e65c43a1"
      ],
      "author": {
        "name": "costan",
        "email": "costan@google.com",
        "time": "Fri Mar 09 15:29:12 2018 -0800"
      },
      "committer": {
        "name": "Victor Costan",
        "email": "pwnall@chromium.org",
        "time": "Fri Mar 09 15:49:36 2018 -0800"
      },
      "message": "leveldb: Update Travis CI configuration for open source build.\n\nThis aligns the Travis CI configuration with google/crc32c and\ngoogle/snappy, to simplify maintenance.\n\n-------------\nCreated by MOE: https://github.com/google/moe\nMOE_MIGRATED_REVID\u003d188547648\n"
    },
    {
      "commit": "623d014a54f8cf9b74ad6aaba9181ca1e65c43a1",
      "tree": "5f1a680c264df7917a6d700a89ea4533985c84fd",
      "parents": [
        "8c8024ea33d8efc8c415597fb7fa1745002961d6"
      ],
      "author": {
        "name": "costan",
        "email": "costan@google.com",
        "time": "Fri Mar 09 10:32:55 2018 -0800"
      },
      "committer": {
        "name": "Victor Costan",
        "email": "pwnall@chromium.org",
        "time": "Fri Mar 09 10:38:04 2018 -0800"
      },
      "message": "Expose Env::GetTempDirectory() for use in C test.\n\nThis removes the use of the non-portable headers \u003csys/types.h\u003e and \u003cunistd.h\u003e in c_test.c.\n\n-------------\nCreated by MOE: https://github.com/google/moe\nMOE_MIGRATED_REVID\u003d188503102\n"
    },
    {
      "commit": "8c8024ea33d8efc8c415597fb7fa1745002961d6",
      "tree": "5534016862a12b546ee8dfa925ae76bcf06df657",
      "parents": [
        "41172a24016bc29fc795ed504737392587f54e3d"
      ],
      "author": {
        "name": "costan",
        "email": "costan@google.com",
        "time": "Fri Mar 09 08:36:08 2018 -0800"
      },
      "committer": {
        "name": "Victor Costan",
        "email": "pwnall@chromium.org",
        "time": "Fri Mar 09 09:34:42 2018 -0800"
      },
      "message": "Switch HAVE_ library detection macros to 0/1.\n\n-------------\nCreated by MOE: https://github.com/google/moe\nMOE_MIGRATED_REVID\u003d188488298\n"
    },
    {
      "commit": "bf9159319736b7d0d2a49c3a99a11f1efe4c79b4",
      "tree": "89256e0f77a85d8f37929315ecb46e08282f9d7f",
      "parents": [
        "603643fb36fd42677b4a7174df92e695d8749a48"
      ],
      "author": {
        "name": "Petr Hosek",
        "email": "phosek@google.com",
        "time": "Wed Feb 28 11:26:46 2018 -0800"
      },
      "committer": {
        "name": "Petr Hosek",
        "email": "phosek@google.com",
        "time": "Wed Feb 28 11:26:46 2018 -0800"
      },
      "message": "[test] Migrate all uses of gtest to googletest\n\ngtest is an old version that predates the googletest and googlemock\nmerger, all tests should be using the newer googletest that\u0027s being\nkept in sync with the upstream version.\n\nChange-Id: Ie75f53a487a3beabda8d994b586376d323c34d93\n"
    },
    {
      "commit": "41172a24016bc29fc795ed504737392587f54e3d",
      "tree": "d39586bcd2dd8c3ce91bf97d7bfbff3a3c4169f7",
      "parents": [
        "47cb9e2a211e1d7157078ba7bab536beb29e56dc"
      ],
      "author": {
        "name": "costan",
        "email": "costan@google.com",
        "time": "Tue Feb 13 22:31:50 2018 -0800"
      },
      "committer": {
        "name": "Victor Costan",
        "email": "pwnall@chromium.org",
        "time": "Tue Feb 13 22:40:41 2018 -0800"
      },
      "message": "Enable thread safety annotations in open source version.\n\nThe thread safety annotations used by leveldb got opensourced in Abseil\n[1]. This CL replaces leveldb\u0027s stubs with the relevant definitions from\n[1], and adds annotations to the Mutex classes in the POSIX port.\n\n[1] https://github.com/abseil/abseil-cpp/blob/master/absl/base/thread_annotations.h\n"
    },
    {
      "commit": "603643fb36fd42677b4a7174df92e695d8749a48",
      "tree": "be4766226070157028517c1c763647b4bfb973c8",
      "parents": [
        "abdb1ea5415e7787cfa8050a502d9b93acc9a717"
      ],
      "author": {
        "name": "P.Y. Laligand",
        "email": "pylaligand@google.com",
        "time": "Wed Nov 22 17:08:10 2017 -0800"
      },
      "committer": {
        "name": "P.Y. Laligand",
        "email": "pylaligand@google.com",
        "time": "Wed Nov 22 17:08:10 2017 -0800"
      },
      "message": "Update path to package template\n\nChange-Id: I073cac261e6659c12297aa4e4003e18cc92bd3b1\n"
    },
    {
      "commit": "47cb9e2a211e1d7157078ba7bab536beb29e56dc",
      "tree": "e5f3196b0780b8f11d52bc1363a2a80cae5c97fd",
      "parents": [
        "b5d4a22e64c7a6615b412f464026c808b58b1d34"
      ],
      "author": {
        "name": "cmumford",
        "email": "cmumford@google.com",
        "time": "Wed Oct 25 16:13:51 2017 -0700"
      },
      "committer": {
        "name": "Victor Costan",
        "email": "pwnall@chromium.org",
        "time": "Fri Nov 03 15:04:26 2017 -0700"
      },
      "message": "Add leveldb_options_set_max_file_size to the C API.\n\nWhen the max file size option was added in CL 134391640 the C API\nwas not modified to support this.\n\nThis change was contributed by GitHub user @olt and fixes issue #439.\n\n-------------\nCreated by MOE: https://github.com/google/moe\nMOE_MIGRATED_REVID\u003d173466388\n"
    },
    {
      "commit": "b5d4a22e64c7a6615b412f464026c808b58b1d34",
      "tree": "3c1207ffd4e7f8c5c515e2807df55ebcc8e94544",
      "parents": [
        "3da4d8b9899257386aeb5ffa345a6477c62ff7bf"
      ],
      "author": {
        "name": "cmumford",
        "email": "cmumford@google.com",
        "time": "Mon Oct 23 16:28:45 2017 -0700"
      },
      "committer": {
        "name": "Victor Costan",
        "email": "pwnall@chromium.org",
        "time": "Fri Nov 03 15:04:08 2017 -0700"
      },
      "message": "Fixed style guide link in CONTRIBUTING.md\n\nThe C++ style guide URL was wrong.\n\nThis fixes issue #394. Reported by GitHub user @Loki-Astari.\n\n-------------\nCreated by MOE: https://github.com/google/moe\nMOE_MIGRATED_REVID\u003d173188573\n"
    },
    {
      "commit": "3da4d8b9899257386aeb5ffa345a6477c62ff7bf",
      "tree": "1b074b3c2cf8517232431d92b31dfc46db8c09c3",
      "parents": [
        "0509414f858ae7c7225e29f3659a709afb324355"
      ],
      "author": {
        "name": "cmumford",
        "email": "cmumford@google.com",
        "time": "Thu Oct 19 10:33:42 2017 -0700"
      },
      "committer": {
        "name": "Victor Costan",
        "email": "pwnall@chromium.org",
        "time": "Fri Nov 03 15:03:44 2017 -0700"
      },
      "message": "Deleted unused assignments in Reader.\n\nDeleted two unused assignments:\n\n1. offset_in_block in Reader::SkipToInitialBlock().\n2. in_fragmented_record in Reader::ReadRecord().\n\nReasons for the change:\n1. offset_in_block is not read again after the if condition.\n2. The kFullRecordType switch branch returns, so\n   in_fragmented_record isn\u0027t read again.\n3. The kFirstType switch branch sets in_fragmented_record to\n   true after the if, so the write in the if is ignored.\n\nChange contributed by @C0deAi on GitHub.\n\nThis fixes https://github.com/google/leveldb/issues/517\n\n-------------\nCreated by MOE: https://github.com/google/moe\nMOE_MIGRATED_REVID\u003d172763897\n"
    },
    {
      "commit": "0509414f858ae7c7225e29f3659a709afb324355",
      "tree": "3d5a69be50a6298d40d3bc6537c687baf11b1118",
      "parents": [
        "23162ca1c6d891a9c5fe0e0fab1193cd54ed1b4f"
      ],
      "author": {
        "name": "cmumford",
        "email": "cmumford@google.com",
        "time": "Tue Oct 17 13:05:47 2017 -0700"
      },
      "committer": {
        "name": "Victor Costan",
        "email": "pwnall@chromium.org",
        "time": "Fri Nov 03 15:03:20 2017 -0700"
      },
      "message": "leveldb::DestroyDB will now delete empty directories.\n\nEnv\u0027s that filtered out dot files (\".\" and \"..\") would return an\nempty vector of children causing DestroyDB to do nothing. This fixes\nhttps://github.com/google/leveldb/issues/215\n\n-------------\nCreated by MOE: https://github.com/google/moe\nMOE_MIGRATED_REVID\u003d172501335\n"
    },
    {
      "commit": "abdb1ea5415e7787cfa8050a502d9b93acc9a717",
      "tree": "97e3b88f243db840107a9c72a4780b3ed980a47b",
      "parents": [
        "d1d9984e1bae222212f763355a81ae74c26bbbf2"
      ],
      "author": {
        "name": "Adam Barth",
        "email": "abarth@google.com",
        "time": "Thu Nov 02 09:57:59 2017 -0700"
      },
      "committer": {
        "name": "Adam Barth",
        "email": "abarth@google.com",
        "time": "Thu Nov 02 09:57:59 2017 -0700"
      },
      "message": "[build] Add system_image property to package()\n\nChange-Id: I54cba3a6b61eb15598a0bb80160f9ddc895ab2dc\n"
    },
    {
      "commit": "23162ca1c6d891a9c5fe0e0fab1193cd54ed1b4f",
      "tree": "3542e845ae7ef488ea95bae88c1f84567ff05673",
      "parents": [
        "5c39524f3639e6bf6ab49215152d24273e662986"
      ],
      "author": {
        "name": "costan",
        "email": "costan@google.com",
        "time": "Tue Oct 10 11:29:00 2017 -0700"
      },
      "committer": {
        "name": "Victor Costan",
        "email": "pwnall@chromium.org",
        "time": "Tue Oct 10 11:47:13 2017 -0700"
      },
      "message": "Fix typo (forgotten reference operator) in test.\n\n-------------\nCreated by MOE: https://github.com/google/moe\nMOE_MIGRATED_REVID\u003d171708408\n"
    },
    {
      "commit": "5c39524f3639e6bf6ab49215152d24273e662986",
      "tree": "5db7a01ab37b983955173f185ae83bf22c75d7c5",
      "parents": [
        "ca216e493f32278f50a823811ab95f64cf0f839b"
      ],
      "author": {
        "name": "costan",
        "email": "costan@google.com",
        "time": "Tue Oct 10 06:05:17 2017 -0700"
      },
      "committer": {
        "name": "Victor Costan",
        "email": "pwnall@chromium.org",
        "time": "Tue Oct 10 11:46:40 2017 -0700"
      },
      "message": "Replace SSE-optimized CRC32C in POSIX port with external library.\n\nMaintaining a hardware-accelerated CRC32C implementation tailored for\nall modern platforms deserves a repository of its own. We extracted the\nimplementation here into https://github.com/google/crc32c and improved\nit in that repository. This CL removes the SSE-optimized implementation\nfrom this codebase, and adds the ability to use the google/crc32c\nlibrary, if it is present on the system.\n\nThe benchmarks below show the performance impact of the change. In\nsummary, open source builds that use the google/crc32c library can\nexpect a 3x improvement in CRC32C throughput, whereas builds that do not\nuse the library will see a 50% drop in CRC32C throughput. This\ntranslates in much smaller changes in overall leveldb performance.\n\nBaseline, MacBookPro13,3 with Core i7 6920HQ:\nLevelDB:    version 1.20\nKeys:       16 bytes each\nValues:     100 bytes each (50 bytes after compression)\nEntries:    1000000\nRawSize:    110.6 MB (estimated)\nFileSize:   62.9 MB (estimated)\n------------------------------------------------\nfillseq      :       3.064 micros/op;   36.1 MB/s\nfillsync     :      57.861 micros/op;    1.9 MB/s (1000 ops)\nfillrandom   :       3.887 micros/op;   28.5 MB/s\noverwrite    :       4.140 micros/op;   26.7 MB/s\nreadrandom   :       7.433 micros/op; (1000000 of 1000000 found)\nreadrandom   :       6.825 micros/op; (1000000 of 1000000 found)\nreadseq      :       0.244 micros/op;  453.4 MB/s\nreadreverse  :       0.387 micros/op;  285.8 MB/s\ncompact      :  449707.000 micros/op;\nreadrandom   :       4.196 micros/op; (1000000 of 1000000 found)\nreadseq      :       0.228 micros/op;  485.8 MB/s\nreadreverse  :       0.320 micros/op;  345.2 MB/s\nfill100K     :     562.556 micros/op;  169.6 MB/s (1000 ops)\ncrc32c       :       0.768 micros/op; 5085.0 MB/s (4K per op)\nsnappycomp   :       4.220 micros/op;  925.7 MB/s (output: 55.1%)\nsnappyuncomp :       0.635 micros/op; 6155.7 MB/s\nacquireload  :      13.054 micros/op; (each op is 1000 loads)\n\nNew with crc32c, MacBookPro13,3 with Core i7 6920HQ:\nLevelDB:    version 1.20\nKeys:       16 bytes each\nValues:     100 bytes each (50 bytes after compression)\nEntries:    1000000\nRawSize:    110.6 MB (estimated)\nFileSize:   62.9 MB (estimated)\n------------------------------------------------\nfillseq      :       2.820 micros/op;   39.2 MB/s\nfillsync     :      51.988 micros/op;    2.1 MB/s (1000 ops)\nfillrandom   :       3.747 micros/op;   29.5 MB/s\noverwrite    :       4.047 micros/op;   27.3 MB/s\nreadrandom   :       7.287 micros/op; (1000000 of 1000000 found)\nreadrandom   :       6.927 micros/op; (1000000 of 1000000 found)\nreadseq      :       0.253 micros/op;  437.5 MB/s\nreadreverse  :       0.411 micros/op;  269.2 MB/s\ncompact      :  440405.000 micros/op;\nreadrandom   :       4.159 micros/op; (1000000 of 1000000 found)\nreadseq      :       0.230 micros/op;  481.1 MB/s\nreadreverse  :       0.320 micros/op;  345.9 MB/s\nfill100K     :     558.222 micros/op;  170.9 MB/s (1000 ops)\ncrc32c       :       0.214 micros/op; 18263.5 MB/s (4K per op)\nsnappycomp   :       4.471 micros/op;  873.7 MB/s (output: 55.1%)\nsnappyuncomp :       0.833 micros/op; 4688.5 MB/s\nacquireload  :      13.289 micros/op; (each op is 1000 loads)\n\nNew without crc32c, MacBookPro13,3 with Core i7 6920HQ\nLevelDB:    version 1.20\nKeys:       16 bytes each\nValues:     100 bytes each (50 bytes after compression)\nEntries:    1000000\nRawSize:    110.6 MB (estimated)\nFileSize:   62.9 MB (estimated)\n------------------------------------------------\nfillseq      :       3.094 micros/op;   35.8 MB/s\nfillsync     :      52.160 micros/op;    2.1 MB/s (1000 ops)\nfillrandom   :       4.090 micros/op;   27.0 MB/s\noverwrite    :       4.006 micros/op;   27.6 MB/s\nreadrandom   :       6.584 micros/op; (1000000 of 1000000 found)\nreadrandom   :       6.676 micros/op; (1000000 of 1000000 found)\nreadseq      :       0.280 micros/op;  395.2 MB/s\nreadreverse  :       0.391 micros/op;  283.2 MB/s\ncompact      :  433911.000 micros/op;\nreadrandom   :       4.261 micros/op; (1000000 of 1000000 found)\nreadseq      :       0.251 micros/op;  440.5 MB/s\nreadreverse  :       0.356 micros/op;  310.9 MB/s\nfill100K     :     584.023 micros/op;  163.3 MB/s (1000 ops)\ncrc32c       :       1.384 micros/op; 2822.3 MB/s (4K per op)\nsnappycomp   :       4.763 micros/op;  820.1 MB/s (output: 55.1%)\nsnappyuncomp :       0.766 micros/op; 5098.6 MB/s\nacquireload  :      12.931 micros/op; (each op is 1000 loads)\n\n-------------\nCreated by MOE: https://github.com/google/moe\nMOE_MIGRATED_REVID\u003d171667771\n"
    },
    {
      "commit": "ca216e493f32278f50a823811ab95f64cf0f839b",
      "tree": "08940291409ac374af8dd76ee65fc3e6e17425d4",
      "parents": [
        "25767d066ca995c055f04b78a31a6e518087e667"
      ],
      "author": {
        "name": "costan",
        "email": "costan@google.com",
        "time": "Thu Oct 05 11:47:39 2017 -0700"
      },
      "committer": {
        "name": "Victor Costan",
        "email": "pwnall@chromium.org",
        "time": "Thu Oct 05 12:19:09 2017 -0700"
      },
      "message": "leveldb: Rename SNAPPY to HAVE_SNAPPY.\n\nThis follows the general naming convention for preprocessor macros used\nto detect feature (library / header file / symbol) presence.\n\n-------------\nCreated by MOE: https://github.com/google/moe\nMOE_MIGRATED_REVID\u003d171184641\n"
    },
    {
      "commit": "25767d066ca995c055f04b78a31a6e518087e667",
      "tree": "cd37add9520a935901866e3a5b9232bd4a697b9d",
      "parents": [
        "4a7e7f50dcf661cfffe71737650b0fb18e195d18"
      ],
      "author": {
        "name": "costan",
        "email": "costan@google.com",
        "time": "Thu Oct 05 08:08:48 2017 -0700"
      },
      "committer": {
        "name": "Victor Costan",
        "email": "pwnall@chromium.org",
        "time": "Thu Oct 05 12:18:49 2017 -0700"
      },
      "message": "leveldb: Remove *_unlocked feature detection from POSIX port.\n\nCL 170738066 removed all instances of fread_unlocked, fwrite_unlocked\nand fflush_unlocked calls from the codebase, so the feature detection\ncan be removed as well.\n\n-------------\nCreated by MOE: https://github.com/google/moe\nMOE_MIGRATED_REVID\u003d171154269\n"
    },
    {
      "commit": "4a7e7f50dcf661cfffe71737650b0fb18e195d18",
      "tree": "613570bad946d1e0ac86fb86e0d12e97988527a8",
      "parents": [
        "542590d2a8eee3838f40b01405baa6d2f6f8c700"
      ],
      "author": {
        "name": "cmumford",
        "email": "cmumford@google.com",
        "time": "Wed Oct 04 11:26:45 2017 -0700"
      },
      "committer": {
        "name": "Victor Costan",
        "email": "pwnall@chromium.org",
        "time": "Wed Oct 04 11:53:12 2017 -0700"
      },
      "message": "Add LEVELDB_EXPORT macro to export public symbols.\n\ngcc defaults to exporting all symbols, but other linkers do not. Adding\nthe LEVELDB_EXPORT macro allows a project to set LEVELDB_SHARED_LIBRARY\nwhen building/linking with leveldb as a shared library.\n\nThis is to allow leveldb to be created as a shared library on all\nplatforms support by Chrome and enables a fix for\nhttps://bugs.chromium.org/p/chromium/issues/detail?id\u003d764810.\n\nThis also has the benefit of reducing the shared library size from\n418863 to 380367 bytes (64-bit Linux).\n\n-------------\nCreated by MOE: https://github.com/google/moe\nMOE_MIGRATED_REVID\u003d171037148\n"
    },
    {
      "commit": "542590d2a8eee3838f40b01405baa6d2f6f8c700",
      "tree": "3f7abd44b8edd9738cb08e0bdee16212947d8529",
      "parents": [
        "8ae7998aabae4f208d77afcb930dafabade1b28d"
      ],
      "author": {
        "name": "costan",
        "email": "costan@google.com",
        "time": "Wed Oct 04 10:04:21 2017 -0700"
      },
      "committer": {
        "name": "Victor Costan",
        "email": "pwnall@chromium.org",
        "time": "Wed Oct 04 10:38:33 2017 -0700"
      },
      "message": "leveldb: Include \u003calgorithm\u003e in util/env_test.cc.\n\nCL 170738066 introduced std::min and std::max to env_test.cc. These\nrequire the \u003calgorithm\u003e header.\n\n-------------\nCreated by MOE: https://github.com/google/moe\nMOE_MIGRATED_REVID\u003d171024062\n"
    },
    {
      "commit": "8ae7998aabae4f208d77afcb930dafabade1b28d",
      "tree": "6b3a1a5859f4743b2354b490edc0643605f1a76f",
      "parents": [
        "d9a9e02edf2b8187aa481416b36c49710026ab37"
      ],
      "author": {
        "name": "costan",
        "email": "costan@google.com",
        "time": "Tue Oct 03 13:41:46 2017 -0700"
      },
      "committer": {
        "name": "Victor Costan",
        "email": "pwnall@chromium.org",
        "time": "Tue Oct 03 13:45:04 2017 -0700"
      },
      "message": "Fix FD leak in POSIX Env.\n\nDeleting a PosixWritableFile without calling Close() leaks the file\ndescriptor. While the API description in include/leveldb/env.h does not\nspecify whether the caller is responsible for Close()ing the file before\ndeleting it, all other Env file implementations do release underlying\nresources when destroyed, even if Close() is not called.\n\nThe leak shows up when running db_tests on Mac Travis, or on a vanilla\nMacOS install.\n\n-------------\nCreated by MOE: https://github.com/google/moe\nMOE_MIGRATED_REVID\u003d170906843\n"
    },
    {
      "commit": "d9a9e02edf2b8187aa481416b36c49710026ab37",
      "tree": "bb29cf653bac9a19a629e2fd534f75081c203edb",
      "parents": [
        "4447f9caced2bd09585c90f1b203c3aa8f4bbc40"
      ],
      "author": {
        "name": "costan",
        "email": "costan@google.com",
        "time": "Tue Oct 03 10:38:02 2017 -0700"
      },
      "committer": {
        "name": "Victor Costan",
        "email": "pwnall@chromium.org",
        "time": "Tue Oct 03 11:32:02 2017 -0700"
      },
      "message": "leveldb: Add tests for CL 170769101.\n\nThis also removes std::unique_ptr introduced in CL 170738066, because\nit\u0027s C++11-only, and the open source version still supports older\nversions at the moment.\n\n-------------\nCreated by MOE: https://github.com/google/moe\nMOE_MIGRATED_REVID\u003d170876919\n"
    },
    {
      "commit": "4447f9caced2bd09585c90f1b203c3aa8f4bbc40",
      "tree": "abaf49db02ddaf667f7c27f2d503b5566b9f3d9e",
      "parents": [
        "2372ac574fdeb1235e70cdd86a2681d1ce05cf65"
      ],
      "author": {
        "name": "costan",
        "email": "costan@google.com",
        "time": "Tue Oct 03 10:33:01 2017 -0700"
      },
      "committer": {
        "name": "Victor Costan",
        "email": "pwnall@chromium.org",
        "time": "Tue Oct 03 11:32:02 2017 -0700"
      },
      "message": "Remove handling for unused LRUHandle representation special case.\n\n-------------\nCreated by MOE: https://github.com/google/moe\nMOE_MIGRATED_REVID\u003d170876103\n"
    },
    {
      "commit": "2372ac574fdeb1235e70cdd86a2681d1ce05cf65",
      "tree": "7d08e1ddec4dbfb593c2a209fdb1533986ad09a8",
      "parents": [
        "1c75e88055e06da2939f9f4bd294625b76792815"
      ],
      "author": {
        "name": "sanjay",
        "email": "sanjay@google.com",
        "time": "Mon Oct 02 16:04:02 2017 -0700"
      },
      "committer": {
        "name": "Victor Costan",
        "email": "pwnall@chromium.org",
        "time": "Tue Oct 03 11:32:02 2017 -0700"
      },
      "message": "Fix file writing bug in CL 170738066.\n\nIf the file already existed, we should have truncated it. This was not\ndetected by leveldb tests since leveldb code avoids reusing same files,\nbut there was code elsewhere that was directly using leveldb files and\nrelying on this behavior.\n\n-------------\nCreated by MOE: https://github.com/google/moe\nMOE_MIGRATED_REVID\u003d170769101\n"
    },
    {
      "commit": "1c75e88055e06da2939f9f4bd294625b76792815",
      "tree": "10c9c5ca62f5f4f0f902b7f0bdc3375dc968c2bd",
      "parents": [
        "7e12c00ecf1bb725e212618e7026e4d34d6cd3bb"
      ],
      "author": {
        "name": "cmumford",
        "email": "cmumford@google.com",
        "time": "Mon Oct 02 13:57:41 2017 -0700"
      },
      "committer": {
        "name": "Victor Costan",
        "email": "pwnall@chromium.org",
        "time": "Tue Oct 03 11:30:48 2017 -0700"
      },
      "message": "Fix use of uninitialized value in LRUHandle.\n\nIf leveldb::Options::block_cache is set to a cache of zero capacity\nthen it is possible for LRUHandle::next to be used without having been\nset.\n\nConditional jump or move depends on uninitialised value(s):\n  leveldb::(anonymous namespace)::LRUHandle::key() const (cache.cc:58)\n  leveldb::(anonymous namespace)::LRUCache::Unref(leveldb::(anonymous namespace)::LRUHandle*) (cache.cc:234)\n  leveldb::(anonymous namespace)::LRUCache::Release(leveldb::Cache::Handle*) (cache.cc:266)\n  leveldb::(anonymous namespace)::ShardedLRUCache::Release(leveldb::Cache::Handle*) (cache.cc:375)\n  leveldb::CacheTest::Insert(int, int, int) (cache_test.cc:59)\n\nThis bug forced a commit reversion in Chromium. For more information see\nhttps://bugs.chromium.org/p/chromium/issues/detail?id\u003d761398#c4\n\n-------------\nCreated by MOE: https://github.com/google/moe\nMOE_MIGRATED_REVID\u003d170749054\n"
    },
    {
      "commit": "7e12c00ecf1bb725e212618e7026e4d34d6cd3bb",
      "tree": "819404ec53dbf474593146bd59ab29e4177b5f8d",
      "parents": [
        "bcd9a8ea4a8aad23a3e101a23c61615bab2a093f"
      ],
      "author": {
        "name": "sanjay",
        "email": "sanjay@google.com",
        "time": "Mon Oct 02 12:37:45 2017 -0700"
      },
      "committer": {
        "name": "Victor Costan",
        "email": "pwnall@chromium.org",
        "time": "Tue Oct 03 11:27:09 2017 -0700"
      },
      "message": "Fix issue 474: a race between the f*_unlocked() STDIO calls in\nenv_posix.cc and concurrent application calls to fflush(NULL).\n\nThe fix is to avoid using stdio in env_posix.cc but add our own\nbuffering where we need it.\n\nAdded a test to reproduce the bug.\n\nAdded a test for Env reads/writes.\n\n-------------\nCreated by MOE: https://github.com/google/moe\nMOE_MIGRATED_REVID\u003d170738066\n"
    },
    {
      "commit": "bcd9a8ea4a8aad23a3e101a23c61615bab2a093f",
      "tree": "aaa6cd5e514c755997e18fc03fad884459e4fbf7",
      "parents": [
        "ea0a7586b8615fd39c6b8f5a8a21a1f242129c2f"
      ],
      "author": {
        "name": "costan",
        "email": "costan@google.com",
        "time": "Tue Sep 26 13:32:01 2017 -0700"
      },
      "committer": {
        "name": "Victor Costan",
        "email": "pwnall@chromium.org",
        "time": "Tue Sep 26 18:50:41 2017 -0700"
      },
      "message": "Use portable CRC32C from google/crc32c.\n\nBenchmark results below. More results at\nhttps://github.com/google/crc32c/commit/354d61ef97eb73d4f0c1694cac6ec6116a5543e4.\n\nNew, MacBookPro13,3 with Core i7 6920HQ:\nLevelDB:    version 1.20\nKeys:       16 bytes each\nValues:     100 bytes each (50 bytes after compression)\nEntries:    1000000\nRawSize:    110.6 MB (estimated)\nFileSize:   62.9 MB (estimated)\nWARNING: Snappy compression is not enabled\n------------------------------------------------\nfillseq      :       2.952 micros/op;   37.5 MB/s\nfillsync     :      43.932 micros/op;    2.5 MB/s (1000 ops)\nfillrandom   :       3.856 micros/op;   28.7 MB/s\noverwrite    :       4.053 micros/op;   27.3 MB/s\nreadrandom   :       4.234 micros/op; (1000000 of 1000000 found)\nreadrandom   :       3.923 micros/op; (1000000 of 1000000 found)\nreadseq      :       0.201 micros/op;  550.8 MB/s\nreadreverse  :       0.356 micros/op;  310.6 MB/s\ncompact      :  436800.000 micros/op;\nreadrandom   :       2.375 micros/op; (1000000 of 1000000 found)\nreadseq      :       0.151 micros/op;  734.3 MB/s\nreadreverse  :       0.298 micros/op;  370.7 MB/s\nfill100K     :     554.075 micros/op;  172.1 MB/s (1000 ops)\ncrc32c       :       1.393 micros/op; 2805.0 MB/s (4K per op)\nsnappycomp   :    3902.000 micros/op; (snappy failure)\nsnappyuncomp :    3821.000 micros/op; (snappy failure)\nacquireload  :      13.088 micros/op; (each op is 1000 loads)\n\nBaseline, MacBookPro13,3 with Core i7 6920HQ:\nLevelDB:    version 1.20\nKeys:       16 bytes each\nValues:     100 bytes each (50 bytes after compression)\nEntries:    1000000\nRawSize:    110.6 MB (estimated)\nFileSize:   62.9 MB (estimated)\nWARNING: Snappy compression is not enabled\n------------------------------------------------\nfillseq      :       3.000 micros/op;   36.9 MB/s\nfillsync     :      46.721 micros/op;    2.4 MB/s (1000 ops)\nfillrandom   :       3.922 micros/op;   28.2 MB/s\noverwrite    :       4.080 micros/op;   27.1 MB/s\nreadrandom   :       4.409 micros/op; (1000000 of 1000000 found)\nreadrandom   :       3.895 micros/op; (1000000 of 1000000 found)\nreadseq      :       0.190 micros/op;  582.4 MB/s\nreadreverse  :       0.413 micros/op;  267.6 MB/s\ncompact      :  441076.000 micros/op;\nreadrandom   :       2.308 micros/op; (1000000 of 1000000 found)\nreadseq      :       0.170 micros/op;  651.2 MB/s\nreadreverse  :       0.302 micros/op;  366.2 MB/s\nfill100K     :     614.289 micros/op;  155.3 MB/s (1000 ops)\ncrc32c       :       3.547 micros/op; 1101.2 MB/s (4K per op)\nsnappycomp   :    3393.000 micros/op; (snappy failure)\nsnappyuncomp :    3171.000 micros/op; (snappy failure)\nacquireload  :      12.761 micros/op; (each op is 1000 loads)\n\n-------------\nCreated by MOE: https://github.com/google/moe\nMOE_MIGRATED_REVID\u003d170100372\n"
    },
    {
      "commit": "ea0a7586b8615fd39c6b8f5a8a21a1f242129c2f",
      "tree": "71491c62076f13949b7baad7bfd962d344d9079d",
      "parents": [
        "141e7671359d5e6c65ff70460774b53b94371df1"
      ],
      "author": {
        "name": "costan",
        "email": "costan@google.com",
        "time": "Fri Sep 01 14:36:20 2017 -0700"
      },
      "committer": {
        "name": "Victor Costan",
        "email": "pwnall@chromium.org",
        "time": "Fri Sep 01 14:41:28 2017 -0700"
      },
      "message": "Remove confusing and unnecessary if.\n\n12 lines above, there is an \"if (!s.ok()) { return s; }\" block of code.\n\"s\" is never modified between that block and the \"if\" removed by this\nCL, so \"s.ok()\" must be true.\n\nThe code most likely intended to say \"if (!builder-\u003eok())\", because the\nbuilder-\u003eAdd() call above can modify the TableBuilder\u0027s status, as a\nside-effect. However, this approach would have required setting \"s \u003d\nbuilder.status()\" in the \"else\" branch, near the \"builder.Abandon()\"\ncall. So, removing the \"if\" outright is simpler than following that line\nof thought.\n\n-------------\nCreated by MOE: https://github.com/google/moe\nMOE_MIGRATED_REVID\u003d167326229\n"
    },
    {
      "commit": "141e7671359d5e6c65ff70460774b53b94371df1",
      "tree": "a14eecb49f31bb4faac36307118d7e7a68f4fa09",
      "parents": [
        "09a3c8e7417547829b94bcdaa62cdf9e896f29a9"
      ],
      "author": {
        "name": "costan",
        "email": "costan@google.com",
        "time": "Fri Sep 01 11:44:05 2017 -0700"
      },
      "committer": {
        "name": "Victor Costan",
        "email": "pwnall@chromium.org",
        "time": "Fri Sep 01 14:41:01 2017 -0700"
      },
      "message": "Simplify Table::Open() flow and remove a delete call.\n\n-------------\nCreated by MOE: https://github.com/google/moe\nMOE_MIGRATED_REVID\u003d167303843\n"
    },
    {
      "commit": "09a3c8e7417547829b94bcdaa62cdf9e896f29a9",
      "tree": "133401de77ab5632dca19524a649ebee091ad435",
      "parents": [
        "2964b803b857932ff7499d7bebb61dc5514dab7c"
      ],
      "author": {
        "name": "cmumford",
        "email": "cmumford@google.com",
        "time": "Thu Jul 20 15:00:13 2017 -0700"
      },
      "committer": {
        "name": "Victor Costan",
        "email": "pwnall@chromium.org",
        "time": "Thu Aug 24 15:40:54 2017 -0700"
      },
      "message": "Switched variable type from int to uint64_t in ConsumeDecimalNumber.\n\nAn Android test was occasionally crashing with a SEGV in ConsumeDecimalNumber\nSwitching a local variable from an int to uint64_t eliminated these crashes.\nSpeculating this is either a compiler, runtime library, or emulator issue.\n\nSwitching this type to uint64_t also eliminates a compiler warning\nabout comparing an int with a uint64_t.\n\n-------------\nCreated by MOE: https://github.com/google/moe\nMOE_MIGRATED_REVID\u003d166399695\n"
    },
    {
      "commit": "2964b803b857932ff7499d7bebb61dc5514dab7c",
      "tree": "0d5bebb45495feef0a5f48af286ea82b0d28eb32",
      "parents": [
        "02f43c0fcde39823830493503e8a3f72fed43d24"
      ],
      "author": {
        "name": "costan",
        "email": "costan@google.com",
        "time": "Wed Aug 23 20:59:46 2017 -0700"
      },
      "committer": {
        "name": "Victor Costan",
        "email": "pwnall@chromium.org",
        "time": "Thu Aug 24 15:00:52 2017 -0700"
      },
      "message": "leveldb: Fix alignment code in SSE4.2-optimized CRC32C.\n\nWhen faced with a pointer that is misaligned by K bytes (pointer % 8 \u003d\u003d\nK), the code previously moved forward by K bytes. In order to end up\nwith an aligned pointer, the code must move by 8 - K bytes.\n\nThis lands https://github.com/google/leveldb/pull/488\n\n-------------\nCreated by MOE: https://github.com/google/moe\nMOE_MIGRATED_REVID\u003d166295921\n"
    },
    {
      "commit": "02f43c0fcde39823830493503e8a3f72fed43d24",
      "tree": "9cdab2231e52ec7b050fb0cd021c2749f84755f4",
      "parents": [
        "0b402e96a76b19cd98e82402de636449a2613228"
      ],
      "author": {
        "name": "davidair",
        "email": "davidair@google.com",
        "time": "Thu Aug 03 13:42:12 2017 -0700"
      },
      "committer": {
        "name": "Victor Costan",
        "email": "pwnall@chromium.org",
        "time": "Thu Aug 24 15:00:52 2017 -0700"
      },
      "message": "Remove dead code.\n\nThe dead code has been in the codebase since the initial commit and is\ngenerating a compiler warning when used in Xcode.\n\n-------------\nCreated by MOE: https://github.com/google/moe\nMOE_MIGRATED_REVID\u003d164174594\n"
    },
    {
      "commit": "0b402e96a76b19cd98e82402de636449a2613228",
      "tree": "245f44f7f70646a40154c56f656a7e3765f2a332",
      "parents": [
        "8415f00eeedd96934d3578572d3802900e61a556"
      ],
      "author": {
        "name": "scrubbed",
        "email": "scrubbed@scrubbed",
        "time": "Mon Jul 24 10:54:00 2017 -0700"
      },
      "committer": {
        "name": "Victor Costan",
        "email": "pwnall@chromium.org",
        "time": "Thu Aug 24 15:00:45 2017 -0700"
      },
      "message": "Use __APPLE__ instead of OS_MACOS. The former is compiler-provided.\n\nUse __APPLE__ instead of OS_MACOS when testing for the Apple platform and\nremove the latter symbol from the BUILD file. This fixes incompatibility issues\nwhen using the library on an Apple device.\n\n-------------\nCreated by MOE: https://github.com/google/moe\nMOE_MIGRATED_REVID\u003d162958094\n"
    },
    {
      "commit": "8415f00eeedd96934d3578572d3802900e61a556",
      "tree": "494ea4cc69aa3cb652f975061e697374116eb595",
      "parents": [
        "69e2bd224b7f11e021527cb95bab18f1ee6e1b3b"
      ],
      "author": {
        "name": "costan",
        "email": "costan@google.com",
        "time": "Mon Jul 10 13:32:58 2017 -0700"
      },
      "committer": {
        "name": "Victor Costan",
        "email": "pwnall@chromium.org",
        "time": "Mon Jul 10 14:14:00 2017 -0700"
      },
      "message": "leveldb: Report missing CURRENT manifest file as database corruption.\n\nBTRFS reorders rename and write operations, so it is possible that a filesystem crash and recovery results in a situation where the file pointed to by CURRENT does not exist. DB::Open currently reports an I/O error in this case. Reporting database corruption is a better hint to the caller, which can attempt to recover the database or erase it and start over.\n\nThis issue is not merely theoretical. It was reported as having showed up in the wild at https://github.com/google/leveldb/issues/195 and at https://crbug.com/738961. Also, asides from the BTRFS case described above, incorrect data in CURRENT seems like a possible corruption case that should be handled gracefully.\n\nThe Env API changes here can be considered backwards compatible, because an implementation that returns Status::IOError instead of Status::NotFound will still get the same functionality as before.\n\n-------------\nCreated by MOE: https://github.com/google/moe\nMOE_MIGRATED_REVID\u003d161432630\n"
    },
    {
      "commit": "69e2bd224b7f11e021527cb95bab18f1ee6e1b3b",
      "tree": "badd275cd7f6997294f84d6636a5309369933d81",
      "parents": [
        "a53934a3ae1244679f812d998a4f16f2c7f309a6"
      ],
      "author": {
        "name": "costan",
        "email": "costan@google.com",
        "time": "Tue May 23 17:29:44 2017 -0700"
      },
      "committer": {
        "name": "Victor Costan",
        "email": "pwnall@chromium.org",
        "time": "Mon Jul 10 14:13:30 2017 -0700"
      },
      "message": "LevelDB: Add WriteBatch::ApproximateSize().\n\nThis can be used to report metrics on LevelDB usage.\n\n-------------\nCreated by MOE: https://github.com/google/moe\nMOE_MIGRATED_REVID\u003d156934930\n"
    },
    {
      "commit": "d1d9984e1bae222212f763355a81ae74c26bbbf2",
      "tree": "f80c25a3beaa2b5e6698bc4a68175f96628c701f",
      "parents": [
        "fc68200bc13d44663dbd8b747acf4c84b01e317c"
      ],
      "author": {
        "name": "James Robinson",
        "email": "jamesr@google.com",
        "time": "Tue Jun 06 14:43:00 2017 -0700"
      },
      "committer": {
        "name": "James Robinson",
        "email": "jamesr@google.com",
        "time": "Tue Jun 06 14:43:00 2017 -0700"
      },
      "message": "Add package config for leveldb_tests\n\nChange-Id: Ib856d3e3f17dd741fbf78fc093b35795a837b4ed\n"
    },
    {
      "commit": "fc68200bc13d44663dbd8b747acf4c84b01e317c",
      "tree": "02cc8be887163655a25b56b420646a5b4cddfe30",
      "parents": [
        "88486215ea4dc752a5f8d8f6a352073803d7f12e"
      ],
      "author": {
        "name": "Etienne Membrives",
        "email": "etiennej@google.com",
        "time": "Fri Mar 31 10:41:10 2017 +0200"
      },
      "committer": {
        "name": "Etienne Membrives",
        "email": "etiennej@google.com",
        "time": "Fri Mar 31 10:41:10 2017 +0200"
      },
      "message": "FuchsiaEnv: Avoid a race condition in FuchsiaRandomAccessFile.\n\nA RandomAccessFile object can be used concurrently by multiple threads.\nHowever, its Read() method was not thread safe, leading to crashes. This\nchange makes Read() thread-safe.\n\nLE-166 #done\nLE-172 #done\nLE-106 #done If it is still not fixed, please reopen.\n\nChange-Id: I97085fd40a1a6b06759b08a2e6c2921d95dd2e03\n"
    },
    {
      "commit": "a53934a3ae1244679f812d998a4f16f2c7f309a6",
      "tree": "cb94fc0f5c1fba3f3e2f744402b37686eb9e070a",
      "parents": [
        "f3f139737c666e558864ca8b473959be203edaf6"
      ],
      "author": {
        "name": "costan",
        "email": "costan@google.com",
        "time": "Wed Mar 01 15:14:49 2017 -0800"
      },
      "committer": {
        "name": "Chris Mumford",
        "email": "cmumford@chromium.org",
        "time": "Wed Mar 01 16:08:02 2017 -0800"
      },
      "message": "Increase leveldb version to 1.20.\n\n-------------\nCreated by MOE: https://github.com/google/moe\nMOE_MIGRATED_REVID\u003d148937577\n"
    },
    {
      "commit": "f3f139737c666e558864ca8b473959be203edaf6",
      "tree": "9dbdf90d9e4be4c6af954162951b95b712771123",
      "parents": [
        "eb4f0972fdb5c2754c95fae198443a552a88d0b7"
      ],
      "author": {
        "name": "costan",
        "email": "costan@google.com",
        "time": "Wed Mar 01 12:05:47 2017 -0800"
      },
      "committer": {
        "name": "Chris Mumford",
        "email": "cmumford@chromium.org",
        "time": "Wed Mar 01 13:53:23 2017 -0800"
      },
      "message": "Separate Env tests from PosixEnv tests.\n\nenv_test.cc defines EnvPosixTest which tests the Env implementation returned by Env::Default(). The naming is a bit unfortunate, as the tests in env_test.cc are written against the Env contract, and therefore are applicable to any Env implementation. An instance of the confusion caused by the naming is [] which added a dependency from env_test.cc to EnvPosixTestHelper, which is closely coupled to EnvPosix.\n\nThis change disentangles EnvPosix-specific test code into a env_posix_test.cc file. The code there uses EnvPosixTestHelper and specifically targets the EnvPosix implementation. env_test.cc now implements EnvTest, and contains tests that are also applicable to other ports, which may define their own Env implementation.\n\n-------------\nCreated by MOE: https://github.com/google/moe\nMOE_MIGRATED_REVID\u003d148914642\n"
    },
    {
      "commit": "eb4f0972fdb5c2754c95fae198443a552a88d0b7",
      "tree": "d96d1ee482f5e2e5396f71aa1cce428929f748ce",
      "parents": [
        "d0883b6006f92534dbcbea9268cb7a3cf9a13ccd"
      ],
      "author": {
        "name": "costan",
        "email": "costan@google.com",
        "time": "Wed Mar 01 10:57:52 2017 -0800"
      },
      "committer": {
        "name": "Chris Mumford",
        "email": "cmumford@chromium.org",
        "time": "Wed Mar 01 11:37:43 2017 -0800"
      },
      "message": "leveldb: Fix compilation warnings in port_posix_sse.cc on x86 (32-bit).\n\nLE_LOAD64 is only used when _mm_crc32_u64 is available, on 64-bit x86 processors.\n\n-------------\nCreated by MOE: https://github.com/google/moe\nMOE_MIGRATED_REVID\u003d148906169\n"
    },
    {
      "commit": "d0883b6006f92534dbcbea9268cb7a3cf9a13ccd",
      "tree": "12a36e2b7119c1d88c9225d4b48074f163495529",
      "parents": [
        "7fa20948d5a92d0e4b62486ed49e82814fa7bd6d"
      ],
      "author": {
        "name": "cmumford",
        "email": "cmumford@google.com",
        "time": "Wed Mar 01 10:25:05 2017 -0800"
      },
      "committer": {
        "name": "Chris Mumford",
        "email": "cmumford@chromium.org",
        "time": "Wed Mar 01 10:28:56 2017 -0800"
      },
      "message": "Fixed path to doc file: index.md.\n\nPrior index.html was using rawgit.com which doesn\u0027t process\nMarkdown and therefore only serves the markdown source.\n\n-------------\nCreated by MOE: https://github.com/google/moe\nMOE_MIGRATED_REVID\u003d148902180\n"
    },
    {
      "commit": "7fa20948d5a92d0e4b62486ed49e82814fa7bd6d",
      "tree": "b71bbd7bcdfcbef96aeaf29bf524c32e6c78c960",
      "parents": [
        "ea175e28f8ef7f6a8f5931ebad1835d95ec466ed"
      ],
      "author": {
        "name": "cmumford",
        "email": "cmumford@google.com",
        "time": "Tue Feb 28 16:22:17 2017 -0800"
      },
      "committer": {
        "name": "Chris Mumford",
        "email": "cmumford@chromium.org",
        "time": "Wed Mar 01 09:42:25 2017 -0800"
      },
      "message": "Convert documentation to markdown.\n\nMarkdown is more readable in a text editor and when hosted\non GitHub is more readable than HTML.\n\n-------------\nCreated by MOE: https://github.com/google/moe\nMOE_MIGRATED_REVID\u003d148830423\n"
    },
    {
      "commit": "ea175e28f8ef7f6a8f5931ebad1835d95ec466ed",
      "tree": "8c52c8a394b42444589e4d3929093d03982f32ef",
      "parents": [
        "95cd743e5e71c7b06e7149a837e33b91309dfa48"
      ],
      "author": {
        "name": "costan",
        "email": "costan@google.com",
        "time": "Mon Feb 27 14:29:18 2017 -0800"
      },
      "committer": {
        "name": "Victor Costan",
        "email": "pwnall@chromium.org",
        "time": "Tue Feb 28 14:08:46 2017 -0800"
      },
      "message": "Implement support for Intel crc32 instruction (SSE 4.2)\n\nThis change authored by vadimskipin and submitted via:\n\n    https://github.com/google/leveldb/pull/309\n\nChanges made to support iOS builds and other architectures\nwithout support for SSE 4.2.\n\ndb_bench reports original crc32 speed at:\n\n    crc32c : 3.610 micros/op; 1082.0 MB/s (4K per op)\n\nwith this change performance has increased to:\n\n    crc32c : 0.843 micros/op; 4633.6 MB/s (4K per op)\n\n-------------\nCreated by MOE: https://github.com/google/moe\nMOE_MIGRATED_REVID\u003d148694935\n"
    },
    {
      "commit": "95cd743e5e71c7b06e7149a837e33b91309dfa48",
      "tree": "e28405afb8ca6d7a320c91412915ce59028a446f",
      "parents": [
        "646c3588de84ac532a0e3525eae03edae1ea759f"
      ],
      "author": {
        "name": "cmumford",
        "email": "cmumford@google.com",
        "time": "Tue Feb 07 15:17:04 2017 -0800"
      },
      "committer": {
        "name": "Chris Mumford",
        "email": "cmumford@chromium.org",
        "time": "Thu Feb 09 14:09:51 2017 -0800"
      },
      "message": "Including \u003climits\u003e for std::numeric_limits.\n\n-------------\nCreated by MOE: https://github.com/google/moe\nMOE_MIGRATED_REVID\u003d146841327\n"
    }
  ],
  "next": "646c3588de84ac532a0e3525eae03edae1ea759f"
}
