1. 03 3月, 2018 2 次提交
  2. 09 1月, 2018 1 次提交
  3. 16 12月, 2017 1 次提交
  4. 29 11月, 2017 1 次提交
  5. 21 11月, 2017 1 次提交
    • A
      Add a ticker stat for number of keys skipped during iteration · d394a6bb
      anand1976 提交于
      Summary:
      This diff adds a new ticker stat, NUMBER_ITER_SKIP, to count the
      number of internal keys skipped during iteration. Keys can be skipped
      due to deletes, or lower sequence number, or higher sequence number
      than the one requested.
      
      Also, fix the issue when StatisticsData is naturally aligned on cacheline boundary,
      padding becomes a zero size array, which the Windows compiler doesn't
      like. So add a cacheline worth of padding in that case to keep it happy.
      We cannot conditionally add padding as gcc doesn't allow using sizeof
      in preprocessor directives.
      Closes https://github.com/facebook/rocksdb/pull/3177
      
      Differential Revision: D6353897
      
      Pulled By: anand1976
      
      fbshipit-source-id: 441d5a09af9c4e22e7355242dfc0c7b27aa0a6c2
      d394a6bb
  6. 24 10月, 2017 1 次提交
    • Z
      added missing subcodes and improved error message for missing enum values · 57fcdc26
      zawlazaw 提交于
      Summary:
      Java's `Status.SubCode` was out of sync with `include/rocksdb/status.h:SubCode`.
      
      When running out of disc space this led to an `IllegalArgumentException` because of an invalid status code, rather than just returning the corresponding status code without an exception.
      
      I added the missing status codes.
      
      By this, we keep the behaviour of throwing an `IllegalArgumentException` in case of newly added status codes that are defined in C but not in Java.
      
      We could think of an alternative strategy: add in Java another code "UnknownCode" which acts as a catch-all for all those status codes that are not yet mirrored from C to Java. This approach would never throw an exception but simply return a non-OK status-code.
      
      I think the current approach of throwing an Exception in case of a C/Java inconsistency is fine, but if you have some opinion on the alternative strategy, then feel free to comment here.
      Closes https://github.com/facebook/rocksdb/pull/3050
      
      Differential Revision: D6129682
      
      Pulled By: sagar0
      
      fbshipit-source-id: f2bf44caad650837cffdcb1f93eb793b43580c66
      57fcdc26
  7. 13 10月, 2017 1 次提交
  8. 22 9月, 2017 1 次提交
  9. 16 7月, 2017 1 次提交
  10. 12 7月, 2017 1 次提交
  11. 06 6月, 2017 1 次提交
  12. 31 3月, 2017 1 次提交
  13. 23 3月, 2017 1 次提交
  14. 07 3月, 2017 1 次提交
  15. 28 2月, 2017 1 次提交
    • A
      Fixed various memory leaks and Java 8 JNI Compatibility · c6d464a9
      Adam Retter 提交于
      Summary:
      I have manually audited the entire RocksJava code base.
      
      Sorry for the large pull-request, I have broken it down into many small atomic commits though.
      
      My initial intention was to fix the warnings that appear when running RocksJava on Java 8 with `-Xcheck:jni`, for example when running `make jtest` you would see many errors similar to:
      
      ```
      WARNING in native method: JNI call made without checking exceptions when required to from CallObjectMethod
      WARNING in native method: JNI call made without checking exceptions when required to from CallVoidMethod
      WARNING in native method: JNI call made without checking exceptions when required to from CallStaticVoidMethod
      ...
      ```
      
      A few of those warnings still remain, however they seem to come directly from the JVM and are not directly related to RocksJava; I am in contact with the OpenJDK hostpot-dev mailing list about these - http://mail.openjdk.java.net/pipermail/hotspot-dev/2017-February/025981.html.
      
      As a result of fixing these, I realised we were not r
      Closes https://github.com/facebook/rocksdb/pull/1890
      
      Differential Revision: D4591758
      
      Pulled By: siying
      
      fbshipit-source-id: 7f7fdf4
      c6d464a9
  16. 04 1月, 2017 1 次提交
  17. 17 12月, 2016 1 次提交
    • D
      gcc-7 requires include <functional> for std::function · 816c1e30
      Daniel Black 提交于
      Summary:
      Fixes compile error:
      
      In file included from ./util/statistics.h:17:0,
                       from ./util/stop_watch.h:8,
                       from ./util/perf_step_timer.h:9,
                       from ./util/iostats_context_imp.h:8,
                       from ./util/posix_logger.h:27,
                       from ./port/util_logger.h:18,
                       from ./db/auto_roll_logger.h:15,
                       from db/auto_roll_logger.cc:6:
      ./util/thread_local.h:65:16: error: 'function' in namespace 'std' does not name a template type
         typedef std::function<void(void*, void*)> FoldFunc;
      Closes https://github.com/facebook/rocksdb/pull/1656
      
      Differential Revision: D4318702
      
      Pulled By: yiwu-arbug
      
      fbshipit-source-id: 8c5d17a
      816c1e30
  18. 15 12月, 2016 1 次提交
  19. 06 11月, 2016 1 次提交
  20. 23 8月, 2016 1 次提交
  21. 07 5月, 2016 1 次提交
  22. 02 3月, 2016 1 次提交
  23. 10 2月, 2016 4 次提交
  24. 02 2月, 2016 1 次提交
  25. 05 8月, 2015 1 次提交
  26. 24 3月, 2015 1 次提交
  27. 20 3月, 2015 1 次提交
    • F
      [RocksJava] 32-Bit adjustments · 5615e23d
      fyrz 提交于
      Summary:
      Before this change overflowing size_t values led to a checked Exception.
      
      After that change:
      
      size_t overflows on 32-Bit architecture throw now an IllegalArgumentException,
      which removes the necessity for a developer to catch these Exceptions explicitly.
      
      This is especially an advantage for developers targeting 64-Bit systems because
      it is not necessary anymore to catch exceptions which are never thrown on a 64-Bit
      system.
      
      Test Plan:
      make clean jclean rocksdbjava jtest
      mvn -f rocksjni.pom package
      
      Reviewers: adamretter, yhchiang, ankgup87
      
      Subscribers: dhruba
      
      Differential Revision: https://reviews.facebook.net/D34923
      5615e23d
  28. 15 3月, 2015 2 次提交
    • F
      RocksJava - JNI Logger callback · 57f2a00c
      fyrz 提交于
      Summary:
      Within this commit a new AbstractLogger was introduced
      which allows to handle log messages at an application level.
      
      Log messages are passed up to Java using a JNI callback.
      
      This allows a Java-Developer to use common Java APIs for log
      messages e.g. SLF4J, LOG4J, etc. Within this commit no new
      dependencies were introduced, which keeps the RocksDB API clean
      and doesn`t force a developer to use a predefined high-level Java API.
      
      Another feature is to dynamically set a custom loggers verbosity at
      runtime using its public method `setInfoLogLevel` and to retrieve
      the currently active level using the `infoLogLevel` method.
      
      Test Plan:
      make clean jclean rocksdbjava jtest
      mvn -f rocksjni.pom package
      
      Reviewers: adamretter, ankgup87, yhchiang
      
      Subscribers: dhruba
      
      Differential Revision: https://reviews.facebook.net/D34755
      57f2a00c
    • F
      [RocksJava] Logging JNI callback · a3bd4142
      fyrz 提交于
      Within this commit a new AbstractLogger was introduced
      which pushes info log messages all the way up to Java.
      a3bd4142
  29. 29 1月, 2015 1 次提交
  30. 28 1月, 2015 2 次提交
    • F
      [RocksJava] Removed todo comment in portal.h · b3c13314
      fyrz 提交于
      As jclass instances shall not be cached, both
      todos are obsolete and can be removed.
      b3c13314
    • F
      [RocksJava] Cleanup portal.h · 7ffcc457
      fyrz 提交于
      Simple Java Native Objects usually are represented using
      the same functionality but within different classes.
      
      With this commit a template class was introduced to remove
      the redundant impelementation to a certain extent.
      7ffcc457
  31. 15 1月, 2015 3 次提交
  32. 11 1月, 2015 1 次提交
    • F
      [RocksJava] ColumnFamilyDescriptor alignment with listColumnFamilies · 0aab1005
      fyrz 提交于
      Summary:
      Previous to this commit ColumnFamilyDescriptor took a String as name for the ColumnFamily name. String is however encoding dependent which is bad because listColumnFamilies returns byte arrays without any encoding information.
      
      All public API call were deprecated and flagged to be removed in 3.10.0
      
      Test Plan:
      make rocksdbjava
      make test
      mvn -f rocksjni.pom package
      
      Reviewers: yhchiang, adamretter, ankgup87
      
      Subscribers: dhruba
      
      Differential Revision: https://reviews.facebook.net/D30525
      0aab1005