{"push_id":668084674,"size":6,"distinct_size":0,"ref":"refs/heads/dev","head":"4a855c07994dc609b865aeef60fc32fca3cfeb81","before":"3f0867c0fe0cc7d165be81e251e0a31976e44db0","commits":[{"sha":"6fa70851215398803f0632f245a97d7a5f5ec56c","author":{"email":"485e2df9581649b6c8f873e000ad8bee4290c1b7@fb.com","name":"sdong"},"message":"CompactRange skips levels 1 to base_level -1 for dynamic level base size\n\nSummary: CompactRange() now is much more expensive for dynamic level base size as it goes through all the levels. Skip those not used levels between level 0 an base level.\n\nTest Plan: Run all unit tests\n\nReviewers: yhchiang, rven, anthony, kradhakrishnan, igor\n\nReviewed By: igor\n\nSubscribers: leveldb, dhruba\n\nDifferential Revision: https://reviews.facebook.net/D37125","distinct":false,"url":"https://api.github.com/repos/norton/rocksdb/commits/6fa70851215398803f0632f245a97d7a5f5ec56c"},{"sha":"fb5bdbf9875bb2c9b583b82eb6d881ac2c39ddc7","author":{"email":"485e2df9581649b6c8f873e000ad8bee4290c1b7@fb.com","name":"sdong"},"message":"DBTest.DynamicLevelMaxBytesCompactRange: make sure L0 is not empty before running compact range\n\nSummary: DBTest.DynamicLevelMaxBytesCompactRange needs to make sure L0 is not empty to properly cover the code paths we want to cover. However, current codes have a bug that might leave the condition not held. Improve the test to ensure it.\n\nTest Plan: Run the test in an environment that is used to fail. Also run it many times.\n\nSubscribers: leveldb, dhruba\n\nDifferential Revision: https://reviews.facebook.net/D38631","distinct":false,"url":"https://api.github.com/repos/norton/rocksdb/commits/fb5bdbf9875bb2c9b583b82eb6d881ac2c39ddc7"},{"sha":"0c8017dbae7fa668ceb5aa135f857b34ea6ca8f5","author":{"email":"e2d5d952016900c477a889ac4d8800bc5b695b9c@gmail.com","name":"stash93"},"message":"Remove duplicated code\n\nSummary: Call Flush() function instead\n\nTest Plan: make all check\n\nReviewers: igor\n\nReviewed By: igor\n\nSubscribers: dhruba\n\nDifferential Revision: https://reviews.facebook.net/D38583","distinct":false,"url":"https://api.github.com/repos/norton/rocksdb/commits/0c8017dbae7fa668ceb5aa135f857b34ea6ca8f5"},{"sha":"74f3832d85e932ed485a4f8d8c01b0adc6b3e502","author":{"email":"e363a170056789af5295e3062579e8b8a22461d8@fb.com","name":"Yueh-Hsuan Chiang"},"message":"Fixed compile errors due to some gcc does not have std::map::emplace\n\nSummary:\nFixed the following compile errors due to some gcc does not have std::map::emplace\n\nutil/thread_status_impl.cc: In static member function ‘static std::map<std::basic_string<char>, long unsigned int> rocksdb::ThreadStatus::InterpretOperationProperties(rocksdb::ThreadStatus::OperationType, const uint64_t*)’:\nutil/thread_status_impl.cc:88:20: error: ‘class std::map<std::basic_string<char>, long unsigned int>’ has no member named ‘emplace’\nutil/thread_status_impl.cc:90:20: error: ‘class std::map<std::basic_string<char>, long unsigned int>’ has no member named ‘emplace’\nutil/thread_status_impl.cc:94:20: error: ‘class std::map<std::basic_string<char>, long unsigned int>’ has no member named ‘emplace’\nutil/thread_status_impl.cc:96:20: error: ‘class std::map<std::basic_string<char>, long unsigned int>’ has no member named ‘emplace’\nutil/thread_status_impl.cc:98:20: error: ‘class std::map<std::basic_string<char>, long unsigned int>’ has no member named ‘emplace’\nutil/thread_status_impl.cc:101:20: error: ‘class std::map<std::basic_string<char>, long unsigned int>’ has no member named ‘emplace’\nmake: *** [util/thread_status_impl.o] Error 1\n\nTest Plan: make db_bench\n\nReviewers: igor\n\nSubscribers: dhruba, leveldb\n\nDifferential Revision: https://reviews.facebook.net/D38643","distinct":false,"url":"https://api.github.com/repos/norton/rocksdb/commits/74f3832d85e932ed485a4f8d8c01b0adc6b3e502"},{"sha":"b0fdda4ff07f2cc52b1f1ed77cfac47e02a86b96","author":{"email":"b74673f3c990e809b0211cc26cf8ff8cc1ef0907@fb.com","name":"Igor Canadi"},"message":"Allow flushes to run in parallel with manual compaction\n\nSummary: As title. I spent some time thinking about it and I don't think there should be any issue with running manual compaction and flushes in parallel\n\nTest Plan: make check works\n\nReviewers: rven, yhchiang, sdong\n\nReviewed By: yhchiang, sdong\n\nSubscribers: dhruba, leveldb\n\nDifferential Revision: https://reviews.facebook.net/D38355","distinct":false,"url":"https://api.github.com/repos/norton/rocksdb/commits/b0fdda4ff07f2cc52b1f1ed77cfac47e02a86b96"},{"sha":"4a855c07994dc609b865aeef60fc32fca3cfeb81","author":{"email":"b74673f3c990e809b0211cc26cf8ff8cc1ef0907@fb.com","name":"Igor Canadi"},"message":"Add an option wal_bytes_per_sync to control sync_file_range for WAL files\n\nSummary:\nsync_file_range is not always asyncronous and thus can block writes if we do this for WAL in the foreground thread. See more here: http://yoshinorimatsunobu.blogspot.com/2014/03/how-syncfilerange-really-works.html\n\nSome users don't want us to call sync_file_range on WALs. Some other do.\nThus, I'm adding a separate option wal_bytes_per_sync to control calling\nsync_file_range on WAL files. bytes_per_sync will apply only to table\nfiles now.\n\nTest Plan: no more sync_file_range for WAL as evidenced by strace\n\nReviewers: yhchiang, rven, sdong\n\nReviewed By: sdong\n\nSubscribers: dhruba, leveldb\n\nDifferential Revision: https://reviews.facebook.net/D38253","distinct":false,"url":"https://api.github.com/repos/norton/rocksdb/commits/4a855c07994dc609b865aeef60fc32fca3cfeb81"}]}