{"push_id":750177291,"size":231,"distinct_size":231,"ref":"refs/heads/master","head":"8fab1d509de6ff50f57a7734f6b588de8c121640","before":"1bc59d6a521b4da33dbd1a7dc9ce05bf05d23f3e","commits":[{"sha":"d62b6ed8385e769fb92f3e27abc34fa3e3a5a929","author":{"email":"97109fd737c43fa98e9082fb6ca2f4e4532ebe17@vpon.com","name":"Jesper Lundgren"},"message":"add setMaxTableFilesSize to JNI interface","distinct":true,"url":"https://api.github.com/repos/archiecobbs/rocksdb/commits/d62b6ed8385e769fb92f3e27abc34fa3e3a5a929"},{"sha":"dda74111ae116ec5df2377a13bbf8717c4413063","author":{"email":"97109fd737c43fa98e9082fb6ca2f4e4532ebe17@vpon.com","name":"Jesper Lundgren"},"message":"add setMaxTableFilesSize Options unit test","distinct":true,"url":"https://api.github.com/repos/archiecobbs/rocksdb/commits/dda74111ae116ec5df2377a13bbf8717c4413063"},{"sha":"7015fd81c431da527d8038f264eb3a7168cfe592","author":{"email":"d046245a5851310b17dbc43de443633846271935@fb.com","name":"krad"},"message":"Add read_nanos to IOStatsContext.\n\nSummary: MyRocks need a mechanism to track read outliers. We need to expose this\nstat.\n\nTest Plan: None\n\nReviewers: sdong\n\nCC: leveldb\n\nTask ID: #7152512\n\nBlame Rev:","distinct":true,"url":"https://api.github.com/repos/archiecobbs/rocksdb/commits/7015fd81c431da527d8038f264eb3a7168cfe592"},{"sha":"530534fcebebfb39847e7ccfa37ab82ccfa7fbad","author":{"email":"73f7a2f5b9bd744ab54cd1d307975868fc93a844@fb.com","name":"Islam AbdelRahman"},"message":"Fix trivial move merge\n\nSummary: Fixing bad merge\n\nTest Plan: make -j64 check (this is not enough to verify the fix)\n\nReviewers: igor, sdong\n\nReviewed By: sdong\n\nSubscribers: dhruba\n\nDifferential Revision: https://reviews.facebook.net/D40521","distinct":true,"url":"https://api.github.com/repos/archiecobbs/rocksdb/commits/530534fcebebfb39847e7ccfa37ab82ccfa7fbad"},{"sha":"de85e4cadfd3bd9ea5d3e148868f70cfab5c91d4","author":{"email":"d046245a5851310b17dbc43de443633846271935@fb.com","name":"krad"},"message":"Introduce WAL recovery consistency levels\n\nSummary:\nThe \"one size fits all\" approach with WAL recovery will only introduce inconvenience for our varied clients as we go forward. The current recovery is a bit heuristic. We introduce the following levels of consistency while replaying the WAL.\n\n1. RecoverAfterRestart (kTolerateCorruptedTailRecords)\n\nThis mocks the current recovery mode.\n\n2. RecoverAfterCleanShutdown (kAbsoluteConsistency)\n\nThis is ideal for unit test and cases where the store is shutdown cleanly. We tolerate no corruption or incomplete writes.\n\n3. RecoverPointInTime (kPointInTimeRecovery)\n\nThis is ideal when using devices with controller cache or file systems which can loose data on restart. We recover upto the point were is no corruption or incomplete write.\n\n4. RecoverAfterDisaster (kSkipAnyCorruptRecord)\n\nThis is ideal mode to recover data. We tolerate corruption and incomplete writes, and we hop over those sections that we cannot make sense of salvaging as many records as possible.\n\nTest Plan:\n(1) Run added unit test to cover all levels.\n(2) Run make check.\n\nReviewers: leveldb, sdong, igor\n\nSubscribers: yoshinorim, dhruba\n\nDifferential Revision: https://reviews.facebook.net/D38487","distinct":true,"url":"https://api.github.com/repos/archiecobbs/rocksdb/commits/de85e4cadfd3bd9ea5d3e148868f70cfab5c91d4"},{"sha":"782a1590f9d2eb97dd9c1f496e05e5bedb41f3c1","author":{"email":"326ed324dd4422d207643d5a7419ea85379f1b4e@fb.com","name":"Giuseppe Ottaviano"},"message":"Implement a table-level row cache\n\nSummary:\nImplementation of a table-level row cache.\nIt only caches point queries done through the `DB::Get` interface, queries done through the `Iterator` interface will completely skip the cache.\n\nSupports snapshots and merge operations.\n\nTest Plan: Ran `make valgrind_check commit-prereq`\n\nReviewers: igor, philipp, sdong\n\nReviewed By: sdong\n\nSubscribers: dhruba\n\nDifferential Revision: https://reviews.facebook.net/D39849","distinct":true,"url":"https://api.github.com/repos/archiecobbs/rocksdb/commits/782a1590f9d2eb97dd9c1f496e05e5bedb41f3c1"},{"sha":"674b1181cfaad21279a836b04fd85c8b8c280e36","author":{"email":"73f7a2f5b9bd744ab54cd1d307975868fc93a844@fb.com","name":"Islam AbdelRahman"},"message":"Bottommost level compaction option\n\nSummary: Replace force_bottommost_level_compaction in CompactRangeOption with an option that allow the user to (always skip, always compact, compact if compaction filter is present) the bottommost level for level based compaction.\n\nTest Plan: make check\n\nReviewers: sdong, yhchiang, igor\n\nReviewed By: igor\n\nSubscribers: dhruba\n\nDifferential Revision: https://reviews.facebook.net/D40527","distinct":true,"url":"https://api.github.com/repos/archiecobbs/rocksdb/commits/674b1181cfaad21279a836b04fd85c8b8c280e36"},{"sha":"0b1ffe2e1d2db08a0f366a417039eaabf4fed497","author":{"email":"e363a170056789af5295e3062579e8b8a22461d8@fb.com","name":"Yueh-Hsuan Chiang"},"message":"Remove -Wl,--no-as-needed flag when making shared_lib in OSX and IOS\n\nSummary:\nRemove -Wl,--no-as-needed flag when making shared_lib in OSX and IOS as\nthose environment doe not have compile option --no-as-needed\n\n  ld: unknown option: --no-as-needed\n  clang: error: linker command failed with exit code 1 (use -v to see invocation)\n\nTest Plan: make shared_lib\n\nReviewers: meyering, igor\n\nReviewed By: igor\n\nSubscribers: dhruba, leveldb\n\nDifferential Revision: https://reviews.facebook.net/D40353","distinct":true,"url":"https://api.github.com/repos/archiecobbs/rocksdb/commits/0b1ffe2e1d2db08a0f366a417039eaabf4fed497"},{"sha":"dec2c9f564d7015f1a0855a1011ac030816dfadf","author":{"email":"e363a170056789af5295e3062579e8b8a22461d8@fb.com","name":"Yueh-Hsuan Chiang"},"message":"Make table_properties_collector_test runnable in ROCKSDB_LITE\n\nSummary: Make table_properties_collector_test runnable in ROCKSDB_LITE\n\nTest Plan: table_properties_collector_test\n\nReviewers: sdong, rven, anthony, kradhakrishnan, IslamAbdelRahman, igor\n\nReviewed By: igor\n\nSubscribers: dhruba, leveldb\n\nDifferential Revision: https://reviews.facebook.net/D40581","distinct":true,"url":"https://api.github.com/repos/archiecobbs/rocksdb/commits/dec2c9f564d7015f1a0855a1011ac030816dfadf"},{"sha":"72cab8895958b6522eb93107cc6dc570902f5c7a","author":{"email":"e363a170056789af5295e3062579e8b8a22461d8@fb.com","name":"Yueh-Hsuan Chiang"},"message":"Block redis_test in ROCKSDB_LITE\n\nSummary: Block redis_test in ROCKSDB_LITE as utilities not supported in ROCKSDB_LITE.\n\nTest Plan: redis_test\n\nReviewers: sdong, igor, rven, anthony, kradhakrishnan, IslamAbdelRahman\n\nReviewed By: IslamAbdelRahman\n\nSubscribers: dhruba, leveldb\n\nDifferential Revision: https://reviews.facebook.net/D40587","distinct":true,"url":"https://api.github.com/repos/archiecobbs/rocksdb/commits/72cab8895958b6522eb93107cc6dc570902f5c7a"},{"sha":"48da7a9cad76f1a736e54a495525c7721f4a9967","author":{"email":"e363a170056789af5295e3062579e8b8a22461d8@fb.com","name":"Yueh-Hsuan Chiang"},"message":"Improve the comment for BYTES_READ in statistics.\n\nSummary:\nBYTES_READ only count the number of logical bytes read from\nthe DB::Get() function.  It neither includes all logical bytes read\nnor indicates IO read bytes.\n\nThis patch improves the comment for BYTES_READ.\n\nTest Plan: Only change comment.\n\nReviewers: sdong, rven, anthony, kradhakrishnan, IslamAbdelRahman, igor\n\nReviewed By: igor\n\nSubscribers: dhruba, leveldb\n\nDifferential Revision: https://reviews.facebook.net/D40599","distinct":true,"url":"https://api.github.com/repos/archiecobbs/rocksdb/commits/48da7a9cad76f1a736e54a495525c7721f4a9967"},{"sha":"62a8fd154a4d16307be1daa3aa3bf9625fa2667f","author":{"email":"e363a170056789af5295e3062579e8b8a22461d8@fb.com","name":"Yueh-Hsuan Chiang"},"message":"Make stringappend_test runnable in ROCKSDB_LITE\n\nSummary: Make stringappend_test runnable in ROCKSDB_LITE\n\nTest Plan: stringappend_test\n\nReviewers: sdong, rven, anthony, kradhakrishnan, IslamAbdelRahman, igor\n\nReviewed By: igor\n\nSubscribers: dhruba, leveldb\n\nDifferential Revision: https://reviews.facebook.net/D40593","distinct":true,"url":"https://api.github.com/repos/archiecobbs/rocksdb/commits/62a8fd154a4d16307be1daa3aa3bf9625fa2667f"},{"sha":"dadc429767f1c3729f5ed58f81e3aa44d318c7cc","author":{"email":"b74673f3c990e809b0211cc26cf8ff8cc1ef0907@fb.com","name":"Igor Canadi"},"message":"Reproducible MongoRocks compile with FB toolchain\n\nSummary:\nAdded a script that will compile MongoRocks with the same flags as RocksDB binary. On FB infra, we can now do:\n\n  cd ~/rocksdb; make static_lib\n  cd ~/mongo; ~/rocksdb/build_tools/fb_compile_mongo.sh\n\nNo need to upgrade the g++ on the devbox (like Aaron and I did) or maintain a separate script to compile (like Mark did)\n\nfb_compile_mongo.sh gets the settings from fbcode_config.sh, so it also makes it easier to upgrade the environment one day.\n\nTest Plan: Compiled mongod with new script. Also, ldd output looks good: https://phabricator.fb.com/P19891602\n\nReviewers: AaronFeldman, MarkCallaghan, anthony\n\nReviewed By: anthony\n\nSubscribers: anthony, dhruba, leveldb\n\nDifferential Revision: https://reviews.facebook.net/D40659","distinct":true,"url":"https://api.github.com/repos/archiecobbs/rocksdb/commits/dadc429767f1c3729f5ed58f81e3aa44d318c7cc"},{"sha":"4fb09c68714195bcdc86ed6da6af9234e112830b","author":{"email":"ed1215c0fddcf745750ccaf03b798589cd8f3fbe@dev854.prn2.facebook.com","name":"Poornima Chozhiyath Raman"},"message":"Updating SeekToLast with upper bound\n\nSummary: #7124486: RocksDB's Iterator.SeekToLast should seek to the last key before iterate_upper_bound if presents\n\nTest Plan: ./db_iter_test run successfully with the new testcase\n\nReviewers: rven, yhchiang, igor, anthony, kradhakrishnan, sdong\n\nReviewed By: sdong\n\nSubscribers: leveldb, dhruba\n\nDifferential Revision: https://reviews.facebook.net/D40425","distinct":true,"url":"https://api.github.com/repos/archiecobbs/rocksdb/commits/4fb09c68714195bcdc86ed6da6af9234e112830b"},{"sha":"c9cd404bcd0d8ae50227b8c4f6ec68d47341575a","author":{"email":"01b4858c232b891e1ad3edd1cd6314647466376f@fb.com","name":"Venkatesh Radhakrishnan"},"message":"Make flush check for shutdown\n\nSummary:\nFixes task 7156865 where a compaction causes a hang in flush\nmemtable if CancelAllBackgroundWork was called prior to it.\nStack trace is in : https://phabricator.fb.com/P19848829\nWe end up waiting for a flush which will never happen because there are no background threads.\n\nTest Plan: PreShutdownFlush\n\nReviewers: sdong, igor\n\nReviewed By: sdong, igor\n\nSubscribers: dhruba, leveldb\n\nDifferential Revision: https://reviews.facebook.net/D40617","distinct":true,"url":"https://api.github.com/repos/archiecobbs/rocksdb/commits/c9cd404bcd0d8ae50227b8c4f6ec68d47341575a"},{"sha":"472e64d39e198b93aceebb5daa8f7871ed103c8e","author":{"email":"b74673f3c990e809b0211cc26cf8ff8cc1ef0907@fb.com","name":"Igor Canadi"},"message":"Improve fb_compile_mongo.sh\n\nSummary: If we create a new temp directory for each build, scons will recompile everything because we have different parameters. Instead, let's set up a constant path to our static lib. That way we won't have to recompile.\n\nTest Plan: Run fb_compile_mongo.sh twice -- second time it didn't recompile everything\n\nReviewers: MarkCallaghan, anthony\n\nReviewed By: anthony\n\nSubscribers: dhruba, leveldb\n\nDifferential Revision: https://reviews.facebook.net/D40707","distinct":true,"url":"https://api.github.com/repos/archiecobbs/rocksdb/commits/472e64d39e198b93aceebb5daa8f7871ed103c8e"},{"sha":"619167ee66e57316f126312066c19d3da5277eda","author":{"email":"b74673f3c990e809b0211cc26cf8ff8cc1ef0907@fb.com","name":"Igor Canadi"},"message":"Fix mac compile\n\nSummary: as title\n\nTest Plan: make check\n\nReviewers: sdong\n\nSubscribers: dhruba, leveldb\n\nDifferential Revision: https://reviews.facebook.net/D40785","distinct":true,"url":"https://api.github.com/repos/archiecobbs/rocksdb/commits/619167ee66e57316f126312066c19d3da5277eda"},{"sha":"4cbc4e6f8877794a15db7658d9265eb6d935a755","author":{"email":"b74673f3c990e809b0211cc26cf8ff8cc1ef0907@fb.com","name":"Igor Canadi"},"message":"Call merge operators with empty values\n\nSummary: It's not really nice to call user's API with garbage data in new_value. This diff makes sure that new_value is empty before calling the merge operator.\n\nTest Plan: Added assert to Merge operator in merge_test\n\nReviewers: sdong, yhchiang\n\nReviewed By: yhchiang\n\nSubscribers: dhruba, leveldb\n\nDifferential Revision: https://reviews.facebook.net/D40773","distinct":true,"url":"https://api.github.com/repos/archiecobbs/rocksdb/commits/4cbc4e6f8877794a15db7658d9265eb6d935a755"},{"sha":"0a019d74a0f1b9286f728a20075c04dd9617e8fd","author":{"email":"b74673f3c990e809b0211cc26cf8ff8cc1ef0907@fb.com","name":"Igor Canadi"},"message":"Use malloc_usable_size() for accounting block cache size\n\nSummary:\nCurrently, when we insert something into block cache, we say that the block cache capacity decreased by the size of the block. However, size of the block might be less than the actual memory used by this object. For example, 4.5KB block will actually use 8KB of memory. So even if we configure block cache to 10GB, our actually memory usage of block cache will be 20GB!\n\nThis problem showed up a lot in testing and just recently also showed up in MongoRocks production where we were using 30GB more memory than expected.\n\nThis diff will fix the problem. Instead of counting the block size, we will count memory used by the block. That way, a block cache configured to be 10GB will actually use only 10GB of memory.\n\nI'm using non-portable function and I couldn't find info on portability on Google. However, it seems to work on Linux, which will cover majority of our use-cases.\n\nTest Plan:\n1. fill up mongo instance with 80GB of data\n2. restart mongo with block cache size configured to 10GB\n3. do a table scan in mongo\n4. memory usage before the diff: 12GB. memory usage after the diff: 10.5GB\n\nReviewers: sdong, MarkCallaghan, rven, yhchiang\n\nReviewed By: yhchiang\n\nSubscribers: dhruba, leveldb\n\nDifferential Revision: https://reviews.facebook.net/D40635","distinct":true,"url":"https://api.github.com/repos/archiecobbs/rocksdb/commits/0a019d74a0f1b9286f728a20075c04dd9617e8fd"},{"sha":"6199cba9987e4c57481b053e9764bbaaafe3de65","author":{"email":"d046245a5851310b17dbc43de443633846271935@fb.com","name":"krad"},"message":"Fix race in unit test.\n\nSummary: Avoid falling victim to race condition.\n\nTest Plan: Run the unit test\n\nReviewers: sdong igor\n\nCC: leveldb@\n\nTask ID: #7312624\n\nBlame Rev:","distinct":true,"url":"https://api.github.com/repos/archiecobbs/rocksdb/commits/6199cba9987e4c57481b053e9764bbaaafe3de65"}]}