diff --git a/java/org/rocksdb/test/ColumnFamilyTest.java b/java/org/rocksdb/test/ColumnFamilyTest.java index fb95e8010846ff05129ab9dfd115ce5d71e783d9..bf568b5e80580eceb3ea88b5ce854f930975586f 100644 --- a/java/org/rocksdb/test/ColumnFamilyTest.java +++ b/java/org/rocksdb/test/ColumnFamilyTest.java @@ -259,7 +259,8 @@ public class ColumnFamilyTest { new ArrayList<>(); List columnFamilyHandleList = new ArrayList<>(); - cfNames.add(new ColumnFamilyDescriptor(RocksDB.DEFAULT_COLUMN_FAMILY)); + cfNames.add(new ColumnFamilyDescriptor(RocksDB.DEFAULT_COLUMN_FAMILY, + new ColumnFamilyOptions().setMergeOperator(new StringAppendOperator()))); cfNames.add(new ColumnFamilyDescriptor("new_cf".getBytes())); db = RocksDB.open(opt, dbFolder.getRoot().getAbsolutePath(), @@ -268,6 +269,10 @@ public class ColumnFamilyTest { WriteBatch writeBatch = new WriteBatch(); WriteOptions writeOpt = new WriteOptions(); writeBatch.put("key".getBytes(), "value".getBytes()); + writeBatch.put(db.getDefaultColumnFamily(), + "mergeKey".getBytes(), "merge".getBytes()); + writeBatch.merge(db.getDefaultColumnFamily(), "mergeKey".getBytes(), + "merge".getBytes()); writeBatch.put(columnFamilyHandleList.get(1), "newcfkey".getBytes(), "value".getBytes()); writeBatch.put(columnFamilyHandleList.get(1), "newcfkey2".getBytes(), @@ -283,6 +288,9 @@ public class ColumnFamilyTest { assertThat(new String(db.get(columnFamilyHandleList.get(1), "newcfkey2".getBytes()))).isEqualTo("value2"); assertThat(new String(db.get("key".getBytes()))).isEqualTo("value"); + // check if key is merged + assertThat(new String(db.get(db.getDefaultColumnFamily(), + "mergeKey".getBytes()))).isEqualTo("merge,merge"); } finally { if (db != null) { db.close(); diff --git a/java/org/rocksdb/test/DirectSliceTest.java b/java/org/rocksdb/test/DirectSliceTest.java index a50664867759ba021f613b35a20703c054c0037a..20a44a9041ff722bdb1fa53d9a5b108f7d916322 100644 --- a/java/org/rocksdb/test/DirectSliceTest.java +++ b/java/org/rocksdb/test/DirectSliceTest.java @@ -48,8 +48,10 @@ public class DirectSliceTest { DirectSlice directSlice = null; try { byte[] data = "Some text".getBytes(); - ByteBuffer buffer = ByteBuffer.allocateDirect(data.length); + ByteBuffer buffer = ByteBuffer.allocateDirect(data.length + 1); buffer.put(data); + buffer.put(data.length, (byte)0); + directSlice = new DirectSlice(buffer); assertThat(directSlice.toString()).isEqualTo("Some text"); } finally { diff --git a/java/org/rocksdb/test/FlushTest.java b/java/org/rocksdb/test/FlushTest.java index 9dea7e753c91be4a3822554e28908dfed4aea042..3bfdb31147da87b55859cda55f9178d9d2827cd1 100644 --- a/java/org/rocksdb/test/FlushTest.java +++ b/java/org/rocksdb/test/FlushTest.java @@ -36,6 +36,7 @@ public class FlushTest { wOpt = new WriteOptions(); flushOptions = new FlushOptions(); flushOptions.setWaitForFlush(true); + assertThat(flushOptions.waitForFlush()).isTrue(); wOpt.setDisableWAL(true); db = RocksDB.open(options, dbFolder.getRoot().getAbsolutePath()); db.put(wOpt, "key1".getBytes(), "value1".getBytes());