{"push_id":1032319224,"size":127,"distinct_size":33,"ref":"refs/heads/debug3087","head":"b87a1e59aa99734f66291094ee61a0f42a25b571","before":"283b0b26d6d5b7c55fe11b4abfce6b53f2ea9108","commits":[{"sha":"4b4eb8d1e6ea374a53d0b0da63de57197c44184a","author":{"email":"b916e94d63c4d551e8d54e7a93ea400ef994acf0@gmail.com","name":"David Taylor"},"message":"sql: add TODO / disclaimer to incomplete multinode test","distinct":false,"url":"https://api.github.com/repos/knz/cockroach/commits/4b4eb8d1e6ea374a53d0b0da63de57197c44184a"},{"sha":"8df5343e2f07f040b93349ef050294a264d55db1","author":{"email":"885ea01d97daf7784d4a0ae7f66c69a3686faeb6@gmail.com","name":"Nathan VanBenschoten"},"message":"encoding: Replace sqlLite float encoding with int encoding of float bits\n\nFixes #5192.\n\nThis approach was inspired by\ngithub.com/google/orderedcode/orderedcode.go. It reinterprets the bits\nof a float64 as an int64, and messes with this reinterpretation to get\nthe ordering correct. For positive floats, the encoding of the 64 bits\n(in IEEE 754 format) is directly encoded using `EncodeUint64Ascending`.\nFor negative floats, we keep the sign bit and invert all other bits,\nencoding this value using `EncodeUint64Descending`.\n\n```\nname           old time/op    new time/op    delta\nEncodeFloat-4     314ns ± 7%      23ns ± 3%  -92.53%         (p=0.000 n=10+9)\nDecodeFloat-4     308ns ±12%      30ns ± 1%  -90.24%         (p=0.000 n=10+9)\n\nname           old alloc/op   new alloc/op   delta\nEncodeFloat-4    0.00B ±NaN%    0.00B ±NaN%     ~     (all samples are equal)\nDecodeFloat-4    0.00B ±NaN%    0.00B ±NaN%     ~     (all samples are equal)\n\nname           old allocs/op  new allocs/op  delta\nEncodeFloat-4     0.00 ±NaN%     0.00 ±NaN%     ~     (all samples are equal)\nDecodeFloat-4     0.00 ±NaN%     0.00 ±NaN%     ~     (all samples are equal)\n```","distinct":false,"url":"https://api.github.com/repos/knz/cockroach/commits/8df5343e2f07f040b93349ef050294a264d55db1"},{"sha":"8638011671ae66966829a3d95f6b62fb61b7c4cd","author":{"email":"ec1657b07dda0ff6262dc7efd2e7e3cc188a9ea2@gmail.com","name":"Radu Berinde"},"message":"sql: make parallel test fail on invalid globs\n\nWe changed the logic test to fail if the globs did not result in any paths. This\nchange does the same for the similar parallel test.","distinct":false,"url":"https://api.github.com/repos/knz/cockroach/commits/8638011671ae66966829a3d95f6b62fb61b7c4cd"},{"sha":"04c5aa32fa932b7cb5ef82caa264c4f0a16648be","author":{"email":"885ea01d97daf7784d4a0ae7f66c69a3686faeb6@gmail.com","name":"Nathan VanBenschoten"},"message":"sql: Add sql benchmark to stress in-memory row sorting\n\nSpecific implementations:\n- BenchmarkSort100000Limit10\n- BenchmarkSort100000Limit10Distinct","distinct":false,"url":"https://api.github.com/repos/knz/cockroach/commits/04c5aa32fa932b7cb5ef82caa264c4f0a16648be"},{"sha":"67b810a689870b079d706e7818ec69da8f0a4580","author":{"email":"ec1657b07dda0ff6262dc7efd2e7e3cc188a9ea2@gmail.com","name":"Radu Berinde"},"message":"sql: make parallel test faster\n\nThe sql tests sometimes time out in the parallel test. In the instance I looked\nat it took ~30 seconds. Reducing the number of times we run the transaction.","distinct":false,"url":"https://api.github.com/repos/knz/cockroach/commits/67b810a689870b079d706e7818ec69da8f0a4580"},{"sha":"6c586dccbadc845eb286bcec789cfd7d3cdc41bb","author":{"email":"ec1657b07dda0ff6262dc7efd2e7e3cc188a9ea2@gmail.com","name":"Radu Berinde"},"message":"sql: add logic and parallel test files to static-tests package\n\nThe static test package did not include the sql test files. Until recently the\ntests just silently did not run anything (now they fail). This change copies the\ntest files in the staging directory for the package (as part of `make\ntestbuildall`). The `stress.sh` script is also fixed to run each test binary\nfrom the respective package directory.\n\nTested by running `build/build-static-binaries.sh`, unpacking the bundle in a\ntemp dir, copying stress, and running `cloud/aws/stress.sh`.\n\nFixes #5339.","distinct":false,"url":"https://api.github.com/repos/knz/cockroach/commits/6c586dccbadc845eb286bcec789cfd7d3cdc41bb"},{"sha":"db67e8ebe3a5bb4ab597061f2a84c4d164838b63","author":{"email":"8dc7c09356db0b1762fb140617d7375c0a5a4131@cockroachlabs.com","name":"Andrei Matei"},"message":"add suport for replay protection to TestingCommandFilter\n\nTurns out there can be raft replays in tests. This adds optional support for\nreplay protection in the mock by saving the raft cmd id in the context,\nand uses it in the sql mocks.","distinct":false,"url":"https://api.github.com/repos/knz/cockroach/commits/db67e8ebe3a5bb4ab597061f2a84c4d164838b63"},{"sha":"4ae1135d623d2e9bdc0ed0de679313f87cc65c41","author":{"email":"885ea01d97daf7784d4a0ae7f66c69a3686faeb6@gmail.com","name":"Nathan VanBenschoten"},"message":"encoding: Improve Decimal encoding and decoding performance\n\nNow that we are no longer tied to the sqlLite float encoding for\ndecimals, we can go nuts with a custom encoding. This commit proposes a\nnew encoding that uses the bytes directly from the underlying `big.Int`\nto represent the decimal's mantissa. After a lot of tinkering the\napproach reduced decimal encoding to zero allocations! It uses a\ncouple of tricks to achieve that, including a binary digit lookup table\nand a few routines working on slices of little-endian `big.Words` so that\nwe can flip the bytes into the encoding key directly. Decoding was also\nimproved by reducing allocations in a few key spots. These included\nusing the binary digit lookup table, performing ones-complements on the\nkeys themselves, and better handling the decimal's underlying `big.Int`.\n\n```\nname             old time/op    new time/op    delta\nEncodeDecimal-4     470ns ± 2%     161ns ± 1%   -65.81%    (p=0.000 n=9+9)\nDecodeDecimal-4     622ns ± 2%     239ns ± 1%   -61.66%  (p=0.000 n=10+10)\n\nname             old alloc/op   new alloc/op   delta\nEncodeDecimal-4     89.0B ± 0%     0.0B ±NaN%  -100.00%  (p=0.000 n=10+10)\nDecodeDecimal-4      176B ± 0%       96B ± 0%   -45.45%  (p=0.000 n=10+10)\n\nname             old allocs/op  new allocs/op  delta\nEncodeDecimal-4      3.00 ± 0%     0.00 ±NaN%  -100.00%  (p=0.000 n=10+10)\nDecodeDecimal-4      4.00 ± 0%      2.00 ± 0%   -50.00%  (p=0.000 n=10+10)\n```","distinct":false,"url":"https://api.github.com/repos/knz/cockroach/commits/4ae1135d623d2e9bdc0ed0de679313f87cc65c41"},{"sha":"c490f7a995e0b79e1aa8145e0b2823cc83d54dcf","author":{"email":"45aefc834abf4b6844854d63a474b67e53b69671@gmail.com","name":"Spencer Kimball"},"message":"Move call to SetNewRequest in dist_sender outside inner send loop\n\nPreviously, we would always increment the txn sequence number on\ncalls from the dist sender to a store. In the event of a send error,\nthis would potentially replay requests using new sequence numbers.\nWhile this wouldn't necessarily cause any errors (mutations in txns\nyield write too old errors), on a replay of BeginTransaction, we'd\nget an error because the epoch wasn't incremented but the txn record\nalready exists.\n\nRemoved additional extraneous calls to SetNewRequest for clarity.","distinct":false,"url":"https://api.github.com/repos/knz/cockroach/commits/c490f7a995e0b79e1aa8145e0b2823cc83d54dcf"},{"sha":"882dfea85d9cec089cef675c2234bcf3e107cc38","author":{"email":"8cd32adbfdfb986a6f0d684f7a16030a20d97029@cockroachlabs.com","name":"RaduBerinde"},"message":"Merge pull request #5358 from RaduBerinde/fix-static-stress\n\nsql: add logic and parallel test files to static-tests package","distinct":false,"url":"https://api.github.com/repos/knz/cockroach/commits/882dfea85d9cec089cef675c2234bcf3e107cc38"},{"sha":"4ac7d9471b1d44c0963e72555352b3b53007ed8d","author":{"email":"5a8372f5628deb22ab258f403701c7c55f2b695f@gmail.com","name":"Andrei Matei"},"message":"Merge pull request #5184 from andreimatei/mock-replay-protection\n\nadd suport for replay protection to TestingCommandFilter","distinct":false,"url":"https://api.github.com/repos/knz/cockroach/commits/4ac7d9471b1d44c0963e72555352b3b53007ed8d"},{"sha":"203563166006b315e5564b2c70f1ce635a4578c9","author":{"email":"45aefc834abf4b6844854d63a474b67e53b69671@gmail.com","name":"Spencer Kimball"},"message":"Merge pull request #5360 from cockroachdb/spencerkimball/begin-txn-idempotence\n\nMove call to SetNewRequest in dist_sender outside inner send loop","distinct":false,"url":"https://api.github.com/repos/knz/cockroach/commits/203563166006b315e5564b2c70f1ce635a4578c9"},{"sha":"50532a4fc852590cd07dade78fc1eae4df436add","author":{"email":"b25b72a65195e46aa49449589ffbea257ff840a3@gmail.com","name":"Peter Mattis"},"message":"sql: don't panic on $0 parameters\n\nFixes #5375.","distinct":false,"url":"https://api.github.com/repos/knz/cockroach/commits/50532a4fc852590cd07dade78fc1eae4df436add"},{"sha":"862328f8debf21607096090686fbd1d455d1ef7c","author":{"email":"25fad7a39062a81fcaf88abd782f9f69679c0bdf@gmail.com","name":"Tobias Schottdorf"},"message":"storage: make GC queue logic reusable\n\nAlso fixed a bug: We were always scanning the whole transaction table, not only\nthat of the Range undergoing the GC cycle.","distinct":false,"url":"https://api.github.com/repos/knz/cockroach/commits/862328f8debf21607096090686fbd1d455d1ef7c"},{"sha":"d0b8b34677b340271101ac314044282c7e4ffce9","author":{"email":"25fad7a39062a81fcaf88abd782f9f69679c0bdf@gmail.com","name":"Tobias Schottdorf"},"message":"Add debug command to \"simulate\" GC run\n\n`./cockroach estimate-gc <dir> [range_id]`\n\nThe output format is\n\n```\nRangeID: 92 [/Table/53/2/\"k\\xcaPe\\xce\\xe6I\\xbc\\x8af\\xd9\\xf8V[L\\xdb\"/Tue Mar 15 17:24:18 UTC 2016, /Max):\nstorage.GCInfo{\n    Now:                        roachpb.Timestamp{WallTime:1458267071598809847, Logical:0},\n    Policy:                     config.GCPolicy{TTLSeconds:86400},\n    GCKeys:                     22448,\n    IntentsConsidered:          0,\n    IntentTxns:                 0,\n    TransactionSpanTotal:       38,\n    TransactionSpanGCAborted:   23,\n    TransactionSpanGCCommitted: 15,\n    TransactionSpanGCPending:   0,\n    TransactionSpanGCNum:       38,\n    SequenceSpanTotal:          65026,\n    SequenceSpanConsidered:     65026,\n    SequenceSpanGCNum:          0,\n    PushTxn:                    63691,\n    ResolveTotal:               170,\n    ResolveSuccess:             170,\n}\n```\n\nThe alert observer will note that this indicates a horrible upcoming GC\nperformance, in particular regarding the sequence span and the associated\npushes.","distinct":false,"url":"https://api.github.com/repos/knz/cockroach/commits/d0b8b34677b340271101ac314044282c7e4ffce9"},{"sha":"8637c1cab7c6b1509cb5946a16169cafa72364a8","author":{"email":"25fad7a39062a81fcaf88abd782f9f69679c0bdf@gmail.com","name":"Tobias Schottdorf"},"message":"storage: rename {New->Make}GarbageCollector","distinct":false,"url":"https://api.github.com/repos/knz/cockroach/commits/8637c1cab7c6b1509cb5946a16169cafa72364a8"},{"sha":"c6104b8ab5298c79160edf50997c3876b3082b10","author":{"email":"25fad7a39062a81fcaf88abd782f9f69679c0bdf@gmail.com","name":"Tobias Schottdorf"},"message":"Merge pull request #5367 from tschottdorf/debug_gc\n\nAdd debug command to \"simulate\" GC run","distinct":false,"url":"https://api.github.com/repos/knz/cockroach/commits/c6104b8ab5298c79160edf50997c3876b3082b10"},{"sha":"167dd6d20f3ef9210c025258309aa81946b759ec","author":{"email":"8dc7c09356db0b1762fb140617d7375c0a5a4131@cockroachlabs.com","name":"Andrei Matei"},"message":"get rid of alias for error type in storageutils.mocking\n\nfixes #5379","distinct":false,"url":"https://api.github.com/repos/knz/cockroach/commits/167dd6d20f3ef9210c025258309aa81946b759ec"},{"sha":"67b5080db84354f095757b7758197fe908ac3f92","author":{"email":"5a8372f5628deb22ab258f403701c7c55f2b695f@gmail.com","name":"Andrei Matei"},"message":"Merge pull request #5381 from andreimatei/fix-mocking\n\nget rid of alias for error type in storageutils.mocking","distinct":false,"url":"https://api.github.com/repos/knz/cockroach/commits/67b5080db84354f095757b7758197fe908ac3f92"},{"sha":"abb593d5dc620d929e0918974ec674a123316994","author":{"email":"b25b72a65195e46aa49449589ffbea257ff840a3@gmail.com","name":"Peter Mattis"},"message":"sql: de-protoize sql.Session","distinct":false,"url":"https://api.github.com/repos/knz/cockroach/commits/abb593d5dc620d929e0918974ec674a123316994"}]}