Commit graph

2682 commits

Author SHA1 Message Date
Tomislav Novak 88edfd90ae SkipListRep::LookaheadIterator
Summary:
This diff introduces the `lookahead` argument to `SkipListFactory()`. This is an
optimization for the tailing use case which includes many seeks. E.g. consider
the following operations on a skip list iterator:

   Seek(x), Next(), Next(), Seek(x+2), Next(), Seek(x+3), Next(), Next(), ...

If `lookahead` is positive, `SkipListRep` will return an iterator which also
keeps track of the previously visited node. Seek() then first does a linear
search starting from that node (up to `lookahead` steps). As in the tailing
example above, this may require fewer than ~log(n) comparisons as with regular
skip list search.

Test Plan:
Added a new benchmark (`fillseekseq`) which simulates the usage pattern. It
first writes N records (with consecutive keys), then measures how much time it
takes to read them by calling `Seek()` and `Next()`.

   $ time ./db_bench -num 10000000 -benchmarks fillseekseq -prefix_size 1 \
      -key_size 8 -write_buffer_size $[1024*1024*1024] -value_size 50 \
      -seekseq_next 2 -skip_list_lookahead=0
   [...]
   DB path: [/dev/shm/rocksdbtest/dbbench]
   fillseekseq  :       0.389 micros/op 2569047 ops/sec;

   real    0m21.806s
   user    0m12.106s
   sys     0m9.672s

   $ time ./db_bench [...] -skip_list_lookahead=2
   [...]
   DB path: [/dev/shm/rocksdbtest/dbbench]
   fillseekseq  :       0.153 micros/op 6540684 ops/sec;

   real    0m19.469s
   user    0m10.192s
   sys     0m9.252s

Reviewers: ljin, sdong, igor

Reviewed By: igor

Subscribers: dhruba, leveldb, march, lovro

Differential Revision: https://reviews.facebook.net/D23997
2014-10-07 11:48:23 -07:00
Igor Canadi 6a443309d8 Merge pull request #342 from fyrz/java_makefile_fix
RocksJava Makefile includes incorrect paths to version.h
2014-10-07 11:47:23 -07:00
fyrz 4f272408c5 RocksJava Makefile includes incorrect paths to version.h 2014-10-07 20:43:04 +02:00
Igor Canadi f78b832e5d Log RocksDB version
Summary: This will be much easier than reviewing git sha's we currently have in our LOGs

Test Plan: none

Reviewers: sdong, yhchiang, ljin

Reviewed By: ljin

Subscribers: leveldb

Differential Revision: https://reviews.facebook.net/D24591
2014-10-07 10:40:57 -07:00
Lei Jin 25f6a852e4 add db_test for changing memtable size
Summary:
The test only covers changing write_buffer_size. Other changable
parameters such bloom bits/probes are not obvious how to test.
Suggestions are welcome

Test Plan: db_test

Reviewers: sdong, yhchiang, igor

Reviewed By: igor

Subscribers: leveldb

Differential Revision: https://reviews.facebook.net/D24429
2014-10-07 10:40:45 -07:00
ankgup87 daab6dc511 Merge pull request #318 from criccomini/master
Build RocksDB JNI cross-platform fat jar
2014-10-07 09:53:20 -07:00
Igor Canadi 63eade401a Fix error introduced by merge 2014-10-07 09:50:29 -07:00
Igor Canadi ba882972fd Merge pull request #340 from nbougalis/nullderef
Avoid dereferencing a null field
2014-10-07 09:48:21 -07:00
Igor Canadi 6bcff9dc28 Merge pull request #341 from fyrz/arc-lint
Removed code which prevents `arc lint` from working properly.
2014-10-07 09:44:08 -07:00
fyrz d6169954bd Removed code which prevents arc lint from working properly. 2014-10-07 17:40:19 +02:00
Nik Bougalis b87db07152 Avoid dereferencing a null field 2014-10-07 01:40:29 -07:00
Igor Canadi 1a1b953471 Merge pull request #270 from tdfischer/check-with-unity
Build unity build on make check
2014-10-06 23:07:07 -07:00
ankgup87 e107b6b2ae Merge pull request #337 from fyrz/cross-platform-jdb_bench
Cross platform fix for Java benchmark shell script.
2014-10-06 10:38:13 -07:00
Igor Canadi 70e401a2ea Merge pull request #338 from fyrz/rm_obs_code_write_batch_with_index_test
Replaced obsolete comparator with builtin variant.
2014-10-06 09:09:37 -07:00
Chris Riccomini 1e5a52815b update release readme 2014-10-06 08:24:51 -07:00
Chris Riccomini d44871e80f fix java doc directory in git ignore 2014-10-06 08:23:31 -07:00
Chris Riccomini 2a4d6e7960 merge master to resolve merge conflicts 2014-10-06 08:22:55 -07:00
Chris Riccomini 6b2c1d9620 make publish jni jars depend on release jni jars 2014-10-06 08:20:56 -07:00
fyrz 1c7c764761 Replaced obsolete comparator with builtin variant. 2014-10-05 21:51:09 +02:00
fyrz 22c64be439 Cross platform fix for Java benchmark shell script. 2014-10-05 10:46:55 +02:00
Igor Canadi 81828592b8 Merge pull request #335 from fyrz/version-script-cross-platform
Cross-platform fix version.sh
2014-10-04 11:58:07 -07:00
fyrz 69d4c5123e Cross-platform fix version.sh
version.sh now works also on linux properly.
2014-10-04 11:17:06 +02:00
ankgup87 fcd13a77ad Merge pull request #334 from fyrz/JavaDoc-Cleanup
JavaDoc fixes & enhancements RocksJava
2014-10-03 14:47:30 -07:00
ankgup87 bfb0246f50 Merge pull request #331 from fyrz/findbug_issues
Fixed Findbugs issues in RocksJava
2014-10-03 14:46:41 -07:00
fyrz 05204bb119 Lint changes 2014-10-03 21:43:47 +02:00
fyrz da8ff9ff89 Fixed Findbugs issues
- BackupableDB missing call to super.finalize(major)
- WriteBatchTest inefficient String usage(minor)
- RocksDB local dead variable store(medium)
2014-10-03 12:20:40 +02:00
fyrz a5757ff3c2 Listing of changes
- JavaDoc readability of RocksObject JavaDoc
- JavaDoc improvements BlockBasedTableConfig, GenericRateLimiterConfig, RocksDB
- JavaDoc improvements MemTableConfig
- JavaDoc improvements RocksObject
- JavaDoc improvements GenericRateLimiterConfig
- JavaDoc improvements ReadOptions
- JavaDoc improvements RateLimiterConfig
- JavaDoc improvements RestoreOptions
- JavaDoc improvements RestoreBackupableDB
- JavaDoc improvements BlockBasedTableConfig
- JavaDoc improvements Options
- JavaDoc improvements BackupableDB and BackupableDBOptions
2014-10-03 11:59:54 +02:00
Yueh-Hsuan Chiang df3373fbf7 [Java] Fix compile error on DbBenchmark.java
Summary:
Fix compile error on DbBenchmark.java

Test Plan:
make rocksdbjava
make jdb_bench
2014-10-03 02:14:43 -07:00
Yueh-Hsuan Chiang 4eb5a40f7d [Java] Fixed link error on library loading on Mac.
Summary:
Fixed link error on library loading on Mac.

Test Plan:
make rocksdbjava
make jtest
2014-10-03 02:10:51 -07:00
Yueh-Hsuan Chiang 56dfd363fd Fix a check in database shutdown or Column family drop during flush.
Summary:
Fix a check in database shutdown or Column family drop during flush.

Special thanks to Maurice Barnum who spots the problem :)

Test Plan: db_test

Reviewers: ljin, igor, sdong

Reviewed By: sdong

Subscribers: leveldb

Differential Revision: https://reviews.facebook.net/D24273
2014-10-03 00:25:27 -07:00
Yueh-Hsuan Chiang 0e516a75da Fix lint errors in java/rocksjni/options.cc
Summary:
Fix lint errors in java/rocksjni/options.cc

Test Plan:
make rocksdbjava
2014-10-03 00:10:58 -07:00
sdong 8ea232b9e3 Add number of records dropped in compaction summary
Summary:
Add two stats to compaction summary:
1. Total input records from previous level
2. Total number of records dropped after compaction

Test Plan: See outputs of printing when runnning locally

Reviewers: ljin, igor, MarkCallaghan

Reviewed By: MarkCallaghan

Subscribers: leveldb

Differential Revision: https://reviews.facebook.net/D24411
2014-10-02 17:54:25 -07:00
sdong f4086a88b4 perf_context.get_from_output_files_time is set for MultiGet() and ReadOnly DB too.
Summary: perf_context.get_from_output_files_time is now only set writable DB's DB::Get(). Extend it to MultiGet() and read only DB.

Test Plan:
make all check
Fix perf_context_test and extend it to cover MultiGet(), as long as read-only DB. Run it and watch the results

Reviewers: ljin, yhchiang, igor

Reviewed By: igor

Subscribers: rven, leveldb

Differential Revision: https://reviews.facebook.net/D24207
2014-10-02 17:02:50 -07:00
Chris Riccomini e869fc6a88 remove proper javadoc directory 2014-10-02 15:46:49 -07:00
Igor Canadi c1273533bd Merge pull request #333 from nbougalis/cleanups
Don't return (or dereference) dangling pointer
2014-10-02 15:14:40 -07:00
Chris Riccomini 99744e0c4b bump version to 3.6 2014-10-02 14:59:20 -07:00
Chris Riccomini 45d526e226 singular javadoc directory 2014-10-02 14:57:18 -07:00
Chris Riccomini 378f321da2 merge master to resolve merge conflicts 2014-10-02 14:52:10 -07:00
Chris Riccomini a1d3f0d2b2 don't fail if javadocs diretory doesn't exist 2014-10-02 14:49:46 -07:00
Chris Riccomini c832f1644a add not about updating pom version and rename pom to be unversioned 2014-10-02 14:42:49 -07:00
Nik Bougalis a213971d8a Don't return (or dereference) dangling pointer 2014-10-02 14:33:16 -07:00
Chris Riccomini 2a1add6731 use proper major/minor/micro version rather than hard coding 3.5.0 2014-10-02 14:31:14 -07:00
Chris Riccomini 2d72f7807f update release docs in java 2014-10-02 14:26:52 -07:00
Chris Riccomini 8322cf0006 use javadoc instead of javadocs 2014-10-02 14:13:09 -07:00
Igor Canadi 079a612b5e Fix build_tools/version.sh 2014-10-02 14:03:49 -07:00
Chris Riccomini 2e80124982 add javadoc and sources targets for sonatype 2014-10-02 13:57:54 -07:00
Chris Riccomini df08a2d03c add single rocksdbjni pom 2014-10-02 13:47:07 -07:00
Chris Riccomini deefcf476d make fat jar unclassified to satisfy sonatype 2014-10-02 13:46:43 -07:00
Chris Riccomini fd2545c80a add maven publication target and instructions 2014-10-02 13:29:47 -07:00
ankgup87 1e9af10ef8 Merge pull request #330 from fyrz/setFilterPolicyForBBTConfig
BlockBasedTableConfig Filter policy support RocksJava
2014-10-02 13:11:30 -07:00