mirror of
https://github.com/facebook/rocksdb.git
synced 2024-11-26 16:30:56 +00:00
d9a441113e
Summary: Implement RAII-based helpers for JNIGet() and multiGet() Replace JNI C++ helpers `rocksdb_get_helper, rocksdb_get_helper_direct`, `multi_get_helper`, `multi_get_helper_direct`, `multi_get_helper_release_keys`, `txn_get_helper`, and `txn_multi_get_helper`. The model is to entirely do away with a single helper, instead a number of utility methods allow each separate JNI `Get()` and `MultiGet()` method to organise their parameters efficiently, then call the underlying C++ `db->Get()`, `db->MultiGet()`, `txn->Get()`, or `txn->MultiGet()` method itself, and use further utilities to retrieve results. Roughly speaking: * get keys into C++ form * Call C++ Get() * get results and status into Java form We achieve a useful performance gain as part of this work; by using the updated C++ multiGet we immediately pick up its performance gains (batch improvements to multiGet C++ were previously implemented, but not until now used by Java/JNI). multiGetBB already uses the batched C++ multiGet(), and all other benchmarks show consistent improvement after the changes: ## Before: ``` Benchmark (columnFamilyTestType) (keyCount) (keySize) (multiGetSize) (valueSize) Mode Cnt Score Error Units MultiGetNewBenchmarks.multiGetBB200 no_column_family 10000 1024 100 256 thrpt 25 5315.459 ± 20.465 ops/s MultiGetNewBenchmarks.multiGetBB200 no_column_family 10000 1024 100 1024 thrpt 25 5673.115 ± 78.299 ops/s MultiGetNewBenchmarks.multiGetBB200 no_column_family 10000 1024 100 4096 thrpt 25 2616.860 ± 46.994 ops/s MultiGetNewBenchmarks.multiGetBB200 no_column_family 10000 1024 100 16384 thrpt 25 1700.058 ± 24.034 ops/s MultiGetNewBenchmarks.multiGetBB200 no_column_family 10000 1024 100 65536 thrpt 25 791.171 ± 13.955 ops/s MultiGetNewBenchmarks.multiGetList10 no_column_family 10000 1024 100 256 thrpt 25 6129.929 ± 94.200 ops/s MultiGetNewBenchmarks.multiGetList10 no_column_family 10000 1024 100 1024 thrpt 25 7012.405 ± 97.886 ops/s MultiGetNewBenchmarks.multiGetList10 no_column_family 10000 1024 100 4096 thrpt 25 2799.014 ± 39.352 ops/s MultiGetNewBenchmarks.multiGetList10 no_column_family 10000 1024 100 16384 thrpt 25 1417.205 ± 22.272 ops/s MultiGetNewBenchmarks.multiGetList10 no_column_family 10000 1024 100 65536 thrpt 25 655.594 ± 13.050 ops/s MultiGetNewBenchmarks.multiGetListExplicitCF20 no_column_family 10000 1024 100 256 thrpt 25 6147.247 ± 82.711 ops/s MultiGetNewBenchmarks.multiGetListExplicitCF20 no_column_family 10000 1024 100 1024 thrpt 25 7004.213 ± 79.251 ops/s MultiGetNewBenchmarks.multiGetListExplicitCF20 no_column_family 10000 1024 100 4096 thrpt 25 2715.154 ± 110.017 ops/s MultiGetNewBenchmarks.multiGetListExplicitCF20 no_column_family 10000 1024 100 16384 thrpt 25 1408.070 ± 31.714 ops/s MultiGetNewBenchmarks.multiGetListExplicitCF20 no_column_family 10000 1024 100 65536 thrpt 25 623.829 ± 57.374 ops/s MultiGetNewBenchmarks.multiGetListRandomCF30 no_column_family 10000 1024 100 256 thrpt 25 6119.243 ± 116.313 ops/s MultiGetNewBenchmarks.multiGetListRandomCF30 no_column_family 10000 1024 100 1024 thrpt 25 6931.873 ± 128.094 ops/s MultiGetNewBenchmarks.multiGetListRandomCF30 no_column_family 10000 1024 100 4096 thrpt 25 2678.253 ± 39.113 ops/s MultiGetNewBenchmarks.multiGetListRandomCF30 no_column_family 10000 1024 100 16384 thrpt 25 1337.384 ± 19.500 ops/s MultiGetNewBenchmarks.multiGetListRandomCF30 no_column_family 10000 1024 100 65536 thrpt 25 625.596 ± 14.525 ops/s ``` ## After: ``` Benchmark (columnFamilyTestType) (keyCount) (keySize) (multiGetSize) (valueSize) Mode Cnt Score Error Units MultiGetBenchmarks.multiGetBB200 no_column_family 10000 1024 100 256 thrpt 25 5191.074 ± 78.250 ops/s MultiGetBenchmarks.multiGetBB200 no_column_family 10000 1024 100 1024 thrpt 25 5378.692 ± 260.682 ops/s MultiGetBenchmarks.multiGetBB200 no_column_family 10000 1024 100 4096 thrpt 25 2590.183 ± 34.844 ops/s MultiGetBenchmarks.multiGetBB200 no_column_family 10000 1024 100 16384 thrpt 25 1634.793 ± 34.022 ops/s MultiGetBenchmarks.multiGetBB200 no_column_family 10000 1024 100 65536 thrpt 25 786.455 ± 8.462 ops/s MultiGetBenchmarks.multiGetBB200 1_column_family 10000 1024 100 256 thrpt 25 5285.055 ± 11.676 ops/s MultiGetBenchmarks.multiGetBB200 1_column_family 10000 1024 100 1024 thrpt 25 5586.758 ± 213.008 ops/s MultiGetBenchmarks.multiGetBB200 1_column_family 10000 1024 100 4096 thrpt 25 2527.172 ± 17.106 ops/s MultiGetBenchmarks.multiGetBB200 1_column_family 10000 1024 100 16384 thrpt 25 1819.547 ± 12.958 ops/s MultiGetBenchmarks.multiGetBB200 1_column_family 10000 1024 100 65536 thrpt 25 803.861 ± 9.963 ops/s MultiGetBenchmarks.multiGetBB200 20_column_families 10000 1024 100 256 thrpt 25 5253.793 ± 28.020 ops/s MultiGetBenchmarks.multiGetBB200 20_column_families 10000 1024 100 1024 thrpt 25 5705.591 ± 20.556 ops/s MultiGetBenchmarks.multiGetBB200 20_column_families 10000 1024 100 4096 thrpt 25 2523.377 ± 15.415 ops/s MultiGetBenchmarks.multiGetBB200 20_column_families 10000 1024 100 16384 thrpt 25 1815.344 ± 11.309 ops/s MultiGetBenchmarks.multiGetBB200 20_column_families 10000 1024 100 65536 thrpt 25 820.792 ± 3.192 ops/s MultiGetBenchmarks.multiGetBB200 100_column_families 10000 1024 100 256 thrpt 25 5262.184 ± 20.477 ops/s MultiGetBenchmarks.multiGetBB200 100_column_families 10000 1024 100 1024 thrpt 25 5706.959 ± 23.123 ops/s MultiGetBenchmarks.multiGetBB200 100_column_families 10000 1024 100 4096 thrpt 25 2520.362 ± 9.170 ops/s MultiGetBenchmarks.multiGetBB200 100_column_families 10000 1024 100 16384 thrpt 25 1789.185 ± 14.239 ops/s MultiGetBenchmarks.multiGetBB200 100_column_families 10000 1024 100 65536 thrpt 25 818.401 ± 12.132 ops/s MultiGetBenchmarks.multiGetList10 no_column_family 10000 1024 100 256 thrpt 25 6978.310 ± 14.084 ops/s MultiGetBenchmarks.multiGetList10 no_column_family 10000 1024 100 1024 thrpt 25 7664.242 ± 22.304 ops/s MultiGetBenchmarks.multiGetList10 no_column_family 10000 1024 100 4096 thrpt 25 2881.778 ± 81.054 ops/s MultiGetBenchmarks.multiGetList10 no_column_family 10000 1024 100 16384 thrpt 25 1599.826 ± 7.190 ops/s MultiGetBenchmarks.multiGetList10 no_column_family 10000 1024 100 65536 thrpt 25 737.520 ± 6.809 ops/s MultiGetBenchmarks.multiGetList10 1_column_family 10000 1024 100 256 thrpt 25 6974.376 ± 10.716 ops/s MultiGetBenchmarks.multiGetList10 1_column_family 10000 1024 100 1024 thrpt 25 7637.440 ± 45.877 ops/s MultiGetBenchmarks.multiGetList10 1_column_family 10000 1024 100 4096 thrpt 25 2820.472 ± 42.231 ops/s MultiGetBenchmarks.multiGetList10 1_column_family 10000 1024 100 16384 thrpt 25 1716.663 ± 8.527 ops/s MultiGetBenchmarks.multiGetList10 1_column_family 10000 1024 100 65536 thrpt 25 755.848 ± 7.514 ops/s MultiGetBenchmarks.multiGetList10 20_column_families 10000 1024 100 256 thrpt 25 6943.651 ± 20.040 ops/s MultiGetBenchmarks.multiGetList10 20_column_families 10000 1024 100 1024 thrpt 25 7679.415 ± 9.114 ops/s MultiGetBenchmarks.multiGetList10 20_column_families 10000 1024 100 4096 thrpt 25 2844.564 ± 13.388 ops/s MultiGetBenchmarks.multiGetList10 20_column_families 10000 1024 100 16384 thrpt 25 1729.545 ± 5.983 ops/s MultiGetBenchmarks.multiGetList10 20_column_families 10000 1024 100 65536 thrpt 25 783.218 ± 1.530 ops/s MultiGetBenchmarks.multiGetList10 100_column_families 10000 1024 100 256 thrpt 25 6944.276 ± 29.995 ops/s MultiGetBenchmarks.multiGetList10 100_column_families 10000 1024 100 1024 thrpt 25 7670.301 ± 8.986 ops/s MultiGetBenchmarks.multiGetList10 100_column_families 10000 1024 100 4096 thrpt 25 2839.828 ± 12.421 ops/s MultiGetBenchmarks.multiGetList10 100_column_families 10000 1024 100 16384 thrpt 25 1730.005 ± 9.209 ops/s MultiGetBenchmarks.multiGetList10 100_column_families 10000 1024 100 65536 thrpt 25 787.096 ± 1.977 ops/s MultiGetBenchmarks.multiGetListExplicitCF20 no_column_family 10000 1024 100 256 thrpt 25 6896.944 ± 21.530 ops/s MultiGetBenchmarks.multiGetListExplicitCF20 no_column_family 10000 1024 100 1024 thrpt 25 7622.407 ± 12.824 ops/s MultiGetBenchmarks.multiGetListExplicitCF20 no_column_family 10000 1024 100 4096 thrpt 25 2927.538 ± 19.792 ops/s MultiGetBenchmarks.multiGetListExplicitCF20 no_column_family 10000 1024 100 16384 thrpt 25 1598.041 ± 4.312 ops/s MultiGetBenchmarks.multiGetListExplicitCF20 no_column_family 10000 1024 100 65536 thrpt 25 744.564 ± 9.236 ops/s MultiGetBenchmarks.multiGetListExplicitCF20 1_column_family 10000 1024 100 256 thrpt 25 6853.760 ± 78.041 ops/s MultiGetBenchmarks.multiGetListExplicitCF20 1_column_family 10000 1024 100 1024 thrpt 25 7360.917 ± 355.365 ops/s MultiGetBenchmarks.multiGetListExplicitCF20 1_column_family 10000 1024 100 4096 thrpt 25 2848.774 ± 13.409 ops/s MultiGetBenchmarks.multiGetListExplicitCF20 1_column_family 10000 1024 100 16384 thrpt 25 1727.688 ± 3.329 ops/s MultiGetBenchmarks.multiGetListExplicitCF20 1_column_family 10000 1024 100 65536 thrpt 25 776.088 ± 7.517 ops/s MultiGetBenchmarks.multiGetListExplicitCF20 20_column_families 10000 1024 100 256 thrpt 25 6910.339 ± 14.366 ops/s MultiGetBenchmarks.multiGetListExplicitCF20 20_column_families 10000 1024 100 1024 thrpt 25 7633.660 ± 10.830 ops/s MultiGetBenchmarks.multiGetListExplicitCF20 20_column_families 10000 1024 100 4096 thrpt 25 2787.799 ± 81.775 ops/s MultiGetBenchmarks.multiGetListExplicitCF20 20_column_families 10000 1024 100 16384 thrpt 25 1726.517 ± 6.830 ops/s MultiGetBenchmarks.multiGetListExplicitCF20 20_column_families 10000 1024 100 65536 thrpt 25 787.597 ± 3.362 ops/s MultiGetBenchmarks.multiGetListExplicitCF20 100_column_families 10000 1024 100 256 thrpt 25 6922.445 ± 10.493 ops/s MultiGetBenchmarks.multiGetListExplicitCF20 100_column_families 10000 1024 100 1024 thrpt 25 7604.710 ± 48.043 ops/s MultiGetBenchmarks.multiGetListExplicitCF20 100_column_families 10000 1024 100 4096 thrpt 25 2848.788 ± 15.783 ops/s MultiGetBenchmarks.multiGetListExplicitCF20 100_column_families 10000 1024 100 16384 thrpt 25 1730.837 ± 6.497 ops/s MultiGetBenchmarks.multiGetListExplicitCF20 100_column_families 10000 1024 100 65536 thrpt 25 794.557 ± 1.869 ops/s MultiGetBenchmarks.multiGetListRandomCF30 no_column_family 10000 1024 100 256 thrpt 25 6918.716 ± 15.766 ops/s MultiGetBenchmarks.multiGetListRandomCF30 no_column_family 10000 1024 100 1024 thrpt 25 7626.692 ± 9.394 ops/s MultiGetBenchmarks.multiGetListRandomCF30 no_column_family 10000 1024 100 4096 thrpt 25 2871.382 ± 72.155 ops/s MultiGetBenchmarks.multiGetListRandomCF30 no_column_family 10000 1024 100 16384 thrpt 25 1598.786 ± 4.819 ops/s MultiGetBenchmarks.multiGetListRandomCF30 no_column_family 10000 1024 100 65536 thrpt 25 748.469 ± 7.234 ops/s MultiGetBenchmarks.multiGetListRandomCF30 1_column_family 10000 1024 100 256 thrpt 25 6922.666 ± 17.131 ops/s MultiGetBenchmarks.multiGetListRandomCF30 1_column_family 10000 1024 100 1024 thrpt 25 7623.890 ± 8.805 ops/s MultiGetBenchmarks.multiGetListRandomCF30 1_column_family 10000 1024 100 4096 thrpt 25 2850.698 ± 18.004 ops/s MultiGetBenchmarks.multiGetListRandomCF30 1_column_family 10000 1024 100 16384 thrpt 25 1727.623 ± 4.868 ops/s MultiGetBenchmarks.multiGetListRandomCF30 1_column_family 10000 1024 100 65536 thrpt 25 774.534 ± 10.025 ops/s MultiGetBenchmarks.multiGetListRandomCF30 20_column_families 10000 1024 100 256 thrpt 25 5486.251 ± 13.582 ops/s MultiGetBenchmarks.multiGetListRandomCF30 20_column_families 10000 1024 100 1024 thrpt 25 4920.656 ± 44.557 ops/s MultiGetBenchmarks.multiGetListRandomCF30 20_column_families 10000 1024 100 4096 thrpt 25 3922.913 ± 25.686 ops/s MultiGetBenchmarks.multiGetListRandomCF30 20_column_families 10000 1024 100 16384 thrpt 25 2873.106 ± 4.336 ops/s MultiGetBenchmarks.multiGetListRandomCF30 20_column_families 10000 1024 100 65536 thrpt 25 802.404 ± 8.967 ops/s MultiGetBenchmarks.multiGetListRandomCF30 100_column_families 10000 1024 100 256 thrpt 25 4817.996 ± 18.042 ops/s MultiGetBenchmarks.multiGetListRandomCF30 100_column_families 10000 1024 100 1024 thrpt 25 4243.922 ± 13.929 ops/s MultiGetBenchmarks.multiGetListRandomCF30 100_column_families 10000 1024 100 4096 thrpt 25 3175.998 ± 7.773 ops/s MultiGetBenchmarks.multiGetListRandomCF30 100_column_families 10000 1024 100 16384 thrpt 25 2321.990 ± 12.501 ops/s MultiGetBenchmarks.multiGetListRandomCF30 100_column_families 10000 1024 100 65536 thrpt 25 1753.028 ± 7.130 ops/s ``` Closes https://github.com/facebook/rocksdb/issues/11518 Pull Request resolved: https://github.com/facebook/rocksdb/pull/12344 Reviewed By: cbi42 Differential Revision: D54809714 Pulled By: pdillinger fbshipit-source-id: bee3b949720abac073bce043b59ce976a11e99eb
884 lines
37 KiB
CMake
884 lines
37 KiB
CMake
cmake_minimum_required(VERSION 3.4)
|
|
|
|
set(JAVA_JUNIT_VERSION "4.13.1")
|
|
set(JAVA_HAMCR_VERSION "2.2")
|
|
set(JAVA_MOCKITO_VERSION "1.10.19")
|
|
set(JAVA_CGLIB_VERSION "3.3.0")
|
|
set(JAVA_ASSERTJ_VERSION "2.9.0")
|
|
|
|
|
|
if(${CMAKE_VERSION} VERSION_LESS "3.11.4")
|
|
message("Please consider switching to CMake 3.11.4 or newer")
|
|
endif()
|
|
|
|
set(CMAKE_JAVA_COMPILE_FLAGS -source 8)
|
|
|
|
set(JNI_NATIVE_SOURCES
|
|
rocksjni/backup_engine_options.cc
|
|
rocksjni/backupenginejni.cc
|
|
rocksjni/cassandra_compactionfilterjni.cc
|
|
rocksjni/cassandra_value_operator.cc
|
|
rocksjni/checkpoint.cc
|
|
rocksjni/clock_cache.cc
|
|
rocksjni/cache.cc
|
|
rocksjni/columnfamilyhandle.cc
|
|
rocksjni/compaction_filter.cc
|
|
rocksjni/compaction_filter_factory.cc
|
|
rocksjni/compaction_filter_factory_jnicallback.cc
|
|
rocksjni/compaction_job_info.cc
|
|
rocksjni/compaction_job_stats.cc
|
|
rocksjni/compaction_options.cc
|
|
rocksjni/compaction_options_fifo.cc
|
|
rocksjni/compaction_options_universal.cc
|
|
rocksjni/compact_range_options.cc
|
|
rocksjni/comparator.cc
|
|
rocksjni/comparatorjnicallback.cc
|
|
rocksjni/compression_options.cc
|
|
rocksjni/concurrent_task_limiter.cc
|
|
rocksjni/config_options.cc
|
|
rocksjni/env.cc
|
|
rocksjni/env_options.cc
|
|
rocksjni/event_listener.cc
|
|
rocksjni/event_listener_jnicallback.cc
|
|
rocksjni/export_import_files_metadatajni.cc
|
|
rocksjni/filter.cc
|
|
rocksjni/import_column_family_options.cc
|
|
rocksjni/hyper_clock_cache.cc
|
|
rocksjni/ingest_external_file_options.cc
|
|
rocksjni/iterator.cc
|
|
rocksjni/jni_multiget_helpers.cc
|
|
rocksjni/jnicallback.cc
|
|
rocksjni/loggerjnicallback.cc
|
|
rocksjni/lru_cache.cc
|
|
rocksjni/memory_util.cc
|
|
rocksjni/memtablejni.cc
|
|
rocksjni/merge_operator.cc
|
|
rocksjni/native_comparator_wrapper_test.cc
|
|
rocksjni/optimistic_transaction_db.cc
|
|
rocksjni/optimistic_transaction_options.cc
|
|
rocksjni/options.cc
|
|
rocksjni/options_util.cc
|
|
rocksjni/persistent_cache.cc
|
|
rocksjni/jni_perf_context.cc
|
|
rocksjni/ratelimiterjni.cc
|
|
rocksjni/remove_emptyvalue_compactionfilterjni.cc
|
|
rocksjni/restorejni.cc
|
|
rocksjni/rocks_callback_object.cc
|
|
rocksjni/rocksdb_exception_test.cc
|
|
rocksjni/rocksjni.cc
|
|
rocksjni/slice.cc
|
|
rocksjni/snapshot.cc
|
|
rocksjni/sst_file_manager.cc
|
|
rocksjni/sst_file_writerjni.cc
|
|
rocksjni/sst_file_readerjni.cc
|
|
rocksjni/sst_file_reader_iterator.cc
|
|
rocksjni/sst_partitioner.cc
|
|
rocksjni/statistics.cc
|
|
rocksjni/statisticsjni.cc
|
|
rocksjni/stderr_logger.cc
|
|
rocksjni/table.cc
|
|
rocksjni/table_filter.cc
|
|
rocksjni/table_filter_jnicallback.cc
|
|
rocksjni/table_properties_collector_factory.cc
|
|
rocksjni/testable_event_listener.cc
|
|
rocksjni/thread_status.cc
|
|
rocksjni/trace_writer.cc
|
|
rocksjni/trace_writer_jnicallback.cc
|
|
rocksjni/transaction.cc
|
|
rocksjni/transaction_db.cc
|
|
rocksjni/transaction_db_options.cc
|
|
rocksjni/transaction_log.cc
|
|
rocksjni/transaction_notifier.cc
|
|
rocksjni/transaction_notifier_jnicallback.cc
|
|
rocksjni/transaction_options.cc
|
|
rocksjni/ttl.cc
|
|
rocksjni/wal_filter.cc
|
|
rocksjni/wal_filter_jnicallback.cc
|
|
rocksjni/write_batch.cc
|
|
rocksjni/writebatchhandlerjnicallback.cc
|
|
rocksjni/write_batch_test.cc
|
|
rocksjni/write_batch_with_index.cc
|
|
rocksjni/write_buffer_manager.cc
|
|
)
|
|
|
|
set(JAVA_MAIN_CLASSES
|
|
src/main/java/org/rocksdb/AbstractCompactionFilter.java
|
|
src/main/java/org/rocksdb/AbstractCompactionFilterFactory.java
|
|
src/main/java/org/rocksdb/AbstractComparator.java
|
|
src/main/java/org/rocksdb/AbstractEventListener.java
|
|
src/main/java/org/rocksdb/AbstractImmutableNativeReference.java
|
|
src/main/java/org/rocksdb/AbstractMutableOptions.java
|
|
src/main/java/org/rocksdb/AbstractNativeReference.java
|
|
src/main/java/org/rocksdb/AbstractRocksIterator.java
|
|
src/main/java/org/rocksdb/AbstractSlice.java
|
|
src/main/java/org/rocksdb/AbstractTableFilter.java
|
|
src/main/java/org/rocksdb/AbstractTraceWriter.java
|
|
src/main/java/org/rocksdb/AbstractTransactionNotifier.java
|
|
src/main/java/org/rocksdb/AbstractWalFilter.java
|
|
src/main/java/org/rocksdb/AbstractWriteBatch.java
|
|
src/main/java/org/rocksdb/AdvancedColumnFamilyOptionsInterface.java
|
|
src/main/java/org/rocksdb/AdvancedMutableColumnFamilyOptionsInterface.java
|
|
src/main/java/org/rocksdb/BackgroundErrorReason.java
|
|
src/main/java/org/rocksdb/BackupEngineOptions.java
|
|
src/main/java/org/rocksdb/BackupEngine.java
|
|
src/main/java/org/rocksdb/BackupInfo.java
|
|
src/main/java/org/rocksdb/BlockBasedTableConfig.java
|
|
src/main/java/org/rocksdb/BloomFilter.java
|
|
src/main/java/org/rocksdb/BuiltinComparator.java
|
|
src/main/java/org/rocksdb/ByteBufferGetStatus.java
|
|
src/main/java/org/rocksdb/Cache.java
|
|
src/main/java/org/rocksdb/CassandraCompactionFilter.java
|
|
src/main/java/org/rocksdb/CassandraValueMergeOperator.java
|
|
src/main/java/org/rocksdb/Checkpoint.java
|
|
src/main/java/org/rocksdb/ChecksumType.java
|
|
src/main/java/org/rocksdb/ClockCache.java
|
|
src/main/java/org/rocksdb/ColumnFamilyDescriptor.java
|
|
src/main/java/org/rocksdb/ColumnFamilyHandle.java
|
|
src/main/java/org/rocksdb/ColumnFamilyMetaData.java
|
|
src/main/java/org/rocksdb/ColumnFamilyOptionsInterface.java
|
|
src/main/java/org/rocksdb/ColumnFamilyOptions.java
|
|
src/main/java/org/rocksdb/CompactionJobInfo.java
|
|
src/main/java/org/rocksdb/CompactionJobStats.java
|
|
src/main/java/org/rocksdb/CompactionOptions.java
|
|
src/main/java/org/rocksdb/CompactionOptionsFIFO.java
|
|
src/main/java/org/rocksdb/CompactionOptionsUniversal.java
|
|
src/main/java/org/rocksdb/CompactionPriority.java
|
|
src/main/java/org/rocksdb/CompactionReason.java
|
|
src/main/java/org/rocksdb/CompactRangeOptions.java
|
|
src/main/java/org/rocksdb/CompactionStopStyle.java
|
|
src/main/java/org/rocksdb/CompactionStyle.java
|
|
src/main/java/org/rocksdb/ComparatorOptions.java
|
|
src/main/java/org/rocksdb/ComparatorType.java
|
|
src/main/java/org/rocksdb/CompressionOptions.java
|
|
src/main/java/org/rocksdb/CompressionType.java
|
|
src/main/java/org/rocksdb/ConfigOptions.java
|
|
src/main/java/org/rocksdb/DataBlockIndexType.java
|
|
src/main/java/org/rocksdb/DBOptionsInterface.java
|
|
src/main/java/org/rocksdb/DBOptions.java
|
|
src/main/java/org/rocksdb/DbPath.java
|
|
src/main/java/org/rocksdb/DirectSlice.java
|
|
src/main/java/org/rocksdb/EncodingType.java
|
|
src/main/java/org/rocksdb/Env.java
|
|
src/main/java/org/rocksdb/EnvOptions.java
|
|
src/main/java/org/rocksdb/EventListener.java
|
|
src/main/java/org/rocksdb/Experimental.java
|
|
src/main/java/org/rocksdb/ExportImportFilesMetaData.java
|
|
src/main/java/org/rocksdb/ExternalFileIngestionInfo.java
|
|
src/main/java/org/rocksdb/Filter.java
|
|
src/main/java/org/rocksdb/FilterPolicyType.java
|
|
src/main/java/org/rocksdb/FileOperationInfo.java
|
|
src/main/java/org/rocksdb/FlushJobInfo.java
|
|
src/main/java/org/rocksdb/FlushReason.java
|
|
src/main/java/org/rocksdb/FlushOptions.java
|
|
src/main/java/org/rocksdb/GetStatus.java
|
|
src/main/java/org/rocksdb/HashLinkedListMemTableConfig.java
|
|
src/main/java/org/rocksdb/HashSkipListMemTableConfig.java
|
|
src/main/java/org/rocksdb/HistogramData.java
|
|
src/main/java/org/rocksdb/HistogramType.java
|
|
src/main/java/org/rocksdb/Holder.java
|
|
src/main/java/org/rocksdb/ImportColumnFamilyOptions.java
|
|
src/main/java/org/rocksdb/HyperClockCache.java
|
|
src/main/java/org/rocksdb/IndexShorteningMode.java
|
|
src/main/java/org/rocksdb/IndexType.java
|
|
src/main/java/org/rocksdb/InfoLogLevel.java
|
|
src/main/java/org/rocksdb/IngestExternalFileOptions.java
|
|
src/main/java/org/rocksdb/LevelMetaData.java
|
|
src/main/java/org/rocksdb/ConcurrentTaskLimiter.java
|
|
src/main/java/org/rocksdb/ConcurrentTaskLimiterImpl.java
|
|
src/main/java/org/rocksdb/KeyMayExist.java
|
|
src/main/java/org/rocksdb/LiveFileMetaData.java
|
|
src/main/java/org/rocksdb/LogFile.java
|
|
src/main/java/org/rocksdb/Logger.java
|
|
src/main/java/org/rocksdb/LoggerInterface.java
|
|
src/main/java/org/rocksdb/LoggerType.java
|
|
src/main/java/org/rocksdb/LRUCache.java
|
|
src/main/java/org/rocksdb/MemoryUsageType.java
|
|
src/main/java/org/rocksdb/MemoryUtil.java
|
|
src/main/java/org/rocksdb/MemTableConfig.java
|
|
src/main/java/org/rocksdb/MemTableInfo.java
|
|
src/main/java/org/rocksdb/MergeOperator.java
|
|
src/main/java/org/rocksdb/MutableColumnFamilyOptions.java
|
|
src/main/java/org/rocksdb/MutableColumnFamilyOptionsInterface.java
|
|
src/main/java/org/rocksdb/MutableDBOptions.java
|
|
src/main/java/org/rocksdb/MutableDBOptionsInterface.java
|
|
src/main/java/org/rocksdb/MutableOptionKey.java
|
|
src/main/java/org/rocksdb/MutableOptionValue.java
|
|
src/main/java/org/rocksdb/NativeComparatorWrapper.java
|
|
src/main/java/org/rocksdb/NativeLibraryLoader.java
|
|
src/main/java/org/rocksdb/OperationStage.java
|
|
src/main/java/org/rocksdb/OperationType.java
|
|
src/main/java/org/rocksdb/OptimisticTransactionDB.java
|
|
src/main/java/org/rocksdb/OptimisticTransactionOptions.java
|
|
src/main/java/org/rocksdb/Options.java
|
|
src/main/java/org/rocksdb/OptionString.java
|
|
src/main/java/org/rocksdb/OptionsUtil.java
|
|
src/main/java/org/rocksdb/PersistentCache.java
|
|
src/main/java/org/rocksdb/PerfContext.java
|
|
src/main/java/org/rocksdb/PerfLevel.java
|
|
src/main/java/org/rocksdb/PlainTableConfig.java
|
|
src/main/java/org/rocksdb/PrepopulateBlobCache.java
|
|
src/main/java/org/rocksdb/Priority.java
|
|
src/main/java/org/rocksdb/Range.java
|
|
src/main/java/org/rocksdb/RateLimiter.java
|
|
src/main/java/org/rocksdb/RateLimiterMode.java
|
|
src/main/java/org/rocksdb/ReadOptions.java
|
|
src/main/java/org/rocksdb/ReadTier.java
|
|
src/main/java/org/rocksdb/RemoveEmptyValueCompactionFilter.java
|
|
src/main/java/org/rocksdb/RestoreOptions.java
|
|
src/main/java/org/rocksdb/ReusedSynchronisationType.java
|
|
src/main/java/org/rocksdb/RocksCallbackObject.java
|
|
src/main/java/org/rocksdb/RocksDBException.java
|
|
src/main/java/org/rocksdb/RocksDB.java
|
|
src/main/java/org/rocksdb/RocksEnv.java
|
|
src/main/java/org/rocksdb/RocksIteratorInterface.java
|
|
src/main/java/org/rocksdb/RocksIterator.java
|
|
src/main/java/org/rocksdb/RocksMemEnv.java
|
|
src/main/java/org/rocksdb/RocksMutableObject.java
|
|
src/main/java/org/rocksdb/RocksObject.java
|
|
src/main/java/org/rocksdb/SanityLevel.java
|
|
src/main/java/org/rocksdb/SizeApproximationFlag.java
|
|
src/main/java/org/rocksdb/SkipListMemTableConfig.java
|
|
src/main/java/org/rocksdb/Slice.java
|
|
src/main/java/org/rocksdb/Snapshot.java
|
|
src/main/java/org/rocksdb/SstFileManager.java
|
|
src/main/java/org/rocksdb/SstFileMetaData.java
|
|
src/main/java/org/rocksdb/SstFileReader.java
|
|
src/main/java/org/rocksdb/SstFileReaderIterator.java
|
|
src/main/java/org/rocksdb/SstFileWriter.java
|
|
src/main/java/org/rocksdb/SstPartitionerFactory.java
|
|
src/main/java/org/rocksdb/SstPartitionerFixedPrefixFactory.java
|
|
src/main/java/org/rocksdb/StateType.java
|
|
src/main/java/org/rocksdb/StatisticsCollectorCallback.java
|
|
src/main/java/org/rocksdb/StatisticsCollector.java
|
|
src/main/java/org/rocksdb/Statistics.java
|
|
src/main/java/org/rocksdb/StatsCollectorInput.java
|
|
src/main/java/org/rocksdb/StatsLevel.java
|
|
src/main/java/org/rocksdb/Status.java
|
|
src/main/java/org/rocksdb/StringAppendOperator.java
|
|
src/main/java/org/rocksdb/TableFileCreationBriefInfo.java
|
|
src/main/java/org/rocksdb/TableFileCreationInfo.java
|
|
src/main/java/org/rocksdb/TableFileCreationReason.java
|
|
src/main/java/org/rocksdb/TableFileDeletionInfo.java
|
|
src/main/java/org/rocksdb/TableFilter.java
|
|
src/main/java/org/rocksdb/TableProperties.java
|
|
src/main/java/org/rocksdb/TablePropertiesCollectorFactory.java
|
|
src/main/java/org/rocksdb/TableFormatConfig.java
|
|
src/main/java/org/rocksdb/ThreadType.java
|
|
src/main/java/org/rocksdb/ThreadStatus.java
|
|
src/main/java/org/rocksdb/TickerType.java
|
|
src/main/java/org/rocksdb/TimedEnv.java
|
|
src/main/java/org/rocksdb/TraceOptions.java
|
|
src/main/java/org/rocksdb/TraceWriter.java
|
|
src/main/java/org/rocksdb/TransactionalDB.java
|
|
src/main/java/org/rocksdb/TransactionalOptions.java
|
|
src/main/java/org/rocksdb/TransactionDB.java
|
|
src/main/java/org/rocksdb/TransactionDBOptions.java
|
|
src/main/java/org/rocksdb/Transaction.java
|
|
src/main/java/org/rocksdb/TransactionLogIterator.java
|
|
src/main/java/org/rocksdb/TransactionOptions.java
|
|
src/main/java/org/rocksdb/TtlDB.java
|
|
src/main/java/org/rocksdb/TxnDBWritePolicy.java
|
|
src/main/java/org/rocksdb/VectorMemTableConfig.java
|
|
src/main/java/org/rocksdb/WalFileType.java
|
|
src/main/java/org/rocksdb/WalFilter.java
|
|
src/main/java/org/rocksdb/WalProcessingOption.java
|
|
src/main/java/org/rocksdb/WALRecoveryMode.java
|
|
src/main/java/org/rocksdb/WBWIRocksIterator.java
|
|
src/main/java/org/rocksdb/WriteBatch.java
|
|
src/main/java/org/rocksdb/WriteBatchInterface.java
|
|
src/main/java/org/rocksdb/WriteBatchWithIndex.java
|
|
src/main/java/org/rocksdb/WriteOptions.java
|
|
src/main/java/org/rocksdb/WriteBufferManager.java
|
|
src/main/java/org/rocksdb/WriteStallCondition.java
|
|
src/main/java/org/rocksdb/WriteStallInfo.java
|
|
src/main/java/org/rocksdb/util/BufferUtil.java
|
|
src/main/java/org/rocksdb/util/ByteUtil.java
|
|
src/main/java/org/rocksdb/util/BytewiseComparator.java
|
|
src/main/java/org/rocksdb/util/Environment.java
|
|
src/main/java/org/rocksdb/util/IntComparator.java
|
|
src/main/java/org/rocksdb/util/ReverseBytewiseComparator.java
|
|
src/main/java/org/rocksdb/util/SizeUnit.java
|
|
src/main/java/org/rocksdb/UInt64AddOperator.java
|
|
src/test/java/org/rocksdb/NativeComparatorWrapperTest.java
|
|
src/test/java/org/rocksdb/RocksDBExceptionTest.java
|
|
src/test/java/org/rocksdb/test/TestableEventListener.java
|
|
src/test/java/org/rocksdb/WriteBatchTest.java
|
|
src/test/java/org/rocksdb/RocksNativeLibraryResource.java
|
|
src/test/java/org/rocksdb/util/CapturingWriteBatchHandler.java
|
|
src/main/java/org/rocksdb/util/StdErrLogger.java
|
|
src/test/java/org/rocksdb/util/WriteBatchGetter.java
|
|
)
|
|
|
|
set(JAVA_TEST_CLASSES
|
|
src/test/java/org/rocksdb/ConcurrentTaskLimiterTest.java
|
|
src/test/java/org/rocksdb/EventListenerTest.java
|
|
src/test/java/org/rocksdb/CompactionOptionsTest.java
|
|
src/test/java/org/rocksdb/PlatformRandomHelper.java
|
|
src/test/java/org/rocksdb/IngestExternalFileOptionsTest.java
|
|
src/test/java/org/rocksdb/MutableDBOptionsTest.java
|
|
src/test/java/org/rocksdb/WriteOptionsTest.java
|
|
src/test/java/org/rocksdb/SstPartitionerTest.java
|
|
src/test/java/org/rocksdb/RocksMemEnvTest.java
|
|
src/test/java/org/rocksdb/CompactionOptionsUniversalTest.java
|
|
src/test/java/org/rocksdb/ClockCacheTest.java
|
|
src/test/java/org/rocksdb/BytewiseComparatorRegressionTest.java
|
|
src/test/java/org/rocksdb/SnapshotTest.java
|
|
src/test/java/org/rocksdb/CompactionJobStatsTest.java
|
|
src/test/java/org/rocksdb/MemTableTest.java
|
|
src/test/java/org/rocksdb/CompactionFilterFactoryTest.java
|
|
src/test/java/org/rocksdb/DefaultEnvTest.java
|
|
src/test/java/org/rocksdb/DBOptionsTest.java
|
|
src/test/java/org/rocksdb/RocksIteratorTest.java
|
|
src/test/java/org/rocksdb/SliceTest.java
|
|
src/test/java/org/rocksdb/MultiGetTest.java
|
|
src/test/java/org/rocksdb/ComparatorOptionsTest.java
|
|
src/test/java/org/rocksdb/NativeLibraryLoaderTest.java
|
|
src/test/java/org/rocksdb/StatisticsTest.java
|
|
src/test/java/org/rocksdb/WALRecoveryModeTest.java
|
|
src/test/java/org/rocksdb/TransactionLogIteratorTest.java
|
|
src/test/java/org/rocksdb/ReadOptionsTest.java
|
|
src/test/java/org/rocksdb/SecondaryDBTest.java
|
|
src/test/java/org/rocksdb/KeyMayExistTest.java
|
|
src/test/java/org/rocksdb/BlobOptionsTest.java
|
|
src/test/java/org/rocksdb/InfoLogLevelTest.java
|
|
src/test/java/org/rocksdb/CompactionPriorityTest.java
|
|
src/test/java/org/rocksdb/FlushOptionsTest.java
|
|
src/test/java/org/rocksdb/VerifyChecksumsTest.java
|
|
src/test/java/org/rocksdb/MultiColumnRegressionTest.java
|
|
src/test/java/org/rocksdb/FlushTest.java
|
|
src/test/java/org/rocksdb/HyperClockCacheTest.java
|
|
src/test/java/org/rocksdb/PutMultiplePartsTest.java
|
|
src/test/java/org/rocksdb/StatisticsCollectorTest.java
|
|
src/test/java/org/rocksdb/LRUCacheTest.java
|
|
src/test/java/org/rocksdb/ColumnFamilyOptionsTest.java
|
|
src/test/java/org/rocksdb/TransactionTest.java
|
|
src/test/java/org/rocksdb/CompactionOptionsFIFOTest.java
|
|
src/test/java/org/rocksdb/BackupEngineOptionsTest.java
|
|
src/test/java/org/rocksdb/CheckPointTest.java
|
|
src/test/java/org/rocksdb/PlainTableConfigTest.java
|
|
src/test/java/org/rocksdb/TransactionDBOptionsTest.java
|
|
src/test/java/org/rocksdb/ReadOnlyTest.java
|
|
src/test/java/org/rocksdb/EnvOptionsTest.java
|
|
src/test/java/org/rocksdb/test/RemoveEmptyValueCompactionFilterFactory.java
|
|
src/test/java/org/rocksdb/test/RemoveEmptyValueCompactionFilterFactory.java
|
|
src/test/java/org/rocksdb/test/TestableEventListener.java
|
|
src/test/java/org/rocksdb/test/RemoveEmptyValueCompactionFilterFactory.java
|
|
src/test/java/org/rocksdb/test/TestableEventListener.java
|
|
src/test/java/org/rocksdb/test/RocksJunitRunner.java
|
|
src/test/java/org/rocksdb/LoggerTest.java
|
|
src/test/java/org/rocksdb/FilterTest.java
|
|
src/test/java/org/rocksdb/ByteBufferUnsupportedOperationTest.java
|
|
src/test/java/org/rocksdb/util/IntComparatorTest.java
|
|
src/test/java/org/rocksdb/util/JNIComparatorTest.java
|
|
src/test/java/org/rocksdb/util/ByteBufferAllocator.java
|
|
src/test/java/org/rocksdb/util/SizeUnitTest.java
|
|
src/test/java/org/rocksdb/util/BytewiseComparatorTest.java
|
|
src/test/java/org/rocksdb/util/EnvironmentTest.java
|
|
src/test/java/org/rocksdb/util/BytewiseComparatorIntTest.java
|
|
src/test/java/org/rocksdb/util/DirectByteBufferAllocator.java
|
|
src/test/java/org/rocksdb/util/HeapByteBufferAllocator.java
|
|
src/test/java/org/rocksdb/util/TestUtil.java
|
|
src/test/java/org/rocksdb/util/ReverseBytewiseComparatorIntTest.java
|
|
src/test/java/org/rocksdb/Types.java
|
|
src/test/java/org/rocksdb/MixedOptionsTest.java
|
|
src/test/java/org/rocksdb/CompactRangeOptionsTest.java
|
|
src/test/java/org/rocksdb/SstFileWriterTest.java
|
|
src/test/java/org/rocksdb/WalFilterTest.java
|
|
src/test/java/org/rocksdb/AbstractTransactionTest.java
|
|
src/test/java/org/rocksdb/MergeTest.java
|
|
src/test/java/org/rocksdb/OptionsTest.java
|
|
src/test/java/org/rocksdb/WriteBatchThreadedTest.java
|
|
src/test/java/org/rocksdb/MultiGetManyKeysTest.java
|
|
src/test/java/org/rocksdb/TimedEnvTest.java
|
|
src/test/java/org/rocksdb/CompactionStopStyleTest.java
|
|
src/test/java/org/rocksdb/CompactionJobInfoTest.java
|
|
src/test/java/org/rocksdb/BlockBasedTableConfigTest.java
|
|
src/test/java/org/rocksdb/BuiltinComparatorTest.java
|
|
src/test/java/org/rocksdb/RateLimiterTest.java
|
|
src/test/java/org/rocksdb/TransactionOptionsTest.java
|
|
src/test/java/org/rocksdb/WriteBatchWithIndexTest.java
|
|
src/test/java/org/rocksdb/WriteBatchHandlerTest.java
|
|
src/test/java/org/rocksdb/OptimisticTransactionDBTest.java
|
|
src/test/java/org/rocksdb/OptionsUtilTest.java
|
|
src/test/java/org/rocksdb/OptimisticTransactionTest.java
|
|
src/test/java/org/rocksdb/MutableColumnFamilyOptionsTest.java
|
|
src/test/java/org/rocksdb/CompressionOptionsTest.java
|
|
src/test/java/org/rocksdb/ColumnFamilyTest.java
|
|
src/test/java/org/rocksdb/SstFileReaderTest.java
|
|
src/test/java/org/rocksdb/TransactionDBTest.java
|
|
src/test/java/org/rocksdb/RocksDBTest.java
|
|
src/test/java/org/rocksdb/MutableOptionsGetSetTest.java
|
|
src/test/java/org/rocksdb/OptimisticTransactionOptionsTest.java
|
|
src/test/java/org/rocksdb/SstFileManagerTest.java
|
|
src/test/java/org/rocksdb/BackupEngineTest.java
|
|
src/test/java/org/rocksdb/DirectSliceTest.java
|
|
src/test/java/org/rocksdb/StatsCallbackMock.java
|
|
src/test/java/org/rocksdb/CompressionTypesTest.java
|
|
src/test/java/org/rocksdb/MemoryUtilTest.java
|
|
src/test/java/org/rocksdb/TableFilterTest.java
|
|
src/test/java/org/rocksdb/TtlDBTest.java
|
|
src/test/java/org/rocksdb/util/StdErrLoggerTest.java
|
|
)
|
|
|
|
set(JAVA_TEST_RUNNING_CLASSES
|
|
org.rocksdb.ConcurrentTaskLimiterTest
|
|
org.rocksdb.EventListenerTest
|
|
org.rocksdb.CompactionOptionsTest
|
|
org.rocksdb.IngestExternalFileOptionsTest
|
|
org.rocksdb.MutableDBOptionsTest
|
|
org.rocksdb.WriteOptionsTest
|
|
org.rocksdb.SstPartitionerTest
|
|
org.rocksdb.RocksMemEnvTest
|
|
org.rocksdb.CompactionOptionsUniversalTest
|
|
org.rocksdb.ClockCacheTest
|
|
# org.rocksdb.BytewiseComparatorRegressionTest
|
|
org.rocksdb.SnapshotTest
|
|
org.rocksdb.CompactionJobStatsTest
|
|
org.rocksdb.MemTableTest
|
|
org.rocksdb.CompactionFilterFactoryTest
|
|
# org.rocksdb.DefaultEnvTest
|
|
org.rocksdb.DBOptionsTest
|
|
org.rocksdb.WriteBatchTest
|
|
org.rocksdb.RocksIteratorTest
|
|
org.rocksdb.SliceTest
|
|
org.rocksdb.MultiGetTest
|
|
org.rocksdb.ComparatorOptionsTest
|
|
# org.rocksdb.NativeLibraryLoaderTest
|
|
org.rocksdb.StatisticsTest
|
|
org.rocksdb.WALRecoveryModeTest
|
|
org.rocksdb.TransactionLogIteratorTest
|
|
org.rocksdb.ReadOptionsTest
|
|
org.rocksdb.SecondaryDBTest
|
|
org.rocksdb.KeyMayExistTest
|
|
org.rocksdb.BlobOptionsTest
|
|
org.rocksdb.InfoLogLevelTest
|
|
org.rocksdb.CompactionPriorityTest
|
|
org.rocksdb.FlushOptionsTest
|
|
org.rocksdb.VerifyChecksumsTest
|
|
org.rocksdb.MultiColumnRegressionTest
|
|
org.rocksdb.FlushTest
|
|
org.rocksdb.HyperClockCacheTest
|
|
org.rocksdb.PutMultiplePartsTest
|
|
org.rocksdb.StatisticsCollectorTest
|
|
org.rocksdb.LRUCacheTest
|
|
org.rocksdb.ColumnFamilyOptionsTest
|
|
org.rocksdb.TransactionTest
|
|
org.rocksdb.CompactionOptionsFIFOTest
|
|
org.rocksdb.BackupEngineOptionsTest
|
|
org.rocksdb.CheckPointTest
|
|
org.rocksdb.PlainTableConfigTest
|
|
# org.rocksdb.TransactionDBOptionsTest
|
|
org.rocksdb.ReadOnlyTest
|
|
org.rocksdb.EnvOptionsTest
|
|
org.rocksdb.LoggerTest
|
|
org.rocksdb.FilterTest
|
|
# org.rocksdb.ByteBufferUnsupportedOperationTest
|
|
# org.rocksdb.util.IntComparatorTest
|
|
# org.rocksdb.util.JNIComparatorTest
|
|
org.rocksdb.util.SizeUnitTest
|
|
# org.rocksdb.util.BytewiseComparatorTest
|
|
org.rocksdb.util.EnvironmentTest
|
|
# org.rocksdb.util.BytewiseComparatorIntTest
|
|
# org.rocksdb.util.ReverseBytewiseComparatorIntTest
|
|
org.rocksdb.MixedOptionsTest
|
|
org.rocksdb.CompactRangeOptionsTest
|
|
# org.rocksdb.SstFileWriterTest
|
|
org.rocksdb.WalFilterTest
|
|
# org.rocksdb.AbstractTransactionTest
|
|
org.rocksdb.MergeTest
|
|
org.rocksdb.OptionsTest
|
|
org.rocksdb.WriteBatchThreadedTest
|
|
org.rocksdb.MultiGetManyKeysTest
|
|
org.rocksdb.TimedEnvTest
|
|
org.rocksdb.CompactionStopStyleTest
|
|
org.rocksdb.CompactionJobInfoTest
|
|
org.rocksdb.BlockBasedTableConfigTest
|
|
org.rocksdb.BuiltinComparatorTest
|
|
org.rocksdb.RateLimiterTest
|
|
# org.rocksdb.TransactionOptionsTest
|
|
org.rocksdb.WriteBatchWithIndexTest
|
|
org.rocksdb.WriteBatchHandlerTest
|
|
org.rocksdb.OptimisticTransactionDBTest
|
|
org.rocksdb.OptionsUtilTest
|
|
org.rocksdb.OptimisticTransactionTest
|
|
org.rocksdb.MutableColumnFamilyOptionsTest
|
|
org.rocksdb.CompressionOptionsTest
|
|
org.rocksdb.ColumnFamilyTest
|
|
org.rocksdb.SstFileReaderTest
|
|
org.rocksdb.TransactionDBTest
|
|
org.rocksdb.RocksDBTest
|
|
org.rocksdb.MutableOptionsGetSetTest
|
|
# org.rocksdb.OptimisticTransactionOptionsTest
|
|
org.rocksdb.SstFileManagerTest
|
|
org.rocksdb.BackupEngineTest
|
|
org.rocksdb.DirectSliceTest
|
|
org.rocksdb.CompressionTypesTest
|
|
org.rocksdb.MemoryUtilTest
|
|
org.rocksdb.TableFilterTest
|
|
org.rocksdb.TtlDBTest
|
|
org.rocksdb.util.StdErrLoggerTest
|
|
)
|
|
|
|
include(FindJava)
|
|
include(UseJava)
|
|
find_package(JNI)
|
|
|
|
include_directories(${JNI_INCLUDE_DIRS})
|
|
include_directories(${PROJECT_SOURCE_DIR}/java)
|
|
|
|
set(JAVA_TEST_LIBDIR ${PROJECT_SOURCE_DIR}/java/test-libs)
|
|
set(JAVA_TMP_JAR ${JAVA_TEST_LIBDIR}/tmp.jar)
|
|
set(JAVA_JUNIT_JAR ${JAVA_TEST_LIBDIR}/junit-${JAVA_JUNIT_VERSION}.jar)
|
|
set(JAVA_HAMCR_JAR ${JAVA_TEST_LIBDIR}/hamcrest-${JAVA_HAMCR_VERSION}.jar)
|
|
set(JAVA_MOCKITO_JAR ${JAVA_TEST_LIBDIR}/mockito-all-${JAVA_MOCKITO_VERSION}.jar)
|
|
set(JAVA_CGLIB_JAR ${JAVA_TEST_LIBDIR}/cglib-${JAVA_CGLIB_VERSION}.jar)
|
|
set(JAVA_ASSERTJ_JAR ${JAVA_TEST_LIBDIR}/assertj-core-${JAVA_ASSERTJ_VERSION}.jar)
|
|
set(JAVA_TESTCLASSPATH ${JAVA_JUNIT_JAR} ${JAVA_HAMCR_JAR} ${JAVA_MOCKITO_JAR} ${JAVA_CGLIB_JAR} ${JAVA_ASSERTJ_JAR})
|
|
message("CMAKE_SYSTEM_NAME: ${CMAKE_SYSTEM_NAME}")
|
|
message("MINGW: ${MINGW}")
|
|
|
|
if(${CMAKE_SYSTEM_NAME} MATCHES "Windows")
|
|
set(JAVA_RUN_TESTCLASSPATH ${JAVA_JUNIT_JAR}$<SEMICOLON>${JAVA_HAMCR_JAR}$<SEMICOLON>${JAVA_MOCKITO_JAR}$<SEMICOLON>${JAVA_CGLIB_JAR}$<SEMICOLON>${JAVA_ASSERTJ_JAR})
|
|
else()
|
|
set(JAVA_RUN_TESTCLASSPATH ${JAVA_JUNIT_JAR}:${JAVA_HAMCR_JAR}:${JAVA_MOCKITO_JAR}:${JAVA_CGLIB_JAR}:${JAVA_ASSERTJ_JAR})
|
|
endif()
|
|
|
|
set(JNI_OUTPUT_DIR ${PROJECT_SOURCE_DIR}/java/include)
|
|
file(MAKE_DIRECTORY ${JNI_OUTPUT_DIR})
|
|
|
|
if(${Java_VERSION_MINOR} VERSION_LESS_EQUAL "7" AND ${Java_VERSION_MAJOR} STREQUAL "1")
|
|
message(FATAL_ERROR "Detected Java 7 or older (${Java_VERSION_STRING}), minimum required version in now Java 8")
|
|
endif()
|
|
|
|
if(${Java_VERSION_MAJOR} VERSION_GREATER_EQUAL "10" AND ${CMAKE_VERSION} VERSION_LESS "3.11.4")
|
|
# Java 10 and newer don't have javah, but the alternative GENERATE_NATIVE_HEADERS requires CMake 3.11.4 or newer
|
|
message(FATAL_ERROR "Detected Java 10 or newer (${Java_VERSION_STRING}), to build with CMake please upgrade CMake to 3.11.4 or newer")
|
|
|
|
elseif(${CMAKE_VERSION} VERSION_LESS "3.11.4")
|
|
# Old CMake
|
|
message("Using an old CMAKE (${CMAKE_VERSION}) - JNI headers generated in separate step")
|
|
add_jar(
|
|
rocksdbjni_classes
|
|
SOURCES ${JAVA_MAIN_CLASSES}
|
|
)
|
|
|
|
else ()
|
|
# Java 1.8 or newer prepare the JAR...
|
|
message("Preparing Jar for JDK ${Java_VERSION_STRING}")
|
|
message("JAVA_TESTCLASSPATH=${JAVA_TESTCLASSPATH}")
|
|
add_jar(
|
|
rocksdbjni_classes
|
|
SOURCES ${JAVA_MAIN_CLASSES}
|
|
INCLUDE_JARS ${ROCKSDBJNI_CLASSES_JAR_FILE} ${JAVA_TESTCLASSPATH}
|
|
GENERATE_NATIVE_HEADERS rocksdbjni_headers DESTINATION ${JNI_OUTPUT_DIR}
|
|
)
|
|
|
|
endif()
|
|
|
|
add_jar(
|
|
rocksdbjni_test_classes
|
|
SOURCES
|
|
${JAVA_MAIN_CLASSES}
|
|
${JAVA_TEST_CLASSES}
|
|
INCLUDE_JARS ${JAVA_TESTCLASSPATH}
|
|
GENERATE_NATIVE_HEADERS rocksdbjni_test_headers DESTINATION ${JNI_OUTPUT_DIR}
|
|
)
|
|
|
|
if(NOT EXISTS ${PROJECT_SOURCE_DIR}/java/classes)
|
|
file(MAKE_DIRECTORY ${PROJECT_SOURCE_DIR}/java/classes)
|
|
endif()
|
|
|
|
if(NOT EXISTS ${JAVA_TEST_LIBDIR})
|
|
file(MAKE_DIRECTORY mkdir ${JAVA_TEST_LIBDIR})
|
|
endif()
|
|
|
|
if (DEFINED CUSTOM_DEPS_URL)
|
|
set(DEPS_URL ${CUSTOM_DEPS_URL}/)
|
|
else ()
|
|
# Using a Facebook AWS account for S3 storage. (maven.org has a history
|
|
# of failing in Travis builds.)
|
|
set(DEPS_URL "https://rocksdb-deps.s3-us-west-2.amazonaws.com/jars")
|
|
endif()
|
|
|
|
if(NOT EXISTS ${JAVA_JUNIT_JAR})
|
|
message("Downloading ${JAVA_JUNIT_JAR}")
|
|
file(DOWNLOAD ${DEPS_URL}/junit-${JAVA_JUNIT_VERSION}.jar ${JAVA_TMP_JAR} STATUS downloadStatus)
|
|
list(GET downloadStatus 0 error_code)
|
|
list(GET downloadStatus 1 error_message)
|
|
if(NOT error_code EQUAL 0)
|
|
message(FATAL_ERROR "Failed downloading ${JAVA_JUNIT_JAR}: ${error_message}")
|
|
endif()
|
|
file(RENAME ${JAVA_TMP_JAR} ${JAVA_JUNIT_JAR})
|
|
endif()
|
|
if(NOT EXISTS ${JAVA_HAMCR_JAR})
|
|
message("Downloading ${JAVA_HAMCR_JAR}")
|
|
file(DOWNLOAD ${DEPS_URL}/hamcrest-${JAVA_HAMCR_VERSION}.jar ${JAVA_TMP_JAR} STATUS downloadStatus)
|
|
list(GET downloadStatus 0 error_code)
|
|
list(GET downloadStatus 1 error_message)
|
|
if(NOT error_code EQUAL 0)
|
|
message(FATAL_ERROR "Failed downloading ${JAVA_HAMCR_JAR}: ${error_message}")
|
|
endif()
|
|
file(RENAME ${JAVA_TMP_JAR} ${JAVA_HAMCR_JAR})
|
|
endif()
|
|
if(NOT EXISTS ${JAVA_MOCKITO_JAR})
|
|
message("Downloading ${JAVA_MOCKITO_JAR}")
|
|
file(DOWNLOAD ${DEPS_URL}/mockito-all-${JAVA_MOCKITO_VERSION}.jar ${JAVA_TMP_JAR} STATUS downloadStatus)
|
|
list(GET downloadStatus 0 error_code)
|
|
list(GET downloadStatus 1 error_message)
|
|
if(NOT error_code EQUAL 0)
|
|
message(FATAL_ERROR "Failed downloading ${JAVA_MOCKITO_JAR}: ${error_message}")
|
|
endif()
|
|
file(RENAME ${JAVA_TMP_JAR} ${JAVA_MOCKITO_JAR})
|
|
endif()
|
|
if(NOT EXISTS ${JAVA_CGLIB_JAR})
|
|
message("Downloading ${JAVA_CGLIB_JAR}")
|
|
file(DOWNLOAD ${DEPS_URL}/cglib-${JAVA_CGLIB_VERSION}.jar ${JAVA_TMP_JAR} STATUS downloadStatus)
|
|
list(GET downloadStatus 0 error_code)
|
|
list(GET downloadStatus 1 error_message)
|
|
if(NOT error_code EQUAL 0)
|
|
message(FATAL_ERROR "Failed downloading ${JAVA_CGLIB_JAR}: ${error_message}")
|
|
endif()
|
|
file(RENAME ${JAVA_TMP_JAR} ${JAVA_CGLIB_JAR})
|
|
endif()
|
|
if(NOT EXISTS ${JAVA_ASSERTJ_JAR})
|
|
message("Downloading ${JAVA_ASSERTJ_JAR}")
|
|
file(DOWNLOAD ${DEPS_URL}/assertj-core-${JAVA_ASSERTJ_VERSION}.jar ${JAVA_TMP_JAR} STATUS downloadStatus)
|
|
list(GET downloadStatus 0 error_code)
|
|
list(GET downloadStatus 1 error_message)
|
|
if(NOT error_code EQUAL 0)
|
|
message(FATAL_ERROR "Failed downloading ${JAVA_ASSERTJ_JAR}: ${error_message}")
|
|
endif()
|
|
file(RENAME ${JAVA_TMP_JAR} ${JAVA_ASSERTJ_JAR})
|
|
endif()
|
|
|
|
if(${CMAKE_VERSION} VERSION_LESS "3.11.4")
|
|
# Old CMake ONLY generate JNI headers, otherwise JNI is handled in add_jar step above
|
|
message("Preparing JNI headers for old CMake (${CMAKE_VERSION})")
|
|
set(NATIVE_JAVA_CLASSES
|
|
org.rocksdb.AbstractCompactionFilter
|
|
org.rocksdb.AbstractCompactionFilterFactory
|
|
org.rocksdb.AbstractComparator
|
|
org.rocksdb.AbstractEventListener
|
|
org.rocksdb.AbstractImmutableNativeReference
|
|
org.rocksdb.AbstractNativeReference
|
|
org.rocksdb.AbstractRocksIterator
|
|
org.rocksdb.AbstractSlice
|
|
org.rocksdb.AbstractTableFilter
|
|
org.rocksdb.AbstractTraceWriter
|
|
org.rocksdb.AbstractTransactionNotifier
|
|
org.rocksdb.AbstractWalFilter
|
|
org.rocksdb.BackupEngineOptions
|
|
org.rocksdb.BackupEngine
|
|
org.rocksdb.BlockBasedTableConfig
|
|
org.rocksdb.BloomFilter
|
|
org.rocksdb.CassandraCompactionFilter
|
|
org.rocksdb.CassandraValueMergeOperator
|
|
org.rocksdb.Checkpoint
|
|
org.rocksdb.ClockCache
|
|
org.rocksdb.Cache
|
|
org.rocksdb.ColumnFamilyHandle
|
|
org.rocksdb.ColumnFamilyOptions
|
|
org.rocksdb.CompactionJobInfo
|
|
org.rocksdb.CompactionJobStats
|
|
org.rocksdb.CompactionOptions
|
|
org.rocksdb.CompactionOptionsFIFO
|
|
org.rocksdb.CompactionOptionsUniversal
|
|
org.rocksdb.CompactRangeOptions
|
|
org.rocksdb.ComparatorOptions
|
|
org.rocksdb.CompressionOptions
|
|
org.rocksdb.ConcurrentTaskLimiterImpl
|
|
org.rocksdb.ConfigOptions
|
|
org.rocksdb.DBOptions
|
|
org.rocksdb.DirectSlice
|
|
org.rocksdb.Env
|
|
org.rocksdb.EnvOptions
|
|
org.rocksdb.Filter
|
|
org.rocksdb.FlushOptions
|
|
org.rocksdb.HashLinkedListMemTableConfig
|
|
org.rocksdb.HashSkipListMemTableConfig
|
|
org.rocksdb.HyperClockCache
|
|
org.rocksdb.IngestExternalFileOptions
|
|
org.rocksdb.Logger
|
|
org.rocksdb.LRUCache
|
|
org.rocksdb.MemoryUtil
|
|
org.rocksdb.MemTableConfig
|
|
org.rocksdb.NativeComparatorWrapper
|
|
org.rocksdb.NativeLibraryLoader
|
|
org.rocksdb.OptimisticTransactionDB
|
|
org.rocksdb.OptimisticTransactionOptions
|
|
org.rocksdb.Options
|
|
org.rocksdb.OptionsUtil
|
|
org.rocksdb.PersistentCache
|
|
org.rocksdb.PlainTableConfig
|
|
org.rocksdb.RateLimiter
|
|
org.rocksdb.ReadOptions
|
|
org.rocksdb.RemoveEmptyValueCompactionFilter
|
|
org.rocksdb.RestoreOptions
|
|
org.rocksdb.RocksCallbackObject
|
|
org.rocksdb.RocksDB
|
|
org.rocksdb.RocksEnv
|
|
org.rocksdb.RocksIterator
|
|
org.rocksdb.RocksIteratorInterface
|
|
org.rocksdb.RocksMemEnv
|
|
org.rocksdb.RocksMutableObject
|
|
org.rocksdb.RocksObject
|
|
org.rocksdb.SkipListMemTableConfig
|
|
org.rocksdb.Slice
|
|
org.rocksdb.Snapshot
|
|
org.rocksdb.SstFileManager
|
|
org.rocksdb.SstFileWriter
|
|
org.rocksdb.SstFileReader
|
|
org.rocksdb.SstFileReaderIterator
|
|
org.rocksdb.SstPartitionerFactory
|
|
org.rocksdb.SstPartitionerFixedPrefixFactory
|
|
org.rocksdb.Statistics
|
|
org.rocksdb.StringAppendOperator
|
|
org.rocksdb.TableFormatConfig
|
|
org.rocksdb.ThreadStatus
|
|
org.rocksdb.TimedEnv
|
|
org.rocksdb.Transaction
|
|
org.rocksdb.TransactionDB
|
|
org.rocksdb.TransactionDBOptions
|
|
org.rocksdb.TransactionLogIterator
|
|
org.rocksdb.TransactionOptions
|
|
org.rocksdb.TtlDB
|
|
org.rocksdb.UInt64AddOperator
|
|
org.rocksdb.VectorMemTableConfig
|
|
org.rocksdb.WBWIRocksIterator
|
|
org.rocksdb.WriteBatch
|
|
org.rocksdb.WriteBatch.Handler
|
|
org.rocksdb.WriteBatchInterface
|
|
org.rocksdb.WriteBatchWithIndex
|
|
org.rocksdb.WriteOptions
|
|
org.rocksdb.NativeComparatorWrapperTest
|
|
org.rocksdb.RocksDBExceptionTest
|
|
org.rocksdb.SnapshotTest
|
|
org.rocksdb.WriteBatchTest
|
|
org.rocksdb.WriteBatchTestInternalHelper
|
|
org.rocksdb.WriteBufferManager
|
|
org.rocksdb.test.TestableEventListener
|
|
)
|
|
|
|
create_javah(
|
|
TARGET rocksdbjni_headers
|
|
CLASSES ${NATIVE_JAVA_CLASSES}
|
|
CLASSPATH rocksdbjni_classes ${JAVA_TESTCLASSPATH}
|
|
OUTPUT_DIR ${JNI_OUTPUT_DIR}
|
|
)
|
|
endif()
|
|
|
|
if(NOT MSVC)
|
|
set_property(TARGET ${ROCKSDB_STATIC_LIB} PROPERTY POSITION_INDEPENDENT_CODE ON)
|
|
endif()
|
|
|
|
set(ROCKSDBJNI_STATIC_LIB rocksdbjni${ARTIFACT_SUFFIX})
|
|
if(MINGW)
|
|
# Build mingw only as staic library.
|
|
add_library(${ROCKSDBJNI_STATIC_LIB} ${JNI_NATIVE_SOURCES})
|
|
else()
|
|
add_library(${ROCKSDBJNI_STATIC_LIB} SHARED ${JNI_NATIVE_SOURCES})
|
|
endif()
|
|
add_dependencies(${ROCKSDBJNI_STATIC_LIB} rocksdbjni_headers)
|
|
target_link_libraries(${ROCKSDBJNI_STATIC_LIB} ${ROCKSDB_STATIC_LIB} ${ROCKSDB_LIB})
|
|
|
|
if(NOT MINGW)
|
|
set(ROCKSDBJNI_SHARED_LIB rocksdbjni-shared${ARTIFACT_SUFFIX})
|
|
add_library(${ROCKSDBJNI_SHARED_LIB} SHARED ${JNI_NATIVE_SOURCES})
|
|
add_dependencies(${ROCKSDBJNI_SHARED_LIB} rocksdbjni_headers)
|
|
target_link_libraries(${ROCKSDBJNI_SHARED_LIB} ${ROCKSDB_STATIC_LIB} ${ROCKSDB_LIB})
|
|
|
|
set_target_properties(
|
|
${ROCKSDBJNI_SHARED_LIB}
|
|
PROPERTIES
|
|
COMPILE_PDB_OUTPUT_DIRECTORY ${CMAKE_CFG_INTDIR}
|
|
COMPILE_PDB_NAME ${ROCKSDBJNI_STATIC_LIB}.pdb
|
|
)
|
|
endif()
|
|
|
|
# Javadoc Jar
|
|
set(ROCKSDB_JAVADOC_JAR rocksdbjni-${CMAKE_PROJECT_VERSION}-javadoc.jar)
|
|
create_javadoc(rocksdb
|
|
PACKAGES org.rocksdb org.rocksdb.util
|
|
SOURCEPATH "${PROJECT_SOURCE_DIR}/java/src/main/java"
|
|
WINDOWTITLE "RocksDB Java API JavaDoc"
|
|
AUTHOR FALSE
|
|
USE FALSE
|
|
VERSION TRUE
|
|
)
|
|
add_custom_target(rocksdb_javadocs_jar ALL
|
|
COMMAND ${Java_JAR_EXECUTABLE} cvf ${CMAKE_CURRENT_BINARY_DIR}/${ROCKSDB_JAVADOC_JAR} -C ${CMAKE_CURRENT_BINARY_DIR}/javadoc/rocksdb .
|
|
BYPRODUCTS ${CMAKE_CURRENT_BINARY_DIR}/${ROCKSDB_JAVADOC_JAR}
|
|
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
|
|
DEPENDS rocksdb_javadoc
|
|
)
|
|
|
|
# Sources Jar
|
|
set(ROCKSDB_SOURCES_JAR rocksdbjni-${CMAKE_PROJECT_VERSION}-sources.jar)
|
|
add_custom_target(rocksdb_sources_jar ALL
|
|
${Java_JAR_EXECUTABLE} cvf ${CMAKE_CURRENT_BINARY_DIR}/${ROCKSDB_SOURCES_JAR} -C ${PROJECT_SOURCE_DIR}/java/src/main/java/ .
|
|
BYPRODUCTS ${CMAKE_CURRENT_BINARY_DIR}/${ROCKSDB_SOURCES_JAR}
|
|
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
|
|
)
|
|
|
|
set(bitness 32)
|
|
if(CMAKE_SIZEOF_VOID_P EQUAL 8)
|
|
set(bitness 64)
|
|
endif()
|
|
|
|
if(${CMAKE_SYSTEM_NAME} MATCHES "Windows")
|
|
set_target_properties(
|
|
${ROCKSDBJNI_STATIC_LIB}
|
|
PROPERTIES
|
|
OUTPUT_NAME librocksdbjni-win${bitness}
|
|
)
|
|
set(ROCKSDB_JAR rocksdbjni-${CMAKE_PROJECT_VERSION}-win${bitness}.jar)
|
|
elseif(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
|
|
set_target_properties(
|
|
${ROCKSDBJNI_STATIC_LIB}
|
|
PROPERTIES
|
|
OUTPUT_NAME "rocksdbjni-linux${bitness}"
|
|
)
|
|
set(ROCKSDB_JAR rocksdbjni-${CMAKE_PROJECT_VERSION}-linux${bitness}.jar)
|
|
elseif(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
|
|
set_target_properties(
|
|
${ROCKSDBJNI_STATIC_LIB}
|
|
PROPERTIES
|
|
OUTPUT_NAME rocksdbjni-osx-${CMAKE_SYSTEM_PROCESSOR}
|
|
)
|
|
set_target_properties(
|
|
${ROCKSDBJNI_STATIC_LIB}
|
|
PROPERTIES
|
|
SUFFIX ".jnilib"
|
|
)
|
|
set(ROCKSDB_JAR rocksdbjni-${CMAKE_PROJECT_VERSION}-osx.jar)
|
|
else()
|
|
set(ROCKSDB_JAR rocksdb-${CMAKE_PROJECT_VERSION}.jar)
|
|
endif()
|
|
|
|
get_target_property(ROCKS_JAR_FILE rocksdbjni_classes JAR_FILE)
|
|
|
|
add_custom_target(rocksdbjava ALL
|
|
COMMAND ${CMAKE_COMMAND} -E copy ${ROCKS_JAR_FILE} ${CMAKE_CURRENT_BINARY_DIR}/${ROCKSDB_JAR}
|
|
COMMAND ${Java_JAR_EXECUTABLE} -uf ${CMAKE_CURRENT_BINARY_DIR}/${ROCKSDB_JAR} -C $<TARGET_FILE_DIR:${ROCKSDBJNI_STATIC_LIB}> $<TARGET_FILE_NAME:${ROCKSDBJNI_STATIC_LIB}>
|
|
COMMAND ${Java_JAR_EXECUTABLE} -uf ${CMAKE_CURRENT_BINARY_DIR}/${ROCKSDB_JAR} -C ${CMAKE_CURRENT_SOURCE_DIR} HISTORY-JAVA.md
|
|
DEPENDS ${ROCKSDBJNI_STATIC_LIB} rocksdbjni_classes
|
|
BYPRODUCTS ${ROCKSDB_JAR}
|
|
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
|
|
)
|
|
|
|
enable_testing()
|
|
get_target_property(ROCKSDBJNI_CLASSES_TEST_JAR_FILE rocksdbjni_test_classes JAR_FILE)
|
|
foreach (CLAZZ ${JAVA_TEST_RUNNING_CLASSES})
|
|
if(${CMAKE_SYSTEM_NAME} MATCHES "Windows")
|
|
add_test(
|
|
NAME jtest_${CLAZZ}
|
|
COMMAND ${Java_JAVA_EXECUTABLE} ${JVMARGS} -ea -Xcheck:jni -Djava.library.path=${PROJECT_BINARY_DIR}/java/${CMAKE_BUILD_TYPE} -classpath ${CMAKE_CURRENT_BINARY_DIR}/${ROCKSDB_JAR}$<SEMICOLON>${JAVA_RUN_TESTCLASSPATH}$<SEMICOLON>${ROCKSDBJNI_CLASSES_TEST_JAR_FILE} org.rocksdb.test.RocksJunitRunner ${CLAZZ}
|
|
)
|
|
else()
|
|
add_test(
|
|
NAME jtest_${CLAZZ}
|
|
COMMAND ${Java_JAVA_EXECUTABLE} ${JVMARGS} -ea -Xcheck:jni -Djava.library.path=${PROJECT_BINARY_DIR}/java -classpath ${JAVA_RUN_TESTCLASSPATH}:${ROCKSDBJNI_CLASSES_TEST_JAR_FILE} org.rocksdb.test.RocksJunitRunner ${CLAZZ}
|
|
)
|
|
endif()
|
|
endforeach(CLAZZ)
|