{"push_id":1012114974,"size":86,"distinct_size":86,"ref":"refs/heads/grpc-heartbeat","head":"8c17374798a419fd10f41ba46348c69e05463071","before":"f1605098244c5bbac00eb642666cd2083f3ea99c","commits":[{"sha":"e1ef0925291c71392d01bac95b257fe74797568b","author":{"email":"c96a05aaafbe4b3abc1841a4083a1b0f402c2ba6@gmail.com","name":"Tamir Duberstein"},"message":"kv: disable flaky test TestClientNotReady","distinct":true,"url":"https://api.github.com/repos/tamird/cockroach/commits/e1ef0925291c71392d01bac95b257fe74797568b"},{"sha":"4c65674b3875e4e464ef5b74443d6332a6e99e79","author":{"email":"c96a05aaafbe4b3abc1841a4083a1b0f402c2ba6@gmail.com","name":"Tamir Duberstein"},"message":"Merge pull request #4922 from tamird/disable-client-not-ready\n\nkv: disable flaky test TestClientNotReady","distinct":true,"url":"https://api.github.com/repos/tamird/cockroach/commits/4c65674b3875e4e464ef5b74443d6332a6e99e79"},{"sha":"ca26da7bd58b29683f5f8d20b2b8e7954f48718a","author":{"email":"73675debcd8a436be48ec22211dcf44fe0df0a64@cockroachlabs.com","name":"Ben Darnell"},"message":"acceptance: Replace docker-spy with docker's dns\n\nUnfortunately this does not seem to fix #4894; I still see\nsimilar-looking failures locally.","distinct":true,"url":"https://api.github.com/repos/tamird/cockroach/commits/ca26da7bd58b29683f5f8d20b2b8e7954f48718a"},{"sha":"4f3dcf7a16a63cd57b019496378a0fd3f30b7705","author":{"email":"73675debcd8a436be48ec22211dcf44fe0df0a64@bendarnell.com","name":"Ben Darnell"},"message":"Merge pull request #4927 from bdarnell/acceptance-dns\n\nacceptance: Replace docker-spy with docker's dns","distinct":true,"url":"https://api.github.com/repos/tamird/cockroach/commits/4f3dcf7a16a63cd57b019496378a0fd3f30b7705"},{"sha":"3ee23fa8069d7d109b1989afdc4fdc43db550540","author":{"email":"b25b72a65195e46aa49449589ffbea257ff840a3@gmail.com","name":"Peter Mattis"},"message":"acceptance: use the same docker tag for building and running\n\nEnsure that the docker image tags are the same in build/circle-deps.sh\nand their usage in the acceptance tests.","distinct":true,"url":"https://api.github.com/repos/tamird/cockroach/commits/3ee23fa8069d7d109b1989afdc4fdc43db550540"},{"sha":"3f7126ad6156b26b2982df0f07fe9eda6c914570","author":{"email":"4b8373d016f277527198385ba72fda0feb5da015@cockroachlabs.com","name":"Peter Mattis"},"message":"Merge pull request #4928 from petermattis/pmattis/docker-tags\n\nacceptance: use the same docker tag for building and running","distinct":true,"url":"https://api.github.com/repos/tamird/cockroach/commits/3f7126ad6156b26b2982df0f07fe9eda6c914570"},{"sha":"743e8ff5c525977ed28d832dc35c85f0e8353f72","author":{"email":"c96a05aaafbe4b3abc1841a4083a1b0f402c2ba6@gmail.com","name":"Tamir Duberstein"},"message":"build: remove outdated comment","distinct":true,"url":"https://api.github.com/repos/tamird/cockroach/commits/743e8ff5c525977ed28d832dc35c85f0e8353f72"},{"sha":"439b1f9a768c1f7584d4979f0038dea04abe7aec","author":{"email":"c96a05aaafbe4b3abc1841a4083a1b0f402c2ba6@gmail.com","name":"Tamir Duberstein"},"message":"build: stop using the latest tag","distinct":true,"url":"https://api.github.com/repos/tamird/cockroach/commits/439b1f9a768c1f7584d4979f0038dea04abe7aec"},{"sha":"5929519020b6b28f433cfcf8a308f9bca4a3dfbf","author":{"email":"c96a05aaafbe4b3abc1841a4083a1b0f402c2ba6@gmail.com","name":"Tamir Duberstein"},"message":"Merge pull request #4933 from tamird/tags-comment\n\nbuild: remove outdated comment","distinct":true,"url":"https://api.github.com/repos/tamird/cockroach/commits/5929519020b6b28f433cfcf8a308f9bca4a3dfbf"},{"sha":"1a5f7433df731b04477b73faecba2aa95dd55c77","author":{"email":"3bc9878796daafbdd50a44e12f1702aa6caadb4b@cockroachlabs.com","name":"Cuong Do"},"message":"Add more admin endpoints and use grpc-gateway\n\nResolves #4298 and fixes #4859\n\nApologies for the size of this change. It was not obvious that\ngrpc-gateway would work out until I implemented enough endpoints using\nit.\n\nThese are the new endpoints (better docs are in server/admin.proto):\n/_admin/v1/users - lists users\n/_admin/v1/databases/DATABASE/tables/TABLE - grants, columns, and\n    indexes for a table\n/_admin/v1/events - returns most recent event log entries\n/_admin/v1/uidata - sets and gets data for the admin UI\n\nThe shift to gRPC coincides with the overall shift of CockroachDB to\ngRPC. To be clear, the admin UI will still access the UI through the\nREST API.  This is done using grpc-gateway, which is a set of tools that\ngenerates an HTTP reverse proxy that exposes REST-style HTTP endpoints\nand proxies them to gRPC.\n\nThough all endpoints are natively gRPC, we test them using their\nREST-style JSON interface, because the admin UI will use the REST API\nfor at least the short-term. Because the admin UI doesn't have its own\ntests (yet), we need to ensure the endpoints work in the way that the\nadmin UI uses them.\n\nThese changes necessitate some changes to 'make check'. To return\nproper HTTP error codes (e.g. 404 Not Found), I need to use\ngrpc.Errorf, which has an error code as its first parameter. 'go vet'\ndoesn't like that the first parameter isn't a format string.","distinct":true,"url":"https://api.github.com/repos/tamird/cockroach/commits/1a5f7433df731b04477b73faecba2aa95dd55c77"},{"sha":"5714afbada9c42c4c7230b4bd6cdbc2995070b5c","author":{"email":"25fad7a39062a81fcaf88abd782f9f69679c0bdf@gmail.com","name":"Tobias Schottdorf"},"message":"Fix method invocation in resolveIntents","distinct":true,"url":"https://api.github.com/repos/tamird/cockroach/commits/5714afbada9c42c4c7230b4bd6cdbc2995070b5c"},{"sha":"080dacfda5bc361ed465dc1321c9ea67d31ed2ee","author":{"email":"ec215cb41b22f2559be283cc58dc7219738dc864@cockroachlabs.com","name":"Bram Gruneir"},"message":"Storage: Hook up size limitations to RocksDB engines.\nFixes #4621","distinct":true,"url":"https://api.github.com/repos/tamird/cockroach/commits/080dacfda5bc361ed465dc1321c9ea67d31ed2ee"},{"sha":"a9445911a33c1a1376b5d4d1b742c22b5693e7fe","author":{"email":"b916e94d63c4d551e8d54e7a93ea400ef994acf0@gmail.com","name":"David Taylor"},"message":"sql: re-enable fast-path delete\n\nregression from #4713: `n.Where` is not usually nil, but often `scan.filter` is, if the WHERE was reduced to just spans.\n\n```\nname                    old time/op    new time/op    delta\nDelete1_Cockroach-8        676µs ± 4%     547µs ± 1%  -19.17%  (p=0.000 n=10+10)\nDelete10_Cockroach-8      2.10ms ± 1%    1.70ms ± 2%  -18.91%  (p=0.000 n=10+10)\nDelete100_Cockroach-8     17.0ms ± 9%    13.5ms ± 2%  -20.33%  (p=0.000 n=10+10)\nDelete1000_Cockroach-8     178ms ±10%     154ms ± 2%  -13.35%    (p=0.001 n=7+7)\n\nname                    old alloc/op   new alloc/op   delta\nDelete1_Cockroach-8       36.1kB ± 0%    30.0kB ± 0%  -16.98%  (p=0.000 n=10+10)\nDelete10_Cockroach-8       110kB ± 0%      76kB ± 0%  -30.55%  (p=0.000 n=10+10)\nDelete100_Cockroach-8      827kB ± 0%     541kB ± 0%  -34.59%  (p=0.000 n=10+10)\nDelete1000_Cockroach-8    7.48MB ± 1%    4.87MB ± 1%  -34.92%   (p=0.000 n=7+10)\n\nname                    old allocs/op  new allocs/op  delta\nDelete1_Cockroach-8          696 ± 0%       570 ± 0%  -18.10%   (p=0.000 n=10+7)\nDelete10_Cockroach-8       1.73k ± 0%     1.25k ± 0%  -27.60%   (p=0.000 n=10+8)\nDelete100_Cockroach-8      11.6k ± 0%      7.8k ± 0%  -32.97%  (p=0.000 n=10+10)\nDelete1000_Cockroach-8      110k ± 0%       73k ± 1%  -34.02%   (p=0.000 n=7+10)\n```","distinct":true,"url":"https://api.github.com/repos/tamird/cockroach/commits/a9445911a33c1a1376b5d4d1b742c22b5693e7fe"},{"sha":"bb25dd0b34bf09ff1c7731cf4fa5b0909aa78bd1","author":{"email":"25fad7a39062a81fcaf88abd782f9f69679c0bdf@gmail.com","name":"Tobias Schottdorf"},"message":"Merge pull request #4940 from tschottdorf/action\n\nFix method invocation in resolveIntents","distinct":true,"url":"https://api.github.com/repos/tamird/cockroach/commits/bb25dd0b34bf09ff1c7731cf4fa5b0909aa78bd1"},{"sha":"a6a7c8bb0b483c2702cf072868cc7d7bf6358398","author":{"email":"885ea01d97daf7784d4a0ae7f66c69a3686faeb6@gmail.com","name":"Nathan VanBenschoten"},"message":"storage: HeapSort CommandQueue overlaps to permit early breaking\n\nWe previously introduced an optimization where we could cut dependency\nsearching in `CommandQueue.GetWait` short once the established\ndependencies fully enclosed the new command. This opened an opportunity\nto avoid sorting the entire overlapping command slice and instead\nsorting on demand using a Heap. As @bdarnell mentioned:\n\n> \"You don't need to know the top K in advance or do any chunking; just\n> make the whole overlaps array into a heap (O(n)), then peel off one\n> element at a time (O(log(n))). If you do need the entire array then\n> it's the same O(n*log(n)) of the Sort() call, although with a somewhat\n> higher constant factor.\"\n\nThis PR makes this proposed change and hopes to serve as a discussion\nabout its performance impacts.\n\n`GetWait` Dependency Calculation Stats:\n\nThe following metrics were gathered by instrumenting `GetWait` with\n`go-metric` and hitting a single node with a photos example app.\nThis was meant to be a representative example of semi-contentious load.\nThe metrics gathered were:\n- `pre overlap`: the number of overlapping commands\n- `post overlap`: the number of commands left in the heap after\n  calculating dependencies. These are the commands that we avoided\n  sorting.\n- `percent bailed`: the percent of commands that we avoided sorting by\n  using an online heapsort.\n\n50 users:\n```\npercent bailed.50-percentile: 67,\npercent bailed.75-percentile: 76,\npercent bailed.95-percentile: 89,\npercent bailed.99-percentile: 98,\npercent bailed.999-percentile: 99,\npercent bailed.count: 70215,\npercent bailed.max: 99,\npercent bailed.mean: 49.1632080078125,\npercent bailed.min: 0,\npercent bailed.std-dev: 34.15071502588194,\npost overlap length.50-percentile: 2,\npost overlap length.75-percentile: 4,\npost overlap length.95-percentile: 10,\npost overlap length.99-percentile: 60,\npost overlap length.999-percentile: 83,\npost overlap length.count: 70215,\npost overlap length.max: 96,\npost overlap length.mean: 3.9793701171875,\npost overlap length.min: 0,\npost overlap length.std-dev: 9.756680363352212,\npre overlap length.50-percentile: 3,\npre overlap length.75-percentile: 5,\npre overlap length.95-percentile: 33,\npre overlap length.99-percentile: 69,\npre overlap length.999-percentile: 91,\npre overlap length.count: 70215,\npre overlap length.max: 97,\npre overlap length.mean: 6.13134765625,\npre overlap length.min: 1,\npre overlap length.std-dev: 12.64766621491185\n```\n\n1000 users:\n```\npercent bailed.50-percentile: 80,\npercent bailed.75-percentile: 91,\npercent bailed.95-percentile: 99,\npercent bailed.99-percentile: 100,\npercent bailed.999-percentile: 100,\npercent bailed.count: 19316,\npercent bailed.max: 100,\npercent bailed.mean: 68.78369140625,\npercent bailed.min: 0,\npercent bailed.std-dev: 33.37719207522773,\npost overlap length.50-percentile: 4,\npost overlap length.75-percentile: 10,\npost overlap length.95-percentile: 174,\npost overlap length.99-percentile: 1063.0699999999997,\npost overlap length.999-percentile: 1482.4209999999994,\npost overlap length.count: 19316,\npost overlap length.max: 1496,\npost overlap length.mean: 43.474609375,\npost overlap length.min: 0,\npost overlap length.std-dev: 161.09362296868096,\npre overlap length.50-percentile: 6,\npre overlap length.75-percentile: 11,\npre overlap length.95-percentile: 175,\npre overlap length.99-percentile: 1051,\npre overlap length.999-percentile: 1473.6139999999996,\npre overlap length.count: 19316,\npre overlap length.max: 1497,\npre overlap length.mean: 44.2047119140625,\npre overlap length.min: 1,\npre overlap length.std-dev: 157.83892248564868\n```\n\nHeapsort vs. Quicksort Performance:\n\nBenchmarking the old and new sorting algorithms independently. Notice\nthat a major issue with heapsort is that `heap.Pop` allocates, so the\nnumber of allocations is linear with respect to the number of\ndependencies we search. Also notice that it is roughly twice as slow to\nsort the same size slice, which coincidentally lines with the fact that\nfrom the above stats, it looks like we avoid sorting about half of the\nelements.\n\n97 elements (max overlaps from 50 users above):\n```\nBenchmarkQsort-4\t 1000000\t      1087 ns/op\t      32 B/op\t       1 allocs/op\nBenchmarkHeap-4 \t 1000000\t      1619 ns/op\t      80 B/op\t       7 allocs/op\n```\n\n6 elements (average overlaps from 50 users above):\n```\nBenchmarkQsort-4\t  200000\t      9037 ns/op\t      32 B/op\t       1 allocs/op\nBenchmarkHeap-4 \t  100000\t     16547 ns/op\t     816 B/op\t      98 allocs/op\n```\n\n1497 elements (max overlaps from 1000 users above):\n```\nBenchmarkQsort-4\t   10000\t    178428 ns/op\t      32 B/op\t       1 allocs/op\nBenchmarkHeap-4 \t    5000\t    342415 ns/op\t   12016 B/op\t    1498 allocs/op\n```\n\n6 elements, only pop 2 for heapsort:\n```\nBenchmarkQsort-4\t 1000000\t      1045 ns/op\t      32 B/op\t       1 allocs/op\nBenchmarkHeap-4 \t 1000000\t      1284 ns/op\t      48 B/op\t       3 allocs/op\n```\n\n44 elements, only pop 15 for heapsort:\n```\nBenchmarkQsort-4\t  300000\t      4255 ns/op\t      32 B/op\t       1 allocs/op\nBenchmarkHeap-4 \t  300000\t      4619 ns/op\t     160 B/op\t      16 allocs/op\n```\n\nSQL Benchmarks:\n\n```\nname                          old time/op    new time/op    delta\nBank_Cockroach-2                 421µs ± 2%     424µs ± 1%    ~           (p=0.089 n=10+10)\nSelect1_Cockroach-2             60.0µs ± 1%    60.4µs ± 1%    ~           (p=0.052 n=10+10)\nSelect2_Cockroach-2             1.03ms ± 2%    1.02ms ± 1%    ~           (p=0.436 n=10+10)\nInsert1_Cockroach-2              500µs ± 1%     500µs ± 1%    ~           (p=0.796 n=10+10)\nInsert10_Cockroach-2             887µs ± 1%     886µs ± 1%    ~            (p=0.447 n=10+9)\nInsert100_Cockroach-2           4.51ms ± 1%    4.48ms ± 1%  -0.60%        (p=0.023 n=10+10)\nInsert1000_Cockroach-2          43.7ms ± 1%    43.4ms ± 1%    ~           (p=0.052 n=10+10)\nUpdate1_Cockroach-2              757µs ± 2%     752µs ± 1%    ~            (p=0.122 n=8+10)\nUpdate10_Cockroach-2            1.40ms ± 1%    1.40ms ± 2%    ~            (p=0.905 n=9+10)\nUpdate100_Cockroach-2           7.54ms ± 3%    7.51ms ± 2%    ~           (p=0.579 n=10+10)\nUpdate1000_Cockroach-2          66.8ms ± 1%    66.9ms ± 3%    ~            (p=0.661 n=9+10)\nDelete1_Cockroach-2              844µs ± 2%     842µs ± 2%    ~           (p=0.739 n=10+10)\nDelete10_Cockroach-2            2.62ms ± 5%    2.59ms ± 4%    ~           (p=0.190 n=10+10)\nDelete100_Cockroach-2           21.1ms ± 1%    21.2ms ± 2%    ~            (p=0.497 n=10+9)\nDelete1000_Cockroach-2           222ms ± 2%     223ms ± 2%    ~           (p=0.796 n=10+10)\nScan1_Cockroach-2                268µs ± 1%     268µs ± 1%    ~            (p=0.762 n=8+10)\nScan10_Cockroach-2               315µs ± 1%     318µs ± 2%    ~           (p=0.063 n=10+10)\nScan100_Cockroach-2              666µs ± 1%     668µs ± 1%    ~            (p=0.549 n=9+10)\nScan1000_Cockroach-2            3.97ms ± 1%    3.97ms ± 1%    ~           (p=0.853 n=10+10)\nScan10000_Cockroach-2           40.6ms ± 1%    40.9ms ± 1%  +0.87%        (p=0.015 n=10+10)\nScan1000Limit1_Cockroach-2       284µs ± 1%     285µs ± 1%    ~             (p=1.000 n=9+9)\nScan1000Limit10_Cockroach-2      331µs ± 2%     330µs ± 1%    ~           (p=0.684 n=10+10)\nScan1000Limit100_Cockroach-2     677µs ± 1%     686µs ± 3%    ~           (p=0.052 n=10+10)\nPgbenchQuery_Cockroach-2        3.95ms ± 5%    3.96ms ± 3%    ~           (p=0.853 n=10+10)\n\nname                          old alloc/op   new alloc/op   delta\nBank_Cockroach-2                68.6kB ± 0%    68.6kB ± 0%    ~            (p=0.858 n=10+9)\nSelect1_Cockroach-2             3.90kB ± 0%    3.91kB ± 0%  +0.11%        (p=0.016 n=10+10)\nSelect2_Cockroach-2             80.8kB ± 0%    80.8kB ± 0%    ~            (p=0.371 n=8+10)\nInsert1_Cockroach-2             23.1kB ± 0%    23.1kB ± 0%    ~           (p=0.868 n=10+10)\nInsert10_Cockroach-2            67.6kB ± 0%    67.5kB ± 0%    ~            (p=0.128 n=9+10)\nInsert100_Cockroach-2            512kB ± 0%     512kB ± 0%    ~           (p=1.000 n=10+10)\nInsert1000_Cockroach-2          4.61MB ± 1%    4.59MB ± 1%    ~           (p=0.436 n=10+10)\nUpdate1_Cockroach-2             37.0kB ± 0%    37.0kB ± 0%    ~             (p=0.713 n=9+9)\nUpdate10_Cockroach-2             101kB ± 0%     101kB ± 0%    ~            (p=0.633 n=8+10)\nUpdate100_Cockroach-2            712kB ± 0%     712kB ± 0%    ~             (p=0.743 n=9+8)\nUpdate1000_Cockroach-2          6.21MB ± 1%    6.18MB ± 1%    ~            (p=0.156 n=10+9)\nDelete1_Cockroach-2             36.1kB ± 0%    36.2kB ± 0%    ~            (p=0.180 n=8+10)\nDelete10_Cockroach-2             110kB ± 0%     110kB ± 0%    ~             (p=0.352 n=9+9)\nDelete100_Cockroach-2            824kB ± 0%     825kB ± 0%    ~            (p=0.356 n=9+10)\nDelete1000_Cockroach-2          7.44MB ± 0%    7.47MB ± 1%    ~            (p=0.237 n=8+10)\nScan1_Cockroach-2               13.3kB ± 0%    13.3kB ± 0%    ~             (p=0.199 n=9+9)\nScan10_Cockroach-2              17.2kB ± 0%    17.2kB ± 0%    ~           (p=0.810 n=10+10)\nScan100_Cockroach-2             49.4kB ± 0%    49.5kB ± 0%    ~            (p=0.387 n=9+10)\nScan1000_Cockroach-2             331kB ± 0%     331kB ± 0%  +0.01%          (p=0.012 n=9+8)\nScan10000_Cockroach-2           5.72MB ± 0%    5.72MB ± 0%    ~            (p=0.986 n=9+10)\nScan1000Limit1_Cockroach-2      14.1kB ± 0%    14.1kB ± 0%    ~           (p=0.593 n=10+10)\nScan1000Limit10_Cockroach-2     17.9kB ± 0%    18.0kB ± 0%  +0.12%          (p=0.021 n=9+8)\nScan1000Limit100_Cockroach-2    50.1kB ± 0%    50.1kB ± 0%    ~             (p=0.531 n=9+9)\nPgbenchQuery_Cockroach-2         227kB ±10%     227kB ±10%    ~           (p=0.853 n=10+10)\n\nname                          old allocs/op  new allocs/op  delta\nBank_Cockroach-2                 1.67k ± 0%     1.67k ± 0%    ~            (p=0.294 n=8+10)\nSelect1_Cockroach-2               97.0 ± 0%      97.0 ± 0%    ~     (all samples are equal)\nSelect2_Cockroach-2              2.70k ± 0%     2.70k ± 0%    ~            (p=0.612 n=9+10)\nInsert1_Cockroach-2                357 ± 0%       357 ± 0%    ~           (p=1.000 n=10+10)\nInsert10_Cockroach-2               916 ± 0%       916 ± 0%    ~           (p=0.559 n=10+10)\nInsert100_Cockroach-2            6.28k ± 0%     6.28k ± 0%    ~             (p=0.327 n=8+9)\nInsert1000_Cockroach-2           60.1k ± 0%     60.0k ± 0%    ~           (p=0.315 n=10+10)\nUpdate1_Cockroach-2                720 ± 0%       720 ± 0%    ~             (p=0.388 n=9+8)\nUpdate10_Cockroach-2             1.43k ± 0%     1.43k ± 0%    ~            (p=0.758 n=8+10)\nUpdate100_Cockroach-2            8.15k ± 0%     8.15k ± 0%    ~             (p=0.516 n=7+8)\nUpdate1000_Cockroach-2           72.4k ± 1%     72.3k ± 0%    ~            (p=0.588 n=10+9)\nDelete1_Cockroach-2                693 ± 0%       693 ± 0%    ~            (p=0.500 n=7+10)\nDelete10_Cockroach-2             1.72k ± 0%     1.72k ± 0%  -0.06%          (p=0.009 n=9+8)\nDelete100_Cockroach-2            11.6k ± 0%     11.6k ± 0%  +0.03%         (p=0.036 n=8+10)\nDelete1000_Cockroach-2            110k ± 0%      110k ± 0%    ~            (p=0.166 n=8+10)\nScan1_Cockroach-2                  276 ± 1%       276 ± 1%    ~           (p=0.825 n=10+10)\nScan10_Cockroach-2                 356 ± 0%       355 ± 0%    ~           (p=0.714 n=10+10)\nScan100_Cockroach-2              1.08k ± 0%     1.08k ± 0%    ~            (p=0.506 n=7+10)\nScan1000_Cockroach-2             8.29k ± 0%     8.29k ± 0%    ~     (all samples are equal)\nScan10000_Cockroach-2            80.4k ± 0%     80.4k ± 0%    ~           (p=0.287 n=10+10)\nScan1000Limit1_Cockroach-2         298 ± 0%       298 ± 0%    ~            (p=0.549 n=10+8)\nScan1000Limit10_Cockroach-2        377 ± 0%       378 ± 0%  +0.21%         (p=0.008 n=8+10)\nScan1000Limit100_Cockroach-2     1.10k ± 0%     1.10k ± 0%    ~           (p=1.000 n=10+10)\nPgbenchQuery_Cockroach-2         4.05k ± 7%     4.05k ± 7%    ~           (p=0.934 n=10+10)\n```\n\nAnalysis:\n\nAll in all, this looks pretty insignificant either way. 99th percentile\nperformance could be argued as a reason for this change. The worse\nconstant factor for all sorting could be argued as a reason against it.","distinct":true,"url":"https://api.github.com/repos/tamird/cockroach/commits/a6a7c8bb0b483c2702cf072868cc7d7bf6358398"},{"sha":"455e3e9fc748ac985fc4ee9103c81f76c9791656","author":{"email":"885ea01d97daf7784d4a0ae7f66c69a3686faeb6@gmail.com","name":"Nathan VanBenschoten"},"message":"storage: Avoid all HeapSort allocations in CommandQueue.GetWait\n\n`heap.Pop` returns an `interface{}`, meaning that it allocates on every\npop for return values. However, by returning a pointer, we can avoid all\nallocations when popping. We can then pull the popped value out of the pointer.\n\nEffect on Heap Benchmarks:\n\n```\nname    old time/op    new time/op    delta\nHeap-4     166µs ± 1%     147µs ± 1%  -11.43%  (p=0.000 n=10+10)\n\nname    old alloc/op   new alloc/op   delta\nHeap-4    6.43kB ± 0%    0.03kB ± 0%  -99.50%  (p=0.000 n=10+10)\n\nname    old allocs/op  new allocs/op  delta\nHeap-4       801 ± 0%         1 ± 0%  -99.88%  (p=0.000 n=10+10)\n```\n\nNew Perf Impact of PR:\n\n```\nname                          old time/op    new time/op    delta\nBank_Cockroach-2                 424µs ± 3%     424µs ± 1%    ~           (p=0.684 n=10+10)\nSelect1_Cockroach-2             60.1µs ± 1%    60.3µs ± 1%    ~           (p=0.247 n=10+10)\nSelect2_Cockroach-2             1.03ms ± 1%    1.03ms ± 2%    ~           (p=0.579 n=10+10)\nInsert1_Cockroach-2              502µs ± 1%     498µs ± 1%  -0.87%        (p=0.000 n=10+10)\nInsert10_Cockroach-2             890µs ± 1%     885µs ± 1%  -0.65%        (p=0.023 n=10+10)\nInsert100_Cockroach-2           4.51ms ± 1%    4.51ms ± 1%    ~            (p=0.780 n=9+10)\nInsert1000_Cockroach-2          43.7ms ± 1%    43.7ms ± 1%    ~           (p=0.684 n=10+10)\nUpdate1_Cockroach-2              763µs ± 1%     758µs ± 1%  -0.63%         (p=0.006 n=10+9)\nUpdate10_Cockroach-2            1.41ms ± 2%    1.40ms ± 1%    ~           (p=0.075 n=10+10)\nUpdate100_Cockroach-2           7.53ms ± 2%    7.53ms ± 2%    ~           (p=0.912 n=10+10)\nUpdate1000_Cockroach-2          68.1ms ± 2%    68.0ms ± 2%    ~           (p=0.684 n=10+10)\nDelete1_Cockroach-2              843µs ± 1%     839µs ± 2%    ~            (p=0.237 n=8+10)\nDelete10_Cockroach-2            2.58ms ± 2%    2.58ms ± 3%    ~            (p=0.968 n=9+10)\nDelete100_Cockroach-2           21.4ms ± 1%    21.2ms ± 2%  -1.02%         (p=0.043 n=8+10)\nDelete1000_Cockroach-2           224ms ± 2%     223ms ± 2%    ~           (p=0.853 n=10+10)\nScan1_Cockroach-2                270µs ± 1%     267µs ± 1%  -0.86%        (p=0.000 n=10+10)\nScan10_Cockroach-2               317µs ± 2%     312µs ± 1%  -1.44%        (p=0.000 n=10+10)\nScan100_Cockroach-2              671µs ± 3%     668µs ± 4%    ~           (p=0.481 n=10+10)\nScan1000_Cockroach-2            3.95ms ± 2%    3.94ms ± 1%    ~           (p=0.315 n=10+10)\nScan10000_Cockroach-2           40.8ms ± 1%    40.8ms ± 3%    ~           (p=0.853 n=10+10)\nScan1000Limit1_Cockroach-2       285µs ± 1%     283µs ± 1%  -0.68%        (p=0.029 n=10+10)\nScan1000Limit10_Cockroach-2      330µs ± 1%     328µs ± 1%    ~            (p=0.278 n=10+9)\nScan1000Limit100_Cockroach-2     692µs ± 2%     687µs ± 4%    ~           (p=0.165 n=10+10)\nPgbenchQuery_Cockroach-2        3.90ms ± 5%    3.84ms ± 2%    ~             (p=0.063 n=9+9)\n\nname                          old alloc/op   new alloc/op   delta\nBank_Cockroach-2                68.6kB ± 0%    68.6kB ± 0%    ~           (p=0.110 n=10+10)\nSelect1_Cockroach-2             3.90kB ± 0%    3.91kB ± 0%    ~           (p=0.182 n=10+10)\nSelect2_Cockroach-2             80.8kB ± 0%    80.8kB ± 0%  -0.02%          (p=0.049 n=9+8)\nInsert1_Cockroach-2             23.1kB ± 0%    23.0kB ± 0%  -0.35%         (p=0.001 n=9+10)\nInsert10_Cockroach-2            67.6kB ± 0%    67.2kB ± 0%  -0.61%        (p=0.000 n=10+10)\nInsert100_Cockroach-2            511kB ± 0%     508kB ± 0%  -0.62%         (p=0.000 n=9+10)\nInsert1000_Cockroach-2          4.61MB ± 1%    4.58MB ± 1%  -0.81%        (p=0.001 n=10+10)\nUpdate1_Cockroach-2             37.0kB ± 0%    36.9kB ± 0%  -0.39%        (p=0.000 n=10+10)\nUpdate10_Cockroach-2             101kB ± 0%     100kB ± 0%  -0.72%         (p=0.000 n=9+10)\nUpdate100_Cockroach-2            712kB ± 0%     710kB ± 2%    ~           (p=0.143 n=10+10)\nUpdate1000_Cockroach-2          6.21MB ± 0%    6.12MB ± 2%  -1.33%          (p=0.012 n=6+9)\nDelete1_Cockroach-2             36.1kB ± 0%    36.0kB ± 0%  -0.23%         (p=0.001 n=10+8)\nDelete10_Cockroach-2             110kB ± 0%     109kB ± 0%  -0.62%          (p=0.000 n=8+9)\nDelete100_Cockroach-2            825kB ± 0%     818kB ± 0%  -0.78%          (p=0.000 n=9+9)\nDelete1000_Cockroach-2          7.44MB ± 0%    7.37MB ± 0%  -0.87%          (p=0.000 n=7+8)\nScan1_Cockroach-2               13.3kB ± 0%    13.3kB ± 0%  -0.23%          (p=0.015 n=9+9)\nScan10_Cockroach-2              17.2kB ± 0%    17.2kB ± 0%    ~           (p=0.110 n=10+10)\nScan100_Cockroach-2             49.4kB ± 0%    49.4kB ± 0%    ~             (p=0.157 n=8+9)\nScan1000_Cockroach-2             331kB ± 0%     331kB ± 0%  -0.01%        (p=0.005 n=10+10)\nScan10000_Cockroach-2           5.72MB ± 0%    5.72MB ± 0%    ~            (p=0.515 n=10+8)\nScan1000Limit1_Cockroach-2      14.1kB ± 0%    14.1kB ± 0%    ~            (p=0.062 n=10+9)\nScan1000Limit10_Cockroach-2     18.0kB ± 0%    17.9kB ± 0%  -0.19%         (p=0.013 n=9+10)\nScan1000Limit100_Cockroach-2    50.1kB ± 0%    50.1kB ± 0%    ~            (p=0.127 n=10+8)\nPgbenchQuery_Cockroach-2         217kB ± 0%     216kB ± 0%  -0.37%         (p=0.000 n=8+10)\n\nname                          old allocs/op  new allocs/op  delta\nBank_Cockroach-2                 1.67k ± 0%     1.67k ± 0%  -0.06%          (p=0.002 n=7+8)\nSelect1_Cockroach-2               97.0 ± 0%      97.0 ± 0%    ~     (all samples are equal)\nSelect2_Cockroach-2              2.70k ± 0%     2.70k ± 0%  -0.02%         (p=0.022 n=9+10)\nInsert1_Cockroach-2                357 ± 0%       355 ± 0%  -0.78%        (p=0.000 n=10+10)\nInsert10_Cockroach-2               917 ± 0%       904 ± 0%  -1.36%        (p=0.000 n=10+10)\nInsert100_Cockroach-2            6.28k ± 0%     6.18k ± 0%  -1.60%          (p=0.000 n=9+9)\nInsert1000_Cockroach-2           60.1k ± 0%     59.0k ± 0%  -1.73%        (p=0.000 n=10+10)\nUpdate1_Cockroach-2                720 ± 0%       716 ± 0%  -0.57%         (p=0.000 n=8+10)\nUpdate10_Cockroach-2             1.43k ± 0%     1.41k ± 0%  -1.55%         (p=0.000 n=9+10)\nUpdate100_Cockroach-2            8.15k ± 0%     8.00k ± 2%  -1.84%        (p=0.000 n=10+10)\nUpdate1000_Cockroach-2           72.4k ± 0%     70.4k ± 0%  -2.84%          (p=0.001 n=6+8)\nDelete1_Cockroach-2                692 ± 0%       689 ± 0%  -0.49%         (p=0.000 n=10+7)\nDelete10_Cockroach-2             1.72k ± 0%     1.70k ± 0%  -1.27%          (p=0.000 n=7+9)\nDelete100_Cockroach-2            11.6k ± 0%     11.4k ± 0%  -1.74%          (p=0.000 n=9+9)\nDelete1000_Cockroach-2            110k ± 0%      108k ± 0%  -1.82%          (p=0.000 n=9+8)\nScan1_Cockroach-2                  275 ± 1%       274 ± 1%  -0.33%        (p=0.006 n=10+10)\nScan10_Cockroach-2                 355 ± 0%       354 ± 0%  -0.23%        (p=0.019 n=10+10)\nScan100_Cockroach-2              1.08k ± 0%     1.08k ± 0%  -0.06%          (p=0.041 n=8+9)\nScan1000_Cockroach-2             8.29k ± 0%     8.29k ± 0%  -0.01%        (p=0.001 n=10+10)\nScan10000_Cockroach-2            80.4k ± 0%     80.4k ± 0%  -0.00%          (p=0.000 n=7+8)\nScan1000Limit1_Cockroach-2         298 ± 0%       298 ± 0%    ~            (p=0.161 n=9+10)\nScan1000Limit10_Cockroach-2        378 ± 0%       376 ± 0%  -0.32%        (p=0.001 n=10+10)\nScan1000Limit100_Cockroach-2     1.10k ± 0%     1.10k ± 0%    ~            (p=0.071 n=10+6)\nPgbenchQuery_Cockroach-2         3.92k ± 0%     3.90k ± 0%  -0.62%         (p=0.000 n=8+10)\n```","distinct":true,"url":"https://api.github.com/repos/tamird/cockroach/commits/455e3e9fc748ac985fc4ee9103c81f76c9791656"},{"sha":"5271a3c9778e0af74a0f865476a6f648d390e453","author":{"email":"3bc9878796daafbdd50a44e12f1702aa6caadb4b@cockroachlabs.com","name":"Cuong Do"},"message":"Rename stats `pgwire.*` to `sql.*`\n\nThis affects the SQL network I/O and connection stats. I've also\npulled the registry out of `sql.Executor` and am now passing it in,\nto make the sharing of the registry with the pgwire server a little\ncleaner.","distinct":true,"url":"https://api.github.com/repos/tamird/cockroach/commits/5271a3c9778e0af74a0f865476a6f648d390e453"},{"sha":"8482f5bfc2dc037d81c9e27dddbea0a907ae3dd3","author":{"email":"b25b72a65195e46aa49449589ffbea257ff840a3@gmail.com","name":"Peter Mattis"},"message":"acceptance: fix sporadic DNS problems\n\nSpecify GODEBUG=netdns=cgo to work around sporadic DNS problems within\nacceptance tests. Cgo DNS seems to be more robust than Go DNS.\n\nFixes #4894.","distinct":true,"url":"https://api.github.com/repos/tamird/cockroach/commits/8482f5bfc2dc037d81c9e27dddbea0a907ae3dd3"},{"sha":"aba16399154cd603d11f94455e78c420457acb84","author":{"email":"885ea01d97daf7784d4a0ae7f66c69a3686faeb6@gmail.com","name":"Nathan VanBenschoten"},"message":"Merge pull request #4878 from nvanbenschoten/nvanbenschoten/commandHeap\n\nstorage: HeapSort CommandQueue overlaps to permit early sort termination","distinct":true,"url":"https://api.github.com/repos/tamird/cockroach/commits/aba16399154cd603d11f94455e78c420457acb84"},{"sha":"190c645aa51307c950a6517ec3b4aba0d498e38b","author":{"email":"885ea01d97daf7784d4a0ae7f66c69a3686faeb6@gmail.com","name":"Nathan VanBenschoten"},"message":"keys: Move SequenceCacheKey decoding to keys package\n\nFixes #4547.\n\nThe `decodeSequenceCacheKey` is more at home in the `keys` package\nthan the `storage` package.","distinct":true,"url":"https://api.github.com/repos/tamird/cockroach/commits/190c645aa51307c950a6517ec3b4aba0d498e38b"}]}