{"push_id":2914385697,"size":14,"distinct_size":14,"ref":"refs/heads/lazy_compaction_dev","head":"857015a5206436eb25d784293bd530031076d5f1","before":"db6384b30e27566ca8084a27aa2b6e498ca868a5","commits":[{"sha":"9b3cf908a6c9ee8b3c4e39ed7d127f18d9ffd184","author":{"name":"Zhongyi Xie","email":"3abcc4d56e54c30e8e7aa72e11e8c6aa39738f74@fb.com"},"message":"add missing range in random.choice argument (#4397)\n\nSummary:\nThis will fix the broken asan crash test:\n> Traceback (most recent call last):\n  File \"tools/db_crashtest.py\", line 384, in <module>\n    main()\n  File \"tools/db_crashtest.py\", line 368, in main\n    parser.add_argument(\"--\" + k, type=type(v() if callable(v) else v))\n  File \"tools/db_crashtest.py\", line 59, in <lambda>\n    \"index_block_restart_interval\": lambda: random.choice(1, 16),\nTypeError: choice() takes exactly 2 arguments (3 given)\nPull Request resolved: https://github.com/facebook/rocksdb/pull/4397\n\nDifferential Revision: D9933041\n\nPulled By: miasantreble\n\nfbshipit-source-id: 10998e5bc6b6a5cea3e4088b18465affc246e639","distinct":true,"url":"https://api.github.com/repos/Terark/rocksdb/commits/9b3cf908a6c9ee8b3c4e39ed7d127f18d9ffd184"},{"sha":"519f8b145f6d23cce58e5e41e0cc7094d5a61cb7","author":{"name":"Abhishek Madan","email":"04d4c10587cc0667faca947d04760f909bfc332d@fb.com"},"message":"Generate appropriate number of keys in db_bench (#4404)\n\nSummary:\nIf range tombstones are generated every few writes, the\nKeyGenerator's limit is now extended to account for the additional\nNext() calls. This is primarily important for `filluniquerandom`\nbenchmarks that enforce the call limit.\nPull Request resolved: https://github.com/facebook/rocksdb/pull/4404\n\nDifferential Revision: D9949326\n\nPulled By: abhimadan\n\nfbshipit-source-id: 0bdfeb2cad2098dc0b8b029236dab5e4bef25e38","distinct":true,"url":"https://api.github.com/repos/Terark/rocksdb/commits/519f8b145f6d23cce58e5e41e0cc7094d5a61cb7"},{"sha":"02dc07491650b0c8d8470a24806ba86d09ea31a4","author":{"name":"Chen, You","email":"4270bc7f123ea59d0c8043c930f9caa2f363d00e@gmail.com"},"message":"add GetAggregatedLongProperty for Java API (#4379)\n\nSummary:\nAdd Java API `getAggregatedLongProperty(final String property)`\nPull Request resolved: https://github.com/facebook/rocksdb/pull/4379\n\nDifferential Revision: D9921463\n\nPulled By: sagar0\n\nfbshipit-source-id: a02512e1b2aff4765a10b77de9a7bf7b1909d954","distinct":true,"url":"https://api.github.com/repos/Terark/rocksdb/commits/02dc07491650b0c8d8470a24806ba86d09ea31a4"},{"sha":"72712f4e2840ae6a4c819d76daacb58432ba2041","author":{"name":"Anand Ananthabhotla","email":"146164b5d5754c7fbb081cfc748860edc03ee6fa@devvm1373.frc2.facebook.com"},"message":"Allow dynamic modification of window size and deletion trigger (#4403)\n\nSummary:\nMake the CompactOnDeletionCollectorFactory class public, and provide\nmethods to update the window size and deletion trigger params. These\nwill take effect on subsequent created SST files.\nPull Request resolved: https://github.com/facebook/rocksdb/pull/4403\n\nDifferential Revision: D9976857\n\nPulled By: anand1976\n\nfbshipit-source-id: 31dbf0511c12fa2bb9b2a7ba620079e0ee09cf48","distinct":true,"url":"https://api.github.com/repos/Terark/rocksdb/commits/72712f4e2840ae6a4c819d76daacb58432ba2041"},{"sha":"04d373b26034464a8ad08e7123c3911609e20adc","author":{"name":"Yi Wu","email":"bc6ae85de42d744f2dc8adc7731d42b35611b18f@fb.com"},"message":"BlobDB: handle IO error on read (#4410)\n\nSummary:\nFix IO error on read not being handle and crashing the DB. With the fix we properly return the error.\nPull Request resolved: https://github.com/facebook/rocksdb/pull/4410\n\nDifferential Revision: D9979246\n\nPulled By: yiwu-arbug\n\nfbshipit-source-id: 111a85675067a29c03cb60e9a34103f4ff636694","distinct":true,"url":"https://api.github.com/repos/Terark/rocksdb/commits/04d373b26034464a8ad08e7123c3911609e20adc"},{"sha":"3c350a7cf0f4c19d0b420b730df46e19699014b3","author":{"name":"Abhishek Madan","email":"04d4c10587cc0667faca947d04760f909bfc332d@fb.com"},"message":"Improve RangeDelAggregator benchmarks (#4395)\n\nSummary:\nImprove time measurements for AddTombstones to only include the\ncall and not the VectorIterator setup. Also add a new\nadd_tombstones_per_run flag to call AddTombstones multiple times per\naggregator, which will help simulate more realistic workloads.\nPull Request resolved: https://github.com/facebook/rocksdb/pull/4395\n\nDifferential Revision: D9996811\n\nPulled By: abhimadan\n\nfbshipit-source-id: 5865a95c323fbd9b3606493013664b4890fe5a02","distinct":true,"url":"https://api.github.com/repos/Terark/rocksdb/commits/3c350a7cf0f4c19d0b420b730df46e19699014b3"},{"sha":"31d46993cc47a74261624aa2397983c1f7d8add2","author":{"name":"Yi Wu","email":"bc6ae85de42d744f2dc8adc7731d42b35611b18f@fb.com"},"message":"Update TARGETS file template (#4426)\n\nSummary:\nUpdate template of TARGETS file according to recent changes in #4371 , #4363 and https://github.com/facebook/rocksdb/commit/dbf44c314b4adf3276afc1ca797b88944ca3162c.\nPull Request resolved: https://github.com/facebook/rocksdb/pull/4426\n\nDifferential Revision: D10025053\n\nPulled By: yiwu-arbug\n\nfbshipit-source-id: e6a0a702bfd401fc1af240ee446f5690f0bcd85d","distinct":true,"url":"https://api.github.com/repos/Terark/rocksdb/commits/31d46993cc47a74261624aa2397983c1f7d8add2"},{"sha":"17edc82a4ba3d4455b9fe86632f11e47df4a16e1","author":{"name":"Nikhil Benesch","email":"0e70f566aa977bafe6ad237291a2aeff1c9dbb46@gmail.com"},"message":"Handle tombstones at the same seqno in the CollapsedRangeDelMap (#4424)\n\nSummary:\nThe CollapsedRangeDelMap was entirely mishandling tombstones at the same\nsequence number when the tombstones did not have identical start and end\nkeys. Such tombstones are common since 90fc40690, which causes\ntombstones to be split during compactions.\n\nFor example, if the tombstone [a, c) @ 1 lies across a compaction\nboundary at b, it will be split into [a, b) @ 1 and [b, c) @ 1. Without\nthis patch, the collapsed range deletion map would look like this:\n\n  a -> 1\n  b -> 1\n  c -> 0\n\nNotice how the b -> 1 entry is redundant. When the tombstones overlap,\nthe problem is even worse. Consider tombstones [a, c) @ 1 and [b, d) @\n1, which produces this map without this patch:\n\n  a -> 1\n  b -> 1\n  c -> 0\n  d -> 0\n\nThis map is corrupt, as a map can never contain adjacent sentinel (zero)\nentries. When the iterator advances from b to c, it will notice that c\nis a sentinel enty and skip to d--but d is also a sentinel entry! Asking\nwhat tombstone this iterator points to will trigger an assertion, as it\nis not pointing to a valid tombstone.\n\n/cc ajkr\nPull Request resolved: https://github.com/facebook/rocksdb/pull/4424\n\nDifferential Revision: D10039248\n\nPulled By: abhimadan\n\nfbshipit-source-id: 6d737c1e88d60e80cf27286726627ba44463e7f4","distinct":true,"url":"https://api.github.com/repos/Terark/rocksdb/commits/17edc82a4ba3d4455b9fe86632f11e47df4a16e1"},{"sha":"dc813e4b853bf4fada86831e442558b5f3061cc4","author":{"name":"Yi Wu","email":"bc6ae85de42d744f2dc8adc7731d42b35611b18f@fb.com"},"message":"Improve log handling when recover without flush (#4405)\n\nSummary:\nImprove log handling when avoid_flush_during_recovery=true.\n1. restore total_log_size_ after recovery, by summing up existing log sizes. Fixes #4253.\n2. truncate the last existing log, since this log can contain preallocated space and it will be a waste to keep the space. It avoids a crash loop of user application cause a lot of log with non-trivial size being created and ultimately take up all disk space.\nPull Request resolved: https://github.com/facebook/rocksdb/pull/4405\n\nDifferential Revision: D9953933\n\nPulled By: yiwu-arbug\n\nfbshipit-source-id: 967780fee8acec7f358b6eb65190fb4684f82e56","distinct":true,"url":"https://api.github.com/repos/Terark/rocksdb/commits/dc813e4b853bf4fada86831e442558b5f3061cc4"},{"sha":"d56070d875137a38f40a955de4dbef95be9ae5a5","author":{"name":"Andrew Kryczka","email":"0323c12ab25c67b2577c7e6072f00792cdc36098@fb.com"},"message":"Fix benchmark script with vector memtable (#4428)\n\nSummary:\nI guess we didn't update this script when `--allow_concurrent_memtable_write` became true by default.\n\nFixes #4413.\nPull Request resolved: https://github.com/facebook/rocksdb/pull/4428\n\nDifferential Revision: D10036452\n\nPulled By: ajkr\n\nfbshipit-source-id: f464be0642bd096d9040f82cdc3eae614a902183","distinct":true,"url":"https://api.github.com/repos/Terark/rocksdb/commits/d56070d875137a38f40a955de4dbef95be9ae5a5"},{"sha":"b1dad4cfcc6fb5459e5ce34e64485234aec6e43e","author":{"name":"Sagar Vemuri","email":"3ced6d38c5f829e958d8e628fbea488f7e956d44@fb.com"},"message":"assert in PosixEnv::FileExists should be based on errno (#4427)\n\nSummary:\nThe assert in PosixEnv::FileExists is currently based on the return value of `access` syscall. Instead it should be based on errno.\n\nInitially I wanted to remove this assert as [`access`](https://linux.die.net/man/2/access) can error out in a few other cases (like EROFS). But on thinking more it feels like the assert is doing the right thing ...  its good to crash on EROFS, EFAULT, EINVAL, and other major filesystem related problems so that the user is immediately aware of the problems while testing.\n(I think it might be ok to crash on EIO as well, but there might be a specific reason why it was decided not to crash for EIO, and I don't have that context. So letting the letting the assert checks remain as is for now).\nPull Request resolved: https://github.com/facebook/rocksdb/pull/4427\n\nDifferential Revision: D10037200\n\nPulled By: sagar0\n\nfbshipit-source-id: 5cc96116a2e53cef701f444a8b5290576f311e51","distinct":true,"url":"https://api.github.com/repos/Terark/rocksdb/commits/b1dad4cfcc6fb5459e5ce34e64485234aec6e43e"},{"sha":"75ca13875c0847ef89805274677fbfb7375a7a95","author":{"name":"JiYou","email":"7f81e71f90b2acbd59c5500366b83ff6a08ecc50@gmail.com"},"message":"FindFile: use std::lower_bound reduce the repeated code. (#4372)\n\nSummary:\n`FindFile()` and  `FindFileInRange()` actually works as the same\nof `std::lower_bound()`. Use `std::lower_bound()` to reduce the\nrepeated code.\n\n- change `FindFile()` and `FindFileInRange()` to use `std::lower_bound()`\n\nSigned-off-by: JiYou <jiyou09@gmail.com>\nPull Request resolved: https://github.com/facebook/rocksdb/pull/4372\n\nDifferential Revision: D9919677\n\nPulled By: ajkr\n\nfbshipit-source-id: f74aaa30e2f80e410e299c5a5bca4eaf2a7a26de","distinct":true,"url":"https://api.github.com/repos/Terark/rocksdb/commits/75ca13875c0847ef89805274677fbfb7375a7a95"},{"sha":"d6f2ecf49c28fee225477d39e2a1535a87919afe","author":{"name":"Yi Wu","email":"bc6ae85de42d744f2dc8adc7731d42b35611b18f@fb.com"},"message":"Utility to run task periodically in a thread (#4423)\n\nSummary:\nIntroduce `RepeatableThread` utility to run task periodically in a separate thread. It is basically the same as the the same class in fbcode, and in addition provide a helper method to let tests mock time and trigger execution one at a time.\n\nWe can use this class to replace `TimerQueue` in #4382 and `BlobDB`.\nPull Request resolved: https://github.com/facebook/rocksdb/pull/4423\n\nDifferential Revision: D10020932\n\nPulled By: yiwu-arbug\n\nfbshipit-source-id: 3616bef108c39a33c92eedb1256de424b7c04087","distinct":true,"url":"https://api.github.com/repos/Terark/rocksdb/commits/d6f2ecf49c28fee225477d39e2a1535a87919afe"},{"sha":"857015a5206436eb25d784293bd530031076d5f1","author":{"name":"奏之章","email":"829b4eccdfcd5a0409e3c421b2337f8529e2baf6@gmail.com"},"message":"merge facebook/master","distinct":true,"url":"https://api.github.com/repos/Terark/rocksdb/commits/857015a5206436eb25d784293bd530031076d5f1"}]}
{"actor":{"display_login":"mm304321141"}}