]> git-server-git.apps.pok.os.sepia.ceph.com Git - rocksdb.git/log
rocksdb.git
7 years agoUpdate history and bump patch number v5.12.2
Sagar Vemuri [Fri, 23 Mar 2018 18:39:50 +0000 (11:39 -0700)]
Update history and bump patch number

7 years agoShared block cache in RocksJava
Sagar Vemuri [Thu, 22 Mar 2018 01:31:21 +0000 (18:31 -0700)]
Shared block cache in RocksJava

Summary:
Changes to support sharing block cache using the Java API.

Previously DB instances could share the block cache only when the same Options instance is passed to all the DB instances. But now, with this change, it is possible to explicitly create a cache and pass it to multiple options instances, to share the block cache.

Implementing this for [Rocksandra](https://github.com/instagram/cassandra/tree/rocks_3.0), but this feature has been requested by many java api users over the years.
Closes https://github.com/facebook/rocksdb/pull/3623

Differential Revision: D7305794

Pulled By: sagar0

fbshipit-source-id: 03e4e8ed7aeee6f88bada4a8365d4279ede2ad71

7 years agoFsync after writing global seq number in ExternalSstFileIngestionJob
Sagar Vemuri [Fri, 23 Mar 2018 00:34:52 +0000 (17:34 -0700)]
Fsync after writing global seq number in ExternalSstFileIngestionJob

Summary:
Fsync after writing global sequence number to the ingestion file in ExternalSstFileIngestionJob. Otherwise the file metadata could be incorrect.
Closes https://github.com/facebook/rocksdb/pull/3644

Differential Revision: D7373813

Pulled By: sagar0

fbshipit-source-id: 4da2c9e71a8beb5c08b4ac955f288ee1576358b8

7 years agoupdate history and bump patch number
Andrew Kryczka [Fri, 16 Mar 2018 21:09:20 +0000 (14:09 -0700)]
update history and bump patch number

7 years agoFix WAL corruption from checkpoint/backup race condition
Andrew Kryczka [Fri, 16 Mar 2018 21:08:01 +0000 (14:08 -0700)]
Fix WAL corruption from checkpoint/backup race condition

Summary:
`Writer::WriteBuffer` was always called at the beginning of checkpoint/backup. But that log writer has no internal synchronization, which meant the same buffer could be flushed twice in a race condition case, causing a WAL entry to be duplicated. Then subsequent WAL entries would be at unexpected offsets, causing the 32KB block boundaries to be overlapped and manifesting as a corruption.

This PR fixes the behavior to only use `WriteBuffer` (via `FlushWAL`) in checkpoint/backup when manual WAL flush is enabled. In that case, users are responsible for providing synchronization between WAL flushes. We can also consider removing the call entirely.
Closes https://github.com/facebook/rocksdb/pull/3603

Differential Revision: D7277447

Pulled By: ajkr

fbshipit-source-id: 1b15bd7fd930511222b075418c10de0aaa70a35a

7 years agoJava wrapper for Native Comparators
Adam Retter [Thu, 8 Mar 2018 19:16:46 +0000 (11:16 -0800)]
Java wrapper for Native Comparators

Summary:
This is an abstraction for working with custom Comparators implemented in native C++ code from Java. Native code must directly extend `rocksdb::Comparator`. When the native code comparator is compiled into the RocksDB codebase, you can then create a Java Class, and JNI stub to wrap it.

Useful if the C++/JNI barrier overhead is too much for your applications comparator performance.

An example is provided in `java/rocksjni/native_comparator_wrapper_test.cc` and `java/src/main/java/org/rocksdb/NativeComparatorWrapperTest.java`.
Closes https://github.com/facebook/rocksdb/pull/3334

Differential Revision: D7172605

Pulled By: miasantreble

fbshipit-source-id: e24b7eb267a3bcb6afa214e0379a1d5e8a2ceabe

7 years agoAdded bytes XOR merge operator
Pooya Shareghi [Tue, 6 Mar 2018 18:20:52 +0000 (10:20 -0800)]
Added bytes XOR merge operator

Summary:
Closes https://github.com/facebook/rocksdb/pull/575

I fixed the merge conflicts etc.
Closes https://github.com/facebook/rocksdb/pull/3065

Differential Revision: D7128233

Pulled By: sagar0

fbshipit-source-id: 2c23a48c9f0432c290b0cd16a12fb691bb37820c

7 years agoBrings the Java API for WriteBatch inline with the C++ API
Adam Retter [Fri, 2 Mar 2018 23:33:08 +0000 (15:33 -0800)]
Brings the Java API for WriteBatch inline with the C++ API

Summary:
* Exposes status
* Corrects some method naming
* Adds missing functionality
Closes https://github.com/facebook/rocksdb/pull/3550

Differential Revision: D7140790

Pulled By: sagar0

fbshipit-source-id: cbdab6c5a7ae4f3030fb46739e9060e381b26fa6

7 years agoAdd TransactionDB and OptimisticTransactionDB to the Java API
Adam Retter [Fri, 2 Mar 2018 18:22:38 +0000 (10:22 -0800)]
Add TransactionDB and OptimisticTransactionDB to the Java API

Summary:
Closes https://github.com/facebook/rocksdb/issues/697
Closes https://github.com/facebook/rocksdb/issues/1151
Closes https://github.com/facebook/rocksdb/pull/1298

Differential Revision: D7131402

Pulled By: sagar0

fbshipit-source-id: bcd34ce95ed88cc641786089ff4232df7b2f089f

7 years agoFix a block pinning regression introduced in b555ed30a4a93b80a3ac4781c6721ab988e03b5b
Siying Dong [Thu, 8 Mar 2018 18:09:59 +0000 (10:09 -0800)]
Fix a block pinning regression introduced in b555ed30a4a93b80a3ac4781c6721ab988e03b5b

Summary:
b555ed30a4a93b80a3ac4781c6721ab988e03b5b introduces a regression, which causes blocks always to be pinned in block based iterators. Fix it.
Closes https://github.com/facebook/rocksdb/pull/3582

Differential Revision: D7189534

Pulled By: siying

fbshipit-source-id: 117dc7a03d0a0e360424db02efb366e12da2be03