{"push_id":606945805,"size":31,"distinct_size":31,"ref":"refs/heads/master","head":"67d995808ab6fa5987341b6a20fddb1fe75e06c5","before":"ac03c4d5117007f72439d1fa0e8acb9eeb53c322","commits":[{"sha":"a3bd4142f2074ecac4856ece3105092cbe4e9da1","author":{"email":"a5cc31cb4e999d94012a4def28086ffbbec2d06a@gmail.com","name":"fyrz"},"message":"[RocksJava] Logging JNI callback\n\nWithin this commit a new AbstractLogger was introduced\nwhich pushes info log messages all the way up to Java.","distinct":true,"url":"https://api.github.com/repos/adamretter/rocksdb/commits/a3bd4142f2074ecac4856ece3105092cbe4e9da1"},{"sha":"814627af3d7b3af80887b9b3f1dd4d98d6cf40f4","author":{"email":"a5cc31cb4e999d94012a4def28086ffbbec2d06a@gmail.com","name":"fyrz"},"message":"[RocksJava] Change log level at runtime in custom logger\n\nThis commit introduces the possibility to change the log level\nof a used custom logger at runtime.","distinct":true,"url":"https://api.github.com/repos/adamretter/rocksdb/commits/814627af3d7b3af80887b9b3f1dd4d98d6cf40f4"},{"sha":"57f2a00c6fc1e5f8b1d1faa8eaa35bc742388daa","author":{"email":"a5cc31cb4e999d94012a4def28086ffbbec2d06a@gmail.com","name":"fyrz"},"message":"RocksJava - JNI Logger callback\n\nSummary:\nWithin this commit a new AbstractLogger was introduced\nwhich allows to handle log messages at an application level.\n\nLog messages are passed up to Java using a JNI callback.\n\nThis allows a Java-Developer to use common Java APIs for log\nmessages e.g. SLF4J, LOG4J, etc. Within this commit no new\ndependencies were introduced, which keeps the RocksDB API clean\nand doesn`t force a developer to use a predefined high-level Java API.\n\nAnother feature is to dynamically set a custom loggers verbosity at\nruntime using its public method `setInfoLogLevel` and to retrieve\nthe currently active level using the `infoLogLevel` method.\n\nTest Plan:\nmake clean jclean rocksdbjava jtest\nmvn -f rocksjni.pom package\n\nReviewers: adamretter, ankgup87, yhchiang\n\nSubscribers: dhruba\n\nDifferential Revision: https://reviews.facebook.net/D34755","distinct":true,"url":"https://api.github.com/repos/adamretter/rocksdb/commits/57f2a00c6fc1e5f8b1d1faa8eaa35bc742388daa"},{"sha":"eafa1bfc3c2ddee7c999ce930ad503a5d46d66ba","author":{"email":"d7ad1f72016fc54d8b431aad856286e0cbe5a972@googlemail.com","name":"Adam Retter"},"message":"Merge pull request #529 from fyrz/RocksJava-Logger\n\n[RockJava] Custom logger addition","distinct":true,"url":"https://api.github.com/repos/adamretter/rocksdb/commits/eafa1bfc3c2ddee7c999ce930ad503a5d46d66ba"},{"sha":"56337faf3e76120980026669f6689836179f5966","author":{"email":"90a997d38f494defa8ac7d9d91cd3ceb839f3807@gmail.com","name":"Mark Callaghan"},"message":"Fix compaction IO stats to handle large file counts\n\nSummary:\nThe output did not have space for 6-digit file counts or for 3-digit\ncounts of files being compacted. This adds space for that while preserving\nexisting alignment. See https://gist.github.com/mdcallag/0a61c6a18dd467224c11\n\nTask ID: #\n\nBlame Rev:\n\nTest Plan:\nrun db_bench, look at output\n\nRevert Plan:\n\nDatabase Impact:\n\nMemcache Impact:\n\nOther Notes:\n\nEImportant:\n\n- begin *PUBLIC* platform impact section -\nBugzilla: #\n- end platform impact -\n\nReviewers: igor\n\nReviewed By: igor\n\nSubscribers: dhruba\n\nDifferential Revision: https://reviews.facebook.net/D35091","distinct":true,"url":"https://api.github.com/repos/adamretter/rocksdb/commits/56337faf3e76120980026669f6689836179f5966"},{"sha":"bd4963e64d5ad44c4b31096fd07fd29d837343d0","author":{"email":"b686a470e0c11c198659bc102501f776e80830c6@dev2112.prn1.facebook.com","name":"Igor Sugak"},"message":"rocksdb: update reference to the latest version of clang dev in fbcode\n\nSummary: Updated reference to the latest clang dev in fbcode. Since RocksDB already uses recent version of clang dev no code changes need.\n\nTest Plan:\nMake sure can be build with clang.\n```lang=bash\n% USE_CLANG=1 make all\n```\n\nReviewers: meyering, sdong, rven, igor\n\nReviewed By: igor\n\nSubscribers: dhruba, leveldb\n\nDifferential Revision: https://reviews.facebook.net/D35121","distinct":true,"url":"https://api.github.com/repos/adamretter/rocksdb/commits/bd4963e64d5ad44c4b31096fd07fd29d837343d0"},{"sha":"95344346af3b70440ee2e1aceaea5da4f8770336","author":{"email":"b686a470e0c11c198659bc102501f776e80830c6@dev2112.prn1.facebook.com","name":"Igor Sugak"},"message":"rocksdb: Small refactoring before migrating to gtest\n\nSummary: These changes are necessary to make tests look more generic, and avoid feature conflicts with gtest.\n\nTest Plan:\nMake sure no build errors, and all test are passing.\n```\n% make check\n```\n\nReviewers: igor, meyering\n\nReviewed By: meyering\n\nSubscribers: dhruba, leveldb\n\nDifferential Revision: https://reviews.facebook.net/D35145","distinct":true,"url":"https://api.github.com/repos/adamretter/rocksdb/commits/95344346af3b70440ee2e1aceaea5da4f8770336"},{"sha":"a7aba2ef6b4e5bbb9ea525d35f4c9c365735f3ec","author":{"email":"b686a470e0c11c198659bc102501f776e80830c6@dev2112.prn1.facebook.com","name":"Igor Sugak"},"message":"rocksdb: Add gtest\n\nSummary:\nAdds gtest fused source code into `third-party` directory. No manual changes.\n\ngtest latest released 1.7 has clang dev compilation errors. Trunk version requires only one disabled warning (-Wno-missing-field-initializers)\n\nFused code is made as described here https://fburl.com/90806322\nDetails about why we need gtest source code instead of precompiled library https://fburl.com/90805763\nSource used from http://googletest.googlecode.com/svn/trunk\n\nTest Plan:\nBuild and notice no errors. Also check in logs that gtest-all.o being compiled gtest-all.o.\n```lang=bash\n% USE_CLANG=1 make all\n```\n\nReviewers: lgalanis, yufei.zhu, rven, sdong, igor, meyering\n\nReviewed By: meyering\n\nSubscribers: meyering, yhchiang, dhruba, leveldb\n\nDifferential Revision: https://reviews.facebook.net/D33345","distinct":true,"url":"https://api.github.com/repos/adamretter/rocksdb/commits/a7aba2ef6b4e5bbb9ea525d35f4c9c365735f3ec"},{"sha":"b2b3086524fa16a33fdb46ba43f0e46be0dc3b6e","author":{"email":"01b4858c232b891e1ad3edd1cd6314647466376f@fb.com","name":"Venkatesh Radhakrishnan"},"message":"Speed up rocksDB close call.\n\nSummary:\nOn RocksDB, when there are multiple instances doing\nflushes/compactions in the background, the close call takes a long time\nbecause the flushes/compactions need to complete before the database can\nshut down. If another instance is using the background threads and the compaction for this instance is in the queue since it has been scheduled, we still cannot shutdown. We now remove the scheduled background tasks which have not yet started running, so that shutdown is speeded up.\n\nTest Plan: DB Test added.\n\nReviewers: yhchiang, igor, sdong\n\nReviewed By: sdong\n\nSubscribers: dhruba, leveldb\n\nDifferential Revision: https://reviews.facebook.net/D33741","distinct":true,"url":"https://api.github.com/repos/adamretter/rocksdb/commits/b2b3086524fa16a33fdb46ba43f0e46be0dc3b6e"},{"sha":"d4d42c02ea94262cad9442fb8926b0f353c05b25","author":{"email":"01b4858c232b891e1ad3edd1cd6314647466376f@fb.com","name":"Venkatesh Radhakrishnan"},"message":"Fixed clang build in env.h\n\nSummary: Mark function as override.\n\nTest Plan: USE_CLANG=1 make -j32 check\n\nReviewers: sdong, yhchiang, igor\n\nReviewed By: igor\n\nSubscribers: dhruba, leveldb\n\nDifferential Revision: https://reviews.facebook.net/D35163","distinct":true,"url":"https://api.github.com/repos/adamretter/rocksdb/commits/d4d42c02ea94262cad9442fb8926b0f353c05b25"},{"sha":"9fd6edf81c82cf200389b2cd4a9d25cf906b5083","author":{"email":"b686a470e0c11c198659bc102501f776e80830c6@dev2112.prn1.facebook.com","name":"Igor Sugak"},"message":"rocksdb: Replace ASSERT* with EXPECT* in functions that does not return void value\n\nSummary:\ngtest does not use exceptions to fail a unit test by design, and `ASSERT*`s are implemented using `return`. As a consequence we cannot use `ASSERT*` in a function that does not return `void` value ([[ https://code.google.com/p/googletest/wiki/AdvancedGuide#Assertion_Placement | 1]]), and have to fix our existing code. This diff does this in a generic way, with no manual changes.\n\nIn order to detect all existing `ASSERT*` that are used in functions that doesn't return void value, I change the code to generate compile errors for such cases.\n\nIn `util/testharness.h` I defined `EXPECT*` assertions, the same way as `ASSERT*`, and redefined `ASSERT*` to return `void`. Then executed:\n\n```lang=bash\n% USE_CLANG=1 make all -j55 -k 2> build.log\n% perl -naF: -e 'print \"-- -number=\".$F[1].\" \".$F[0].\"\\n\" if  /: error:/' \\\nbuild.log | xargs -L 1 perl -spi -e 's/ASSERT/EXPECT/g if $. == $number'\n% make format\n```\nAfter that I reverted back change to `ASSERT*` in `util/testharness.h`. But preserved introduced `EXPECT*`, which is the same as `ASSERT*`. This will be deleted once switched to gtest.\n\nThis diff is independent and contains manual changes only in `util/testharness.h`.\n\nTest Plan:\nMake sure all tests are passing.\n```lang=bash\n% USE_CLANG=1 make check\n```\n\nReviewers: igor, lgalanis, sdong, yufei.zhu, rven, meyering\n\nReviewed By: meyering\n\nSubscribers: dhruba, leveldb\n\nDifferential Revision: https://reviews.facebook.net/D33333","distinct":true,"url":"https://api.github.com/repos/adamretter/rocksdb/commits/9fd6edf81c82cf200389b2cd4a9d25cf906b5083"},{"sha":"98c37fda5d049cac6111d54e02fc846b839178ea","author":{"email":"01b4858c232b891e1ad3edd1cd6314647466376f@fb.com","name":"Venkatesh Radhakrishnan"},"message":"Remove unused parameter in CancelAllBackgroundWork\n\nSummary: Some suggestions for cleanup from Igor.\n\nTest Plan: Regression tests.\n\nReviewers: igor\n\nReviewed By: igor\n\nSubscribers: dhruba\n\nDifferential Revision: https://reviews.facebook.net/D35169","distinct":true,"url":"https://api.github.com/repos/adamretter/rocksdb/commits/98c37fda5d049cac6111d54e02fc846b839178ea"},{"sha":"c86e5d7b9370d4440334a458f9dadf11993a67d6","author":{"email":"473e39ac77cf392f0dd9bacde8409de76c14d006@bisect.de","name":"Danny Al-Gaaf"},"message":"stack_trace.cc: fix #elif check for OS_MACOSX\n\nFix '#elif with no expression' add defined() to check.\n\nSigned-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>","distinct":true,"url":"https://api.github.com/repos/adamretter/rocksdb/commits/c86e5d7b9370d4440334a458f9dadf11993a67d6"},{"sha":"87c7d49d6761d90129d8f63d20fe0b2a0accdc80","author":{"email":"473e39ac77cf392f0dd9bacde8409de76c14d006@bisect.de","name":"Danny Al-Gaaf"},"message":"util/env_posix.cc: fix #elif check for __MACH__\n\nFix '#elif with no expression' add defined() to check.\n\nSigned-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>","distinct":true,"url":"https://api.github.com/repos/adamretter/rocksdb/commits/87c7d49d6761d90129d8f63d20fe0b2a0accdc80"},{"sha":"969aa806b715cbcf6c000138ee5d421f4bfbc3bc","author":{"email":"473e39ac77cf392f0dd9bacde8409de76c14d006@bisect.de","name":"Danny Al-Gaaf"},"message":"util/xfunc.h: fix #elif check for NDEBUG\n\nFix '#elif with no expression', add defined() to check.\n\nSigned-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>","distinct":true,"url":"https://api.github.com/repos/adamretter/rocksdb/commits/969aa806b715cbcf6c000138ee5d421f4bfbc3bc"},{"sha":"413e35273e1fe40240a2400a3a73a64537e30b75","author":{"email":"c41a91592f3385ee0351a6ff99a5fed70f5190fe@gmail.com","name":"Igor Canadi"},"message":"Merge pull request #540 from dalgaaf/wip-da-fix-elif\n\nFix '#elif with no expression'","distinct":true,"url":"https://api.github.com/repos/adamretter/rocksdb/commits/413e35273e1fe40240a2400a3a73a64537e30b75"},{"sha":"b4b69e4f77f3a42a7219aa18beb3ba45069ff400","author":{"email":"b686a470e0c11c198659bc102501f776e80830c6@dev2112.prn1.facebook.com","name":"Igor Sugak"},"message":"rocksdb: switch to gtest\n\nSummary:\nOur existing test notation is very similar to what is used in gtest. It makes it easy to adopt what is different.\nIn this diff I modify existing [[ https://code.google.com/p/googletest/wiki/Primer#Test_Fixtures:_Using_the_Same_Data_Configuration_for_Multiple_Te | test fixture ]] classes to inherit from `testing::Test`. Also for unit tests that use fixture class, `TEST` is replaced with `TEST_F` as required in gtest.\n\nThere are several custom `main` functions in our existing tests. To make this transition easier, I modify all `main` functions to fallow gtest notation. But eventually we can remove them and use implementation of `main` that gtest provides.\n\n```lang=bash\n% cat ~/transform\n#!/bin/sh\nfiles=$(git ls-files '*test\\.cc')\nfor file in $files\ndo\n  if grep -q \"rocksdb::test::RunAllTests()\" $file\n  then\n    if grep -Eq '^class \\w+Test {' $file\n    then\n      perl -pi -e 's/^(class \\w+Test) {/${1}: public testing::Test {/g' $file\n      perl -pi -e 's/^(TEST)/${1}_F/g' $file\n    fi\n    perl -pi -e 's/(int main.*\\{)/${1}::testing::InitGoogleTest(&argc, argv);/g' $file\n    perl -pi -e 's/rocksdb::test::RunAllTests/RUN_ALL_TESTS/g' $file\n  fi\ndone\n% sh ~/transform\n% make format\n```\n\nSecond iteration of this diff contains only scripted changes.\n\nThird iteration contains manual changes to fix last errors and make it compilable.\n\nTest Plan:\nBuild and notice no errors.\n```lang=bash\n% USE_CLANG=1 make check -j55\n```\nTests are still testing.\n\nReviewers: meyering, sdong, rven, igor\n\nReviewed By: igor\n\nSubscribers: dhruba, leveldb\n\nDifferential Revision: https://reviews.facebook.net/D35157","distinct":true,"url":"https://api.github.com/repos/adamretter/rocksdb/commits/b4b69e4f77f3a42a7219aa18beb3ba45069ff400"},{"sha":"c88ff4ca76a6a24632cbdd834f621952a251d7a1","author":{"email":"b74673f3c990e809b0211cc26cf8ff8cc1ef0907@fb.com","name":"Igor Canadi"},"message":"Deprecate removeScanCountLimit in NewLRUCache\n\nSummary: It is no longer used by the implementation, so we should also remove it from the public API.\n\nTest Plan: make check\n\nReviewers: sdong\n\nReviewed By: sdong\n\nSubscribers: dhruba, leveldb\n\nDifferential Revision: https://reviews.facebook.net/D34971","distinct":true,"url":"https://api.github.com/repos/adamretter/rocksdb/commits/c88ff4ca76a6a24632cbdd834f621952a251d7a1"},{"sha":"46214df4a169539903f7a272f8e15f16ad3fed34","author":{"email":"b74673f3c990e809b0211cc26cf8ff8cc1ef0907@fb.com","name":"Igor Canadi"},"message":"Only run db_test in Travis","distinct":true,"url":"https://api.github.com/repos/adamretter/rocksdb/commits/46214df4a169539903f7a272f8e15f16ad3fed34"},{"sha":"81345b90f9cea999badc6255b4d62e84c6eda911","author":{"email":"56f22f2f61c0e237aec3a15d31aad03bddd0f6a6@fb.com","name":"agiardullo"},"message":"Create an abstract interface for write batches\n\nSummary: WriteBatch and WriteBatchWithIndex now both inherit from a common abstract base class.  This makes it easier to write code that is agnostic toward the implementation of the particular write batch.  In particular, I plan on utilizing this abstraction to allow transactions to support using either implementation of a write batch.\n\nTest Plan: modified existing WriteBatchWithIndex tests to test new functions.  Running all tests.\n\nReviewers: igor, rven, yhchiang, sdong\n\nReviewed By: sdong\n\nSubscribers: dhruba, leveldb\n\nDifferential Revision: https://reviews.facebook.net/D34017","distinct":true,"url":"https://api.github.com/repos/adamretter/rocksdb/commits/81345b90f9cea999badc6255b4d62e84c6eda911"}]}