Merge pull request #524 from fyrz/RocksJava-Test-Fix
[RocksJava] Fix JTest issues with enabled assertions. Closes https://github.com/facebook/rocksdb/issues/523
This commit is contained in:
commit
756532daf5
@ -418,9 +418,11 @@ public class DbBenchmark {
|
|||||||
stats_.found_++;
|
stats_.found_++;
|
||||||
stats_.finishedSingleOp(iter.key().length + iter.value().length);
|
stats_.finishedSingleOp(iter.key().length + iter.value().length);
|
||||||
if (isFinished()) {
|
if (isFinished()) {
|
||||||
|
iter.dispose();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
iter.dispose();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -26,8 +26,7 @@ public enum HistogramType {
|
|||||||
SOFT_RATE_LIMIT_DELAY_COUNT(16),
|
SOFT_RATE_LIMIT_DELAY_COUNT(16),
|
||||||
NUM_FILES_IN_SINGLE_COMPACTION(17),
|
NUM_FILES_IN_SINGLE_COMPACTION(17),
|
||||||
DB_SEEK(18),
|
DB_SEEK(18),
|
||||||
WRITE_STALL(19),
|
WRITE_STALL(19);
|
||||||
HISTOGRAM_ENUM_MAX(20);
|
|
||||||
|
|
||||||
private final int value_;
|
private final int value_;
|
||||||
|
|
||||||
|
@ -1270,7 +1270,10 @@ public class RocksDB extends RocksObject {
|
|||||||
* @return The handle of the default column family
|
* @return The handle of the default column family
|
||||||
*/
|
*/
|
||||||
public ColumnFamilyHandle getDefaultColumnFamily() {
|
public ColumnFamilyHandle getDefaultColumnFamily() {
|
||||||
return new ColumnFamilyHandle(this, getDefaultColumnFamily(nativeHandle_));
|
ColumnFamilyHandle cfHandle = new ColumnFamilyHandle(this,
|
||||||
|
getDefaultColumnFamily(nativeHandle_));
|
||||||
|
cfHandle.disOwnNativeHandle();
|
||||||
|
return cfHandle;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -123,8 +123,7 @@ public enum TickerType {
|
|||||||
NUMBER_SUPERVERSION_ACQUIRES(55),
|
NUMBER_SUPERVERSION_ACQUIRES(55),
|
||||||
NUMBER_SUPERVERSION_RELEASES(56),
|
NUMBER_SUPERVERSION_RELEASES(56),
|
||||||
NUMBER_SUPERVERSION_CLEANUPS(57),
|
NUMBER_SUPERVERSION_CLEANUPS(57),
|
||||||
NUMBER_BLOCK_NOT_COMPRESSED(58),
|
NUMBER_BLOCK_NOT_COMPRESSED(58);
|
||||||
TICKER_ENUM_MAX(59);
|
|
||||||
|
|
||||||
private final int value_;
|
private final int value_;
|
||||||
|
|
||||||
|
@ -78,6 +78,7 @@ public abstract class AbstractComparatorTest {
|
|||||||
lastKey = thisKey;
|
lastKey = thisKey;
|
||||||
count++;
|
count++;
|
||||||
}
|
}
|
||||||
|
it.dispose();
|
||||||
db.close();
|
db.close();
|
||||||
|
|
||||||
assertThat(count).isEqualTo(ITERATIONS);
|
assertThat(count).isEqualTo(ITERATIONS);
|
||||||
@ -162,6 +163,8 @@ public abstract class AbstractComparatorTest {
|
|||||||
lastKey = thisKey;
|
lastKey = thisKey;
|
||||||
count++;
|
count++;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
it.dispose();
|
||||||
for (ColumnFamilyHandle handle : cfHandles) {
|
for (ColumnFamilyHandle handle : cfHandles) {
|
||||||
handle.dispose();
|
handle.dispose();
|
||||||
}
|
}
|
||||||
|
@ -56,15 +56,12 @@ public class ColumnFamilyTest {
|
|||||||
public void defaultColumnFamily() throws RocksDBException {
|
public void defaultColumnFamily() throws RocksDBException {
|
||||||
RocksDB db = null;
|
RocksDB db = null;
|
||||||
Options options = null;
|
Options options = null;
|
||||||
|
ColumnFamilyHandle cfh;
|
||||||
try {
|
try {
|
||||||
options = new Options();
|
options = new Options().setCreateIfMissing(true);
|
||||||
options.setCreateIfMissing(true);
|
|
||||||
|
|
||||||
DBOptions dbOptions = new DBOptions();
|
|
||||||
dbOptions.setCreateIfMissing(true);
|
|
||||||
|
|
||||||
db = RocksDB.open(options, dbFolder.getRoot().getAbsolutePath());
|
db = RocksDB.open(options, dbFolder.getRoot().getAbsolutePath());
|
||||||
ColumnFamilyHandle cfh = db.getDefaultColumnFamily();
|
cfh = db.getDefaultColumnFamily();
|
||||||
assertThat(cfh).isNotNull();
|
assertThat(cfh).isNotNull();
|
||||||
|
|
||||||
final byte[] key = "key".getBytes();
|
final byte[] key = "key".getBytes();
|
||||||
@ -90,17 +87,15 @@ public class ColumnFamilyTest {
|
|||||||
public void createColumnFamily() throws RocksDBException {
|
public void createColumnFamily() throws RocksDBException {
|
||||||
RocksDB db = null;
|
RocksDB db = null;
|
||||||
Options options = null;
|
Options options = null;
|
||||||
|
ColumnFamilyHandle columnFamilyHandle = null;
|
||||||
try {
|
try {
|
||||||
options = new Options();
|
options = new Options();
|
||||||
options.setCreateIfMissing(true);
|
options.setCreateIfMissing(true);
|
||||||
|
|
||||||
DBOptions dbOptions = new DBOptions();
|
|
||||||
dbOptions.setCreateIfMissing(true);
|
|
||||||
|
|
||||||
db = RocksDB.open(options, dbFolder.getRoot().getAbsolutePath());
|
db = RocksDB.open(options, dbFolder.getRoot().getAbsolutePath());
|
||||||
db.createColumnFamily(new ColumnFamilyDescriptor("new_cf".getBytes(),
|
columnFamilyHandle = db.createColumnFamily(
|
||||||
new ColumnFamilyOptions()));
|
new ColumnFamilyDescriptor("new_cf".getBytes(), new ColumnFamilyOptions()));
|
||||||
db.close();
|
|
||||||
List<byte[]> columnFamilyNames;
|
List<byte[]> columnFamilyNames;
|
||||||
columnFamilyNames = RocksDB.listColumnFamilies(options, dbFolder.getRoot().getAbsolutePath());
|
columnFamilyNames = RocksDB.listColumnFamilies(options, dbFolder.getRoot().getAbsolutePath());
|
||||||
assertThat(columnFamilyNames).isNotNull();
|
assertThat(columnFamilyNames).isNotNull();
|
||||||
@ -109,6 +104,9 @@ public class ColumnFamilyTest {
|
|||||||
assertThat(new String(columnFamilyNames.get(0))).isEqualTo("default");
|
assertThat(new String(columnFamilyNames.get(0))).isEqualTo("default");
|
||||||
assertThat(new String(columnFamilyNames.get(1))).isEqualTo("new_cf");
|
assertThat(new String(columnFamilyNames.get(1))).isEqualTo("new_cf");
|
||||||
} finally {
|
} finally {
|
||||||
|
if (columnFamilyHandle != null) {
|
||||||
|
columnFamilyHandle.dispose();
|
||||||
|
}
|
||||||
if (db != null) {
|
if (db != null) {
|
||||||
db.close();
|
db.close();
|
||||||
}
|
}
|
||||||
@ -122,15 +120,15 @@ public class ColumnFamilyTest {
|
|||||||
public void openWithColumnFamilies() throws RocksDBException {
|
public void openWithColumnFamilies() throws RocksDBException {
|
||||||
RocksDB db = null;
|
RocksDB db = null;
|
||||||
DBOptions options = null;
|
DBOptions options = null;
|
||||||
|
List<ColumnFamilyDescriptor> cfNames =
|
||||||
|
new ArrayList<>();
|
||||||
|
List<ColumnFamilyHandle> columnFamilyHandleList =
|
||||||
|
new ArrayList<>();
|
||||||
try {
|
try {
|
||||||
options = new DBOptions();
|
options = new DBOptions();
|
||||||
options.setCreateIfMissing(true);
|
options.setCreateIfMissing(true);
|
||||||
options.setCreateMissingColumnFamilies(true);
|
options.setCreateMissingColumnFamilies(true);
|
||||||
// Test open database with column family names
|
// Test open database with column family names
|
||||||
List<ColumnFamilyDescriptor> cfNames =
|
|
||||||
new ArrayList<>();
|
|
||||||
List<ColumnFamilyHandle> columnFamilyHandleList =
|
|
||||||
new ArrayList<>();
|
|
||||||
cfNames.add(new ColumnFamilyDescriptor(RocksDB.DEFAULT_COLUMN_FAMILY));
|
cfNames.add(new ColumnFamilyDescriptor(RocksDB.DEFAULT_COLUMN_FAMILY));
|
||||||
cfNames.add(new ColumnFamilyDescriptor("new_cf".getBytes()));
|
cfNames.add(new ColumnFamilyDescriptor("new_cf".getBytes()));
|
||||||
|
|
||||||
@ -156,6 +154,9 @@ public class ColumnFamilyTest {
|
|||||||
assertThat(db.get(columnFamilyHandleList.get(0), new ReadOptions(),
|
assertThat(db.get(columnFamilyHandleList.get(0), new ReadOptions(),
|
||||||
"dfkey2".getBytes())).isNull();
|
"dfkey2".getBytes())).isNull();
|
||||||
} finally {
|
} finally {
|
||||||
|
for (ColumnFamilyHandle columnFamilyHandle : columnFamilyHandleList) {
|
||||||
|
columnFamilyHandle.dispose();
|
||||||
|
}
|
||||||
if (db != null) {
|
if (db != null) {
|
||||||
db.close();
|
db.close();
|
||||||
}
|
}
|
||||||
@ -169,15 +170,15 @@ public class ColumnFamilyTest {
|
|||||||
public void getWithOutValueAndCf() throws RocksDBException {
|
public void getWithOutValueAndCf() throws RocksDBException {
|
||||||
RocksDB db = null;
|
RocksDB db = null;
|
||||||
DBOptions options = null;
|
DBOptions options = null;
|
||||||
|
List<ColumnFamilyDescriptor> cfDescriptors =
|
||||||
|
new ArrayList<>();
|
||||||
|
List<ColumnFamilyHandle> columnFamilyHandleList =
|
||||||
|
new ArrayList<>();
|
||||||
try {
|
try {
|
||||||
options = new DBOptions();
|
options = new DBOptions();
|
||||||
options.setCreateIfMissing(true);
|
options.setCreateIfMissing(true);
|
||||||
options.setCreateMissingColumnFamilies(true);
|
options.setCreateMissingColumnFamilies(true);
|
||||||
// Test open database with column family names
|
// Test open database with column family names
|
||||||
List<ColumnFamilyDescriptor> cfDescriptors =
|
|
||||||
new ArrayList<>();
|
|
||||||
List<ColumnFamilyHandle> columnFamilyHandleList =
|
|
||||||
new ArrayList<>();
|
|
||||||
cfDescriptors.add(new ColumnFamilyDescriptor(RocksDB.DEFAULT_COLUMN_FAMILY));
|
cfDescriptors.add(new ColumnFamilyDescriptor(RocksDB.DEFAULT_COLUMN_FAMILY));
|
||||||
db = RocksDB.open(options, dbFolder.getRoot().getAbsolutePath(),
|
db = RocksDB.open(options, dbFolder.getRoot().getAbsolutePath(),
|
||||||
cfDescriptors, columnFamilyHandleList);
|
cfDescriptors, columnFamilyHandleList);
|
||||||
@ -198,6 +199,9 @@ public class ColumnFamilyTest {
|
|||||||
assertThat(getResult).isNotEqualTo(RocksDB.NOT_FOUND);
|
assertThat(getResult).isNotEqualTo(RocksDB.NOT_FOUND);
|
||||||
assertThat(outValue).isEqualTo("12345".getBytes());
|
assertThat(outValue).isEqualTo("12345".getBytes());
|
||||||
} finally {
|
} finally {
|
||||||
|
for (ColumnFamilyHandle columnFamilyHandle : columnFamilyHandleList) {
|
||||||
|
columnFamilyHandle.dispose();
|
||||||
|
}
|
||||||
if (db != null) {
|
if (db != null) {
|
||||||
db.close();
|
db.close();
|
||||||
}
|
}
|
||||||
@ -212,14 +216,14 @@ public class ColumnFamilyTest {
|
|||||||
RocksDB db = null;
|
RocksDB db = null;
|
||||||
DBOptions opt = null;
|
DBOptions opt = null;
|
||||||
ColumnFamilyHandle tmpColumnFamilyHandle = null;
|
ColumnFamilyHandle tmpColumnFamilyHandle = null;
|
||||||
|
List<ColumnFamilyDescriptor> cfNames =
|
||||||
|
new ArrayList<>();
|
||||||
|
List<ColumnFamilyHandle> columnFamilyHandleList =
|
||||||
|
new ArrayList<>();
|
||||||
try {
|
try {
|
||||||
opt = new DBOptions();
|
opt = new DBOptions();
|
||||||
opt.setCreateIfMissing(true);
|
opt.setCreateIfMissing(true);
|
||||||
opt.setCreateMissingColumnFamilies(true);
|
opt.setCreateMissingColumnFamilies(true);
|
||||||
List<ColumnFamilyDescriptor> cfNames =
|
|
||||||
new ArrayList<>();
|
|
||||||
List<ColumnFamilyHandle> columnFamilyHandleList =
|
|
||||||
new ArrayList<>();
|
|
||||||
cfNames.add(new ColumnFamilyDescriptor(RocksDB.DEFAULT_COLUMN_FAMILY));
|
cfNames.add(new ColumnFamilyDescriptor(RocksDB.DEFAULT_COLUMN_FAMILY));
|
||||||
cfNames.add(new ColumnFamilyDescriptor("new_cf".getBytes()));
|
cfNames.add(new ColumnFamilyDescriptor("new_cf".getBytes()));
|
||||||
|
|
||||||
@ -231,6 +235,9 @@ public class ColumnFamilyTest {
|
|||||||
db.dropColumnFamily(tmpColumnFamilyHandle);
|
db.dropColumnFamily(tmpColumnFamilyHandle);
|
||||||
tmpColumnFamilyHandle.dispose();
|
tmpColumnFamilyHandle.dispose();
|
||||||
} finally {
|
} finally {
|
||||||
|
for (ColumnFamilyHandle columnFamilyHandle : columnFamilyHandleList) {
|
||||||
|
columnFamilyHandle.dispose();
|
||||||
|
}
|
||||||
if (tmpColumnFamilyHandle != null) {
|
if (tmpColumnFamilyHandle != null) {
|
||||||
tmpColumnFamilyHandle.dispose();
|
tmpColumnFamilyHandle.dispose();
|
||||||
}
|
}
|
||||||
@ -247,14 +254,15 @@ public class ColumnFamilyTest {
|
|||||||
public void writeBatch() throws RocksDBException {
|
public void writeBatch() throws RocksDBException {
|
||||||
RocksDB db = null;
|
RocksDB db = null;
|
||||||
DBOptions opt = null;
|
DBOptions opt = null;
|
||||||
|
List<ColumnFamilyDescriptor> cfNames =
|
||||||
|
new ArrayList<>();
|
||||||
|
List<ColumnFamilyHandle> columnFamilyHandleList =
|
||||||
|
new ArrayList<>();
|
||||||
try {
|
try {
|
||||||
opt = new DBOptions();
|
opt = new DBOptions();
|
||||||
opt.setCreateIfMissing(true);
|
opt.setCreateIfMissing(true);
|
||||||
opt.setCreateMissingColumnFamilies(true);
|
opt.setCreateMissingColumnFamilies(true);
|
||||||
List<ColumnFamilyDescriptor> cfNames =
|
|
||||||
new ArrayList<>();
|
|
||||||
List<ColumnFamilyHandle> columnFamilyHandleList =
|
|
||||||
new ArrayList<>();
|
|
||||||
cfNames.add(new ColumnFamilyDescriptor(RocksDB.DEFAULT_COLUMN_FAMILY,
|
cfNames.add(new ColumnFamilyDescriptor(RocksDB.DEFAULT_COLUMN_FAMILY,
|
||||||
new ColumnFamilyOptions().setMergeOperator(new StringAppendOperator())));
|
new ColumnFamilyOptions().setMergeOperator(new StringAppendOperator())));
|
||||||
cfNames.add(new ColumnFamilyDescriptor("new_cf".getBytes()));
|
cfNames.add(new ColumnFamilyDescriptor("new_cf".getBytes()));
|
||||||
@ -288,6 +296,9 @@ public class ColumnFamilyTest {
|
|||||||
assertThat(new String(db.get(db.getDefaultColumnFamily(),
|
assertThat(new String(db.get(db.getDefaultColumnFamily(),
|
||||||
"mergeKey".getBytes()))).isEqualTo("merge,merge");
|
"mergeKey".getBytes()))).isEqualTo("merge,merge");
|
||||||
} finally {
|
} finally {
|
||||||
|
for (ColumnFamilyHandle columnFamilyHandle : columnFamilyHandleList) {
|
||||||
|
columnFamilyHandle.dispose();
|
||||||
|
}
|
||||||
if (db != null) {
|
if (db != null) {
|
||||||
db.close();
|
db.close();
|
||||||
}
|
}
|
||||||
@ -302,14 +313,15 @@ public class ColumnFamilyTest {
|
|||||||
RocksDB db = null;
|
RocksDB db = null;
|
||||||
DBOptions options = null;
|
DBOptions options = null;
|
||||||
RocksIterator rocksIterator = null;
|
RocksIterator rocksIterator = null;
|
||||||
|
List<ColumnFamilyDescriptor> cfNames =
|
||||||
|
new ArrayList<>();
|
||||||
|
List<ColumnFamilyHandle> columnFamilyHandleList =
|
||||||
|
new ArrayList<>();
|
||||||
try {
|
try {
|
||||||
options = new DBOptions();
|
options = new DBOptions();
|
||||||
options.setCreateIfMissing(true);
|
options.setCreateIfMissing(true);
|
||||||
options.setCreateMissingColumnFamilies(true);
|
options.setCreateMissingColumnFamilies(true);
|
||||||
List<ColumnFamilyDescriptor> cfNames =
|
|
||||||
new ArrayList<>();
|
|
||||||
List<ColumnFamilyHandle> columnFamilyHandleList =
|
|
||||||
new ArrayList<>();
|
|
||||||
cfNames.add(new ColumnFamilyDescriptor(RocksDB.DEFAULT_COLUMN_FAMILY));
|
cfNames.add(new ColumnFamilyDescriptor(RocksDB.DEFAULT_COLUMN_FAMILY));
|
||||||
cfNames.add(new ColumnFamilyDescriptor("new_cf".getBytes()));
|
cfNames.add(new ColumnFamilyDescriptor("new_cf".getBytes()));
|
||||||
|
|
||||||
@ -338,6 +350,9 @@ public class ColumnFamilyTest {
|
|||||||
if (rocksIterator != null) {
|
if (rocksIterator != null) {
|
||||||
rocksIterator.dispose();
|
rocksIterator.dispose();
|
||||||
}
|
}
|
||||||
|
for (ColumnFamilyHandle columnFamilyHandle : columnFamilyHandleList) {
|
||||||
|
columnFamilyHandle.dispose();
|
||||||
|
}
|
||||||
if (db != null) {
|
if (db != null) {
|
||||||
db.close();
|
db.close();
|
||||||
}
|
}
|
||||||
@ -351,14 +366,15 @@ public class ColumnFamilyTest {
|
|||||||
public void multiGet() throws RocksDBException {
|
public void multiGet() throws RocksDBException {
|
||||||
RocksDB db = null;
|
RocksDB db = null;
|
||||||
DBOptions options = null;
|
DBOptions options = null;
|
||||||
|
List<ColumnFamilyDescriptor> cfDescriptors =
|
||||||
|
new ArrayList<>();
|
||||||
|
List<ColumnFamilyHandle> columnFamilyHandleList =
|
||||||
|
new ArrayList<>();
|
||||||
try {
|
try {
|
||||||
options = new DBOptions();
|
options = new DBOptions();
|
||||||
options.setCreateIfMissing(true);
|
options.setCreateIfMissing(true);
|
||||||
options.setCreateMissingColumnFamilies(true);
|
options.setCreateMissingColumnFamilies(true);
|
||||||
List<ColumnFamilyDescriptor> cfDescriptors =
|
|
||||||
new ArrayList<>();
|
|
||||||
List<ColumnFamilyHandle> columnFamilyHandleList =
|
|
||||||
new ArrayList<>();
|
|
||||||
cfDescriptors.add(new ColumnFamilyDescriptor(RocksDB.DEFAULT_COLUMN_FAMILY));
|
cfDescriptors.add(new ColumnFamilyDescriptor(RocksDB.DEFAULT_COLUMN_FAMILY));
|
||||||
cfDescriptors.add(new ColumnFamilyDescriptor("new_cf".getBytes()));
|
cfDescriptors.add(new ColumnFamilyDescriptor("new_cf".getBytes()));
|
||||||
|
|
||||||
@ -383,6 +399,9 @@ public class ColumnFamilyTest {
|
|||||||
assertThat(new String(retValues.get(keys.get(1))))
|
assertThat(new String(retValues.get(keys.get(1))))
|
||||||
.isEqualTo("value");
|
.isEqualTo("value");
|
||||||
} finally {
|
} finally {
|
||||||
|
for (ColumnFamilyHandle columnFamilyHandle : columnFamilyHandleList) {
|
||||||
|
columnFamilyHandle.dispose();
|
||||||
|
}
|
||||||
if (db != null) {
|
if (db != null) {
|
||||||
db.close();
|
db.close();
|
||||||
}
|
}
|
||||||
@ -396,14 +415,15 @@ public class ColumnFamilyTest {
|
|||||||
public void properties() throws RocksDBException {
|
public void properties() throws RocksDBException {
|
||||||
RocksDB db = null;
|
RocksDB db = null;
|
||||||
DBOptions options = null;
|
DBOptions options = null;
|
||||||
|
List<ColumnFamilyDescriptor> cfNames =
|
||||||
|
new ArrayList<>();
|
||||||
|
List<ColumnFamilyHandle> columnFamilyHandleList =
|
||||||
|
new ArrayList<>();
|
||||||
try {
|
try {
|
||||||
options = new DBOptions();
|
options = new DBOptions();
|
||||||
options.setCreateIfMissing(true);
|
options.setCreateIfMissing(true);
|
||||||
options.setCreateMissingColumnFamilies(true);
|
options.setCreateMissingColumnFamilies(true);
|
||||||
List<ColumnFamilyDescriptor> cfNames =
|
|
||||||
new ArrayList<>();
|
|
||||||
List<ColumnFamilyHandle> columnFamilyHandleList =
|
|
||||||
new ArrayList<>();
|
|
||||||
cfNames.add(new ColumnFamilyDescriptor(RocksDB.DEFAULT_COLUMN_FAMILY));
|
cfNames.add(new ColumnFamilyDescriptor(RocksDB.DEFAULT_COLUMN_FAMILY));
|
||||||
cfNames.add(new ColumnFamilyDescriptor("new_cf".getBytes()));
|
cfNames.add(new ColumnFamilyDescriptor("new_cf".getBytes()));
|
||||||
|
|
||||||
@ -423,6 +443,9 @@ public class ColumnFamilyTest {
|
|||||||
assertThat(db.getProperty(columnFamilyHandleList.get(1),
|
assertThat(db.getProperty(columnFamilyHandleList.get(1),
|
||||||
"rocksdb.sstables")).isNotNull();
|
"rocksdb.sstables")).isNotNull();
|
||||||
} finally {
|
} finally {
|
||||||
|
for (ColumnFamilyHandle columnFamilyHandle : columnFamilyHandleList) {
|
||||||
|
columnFamilyHandle.dispose();
|
||||||
|
}
|
||||||
if (db != null) {
|
if (db != null) {
|
||||||
db.close();
|
db.close();
|
||||||
}
|
}
|
||||||
@ -437,22 +460,22 @@ public class ColumnFamilyTest {
|
|||||||
public void iterators() throws RocksDBException {
|
public void iterators() throws RocksDBException {
|
||||||
RocksDB db = null;
|
RocksDB db = null;
|
||||||
DBOptions options = null;
|
DBOptions options = null;
|
||||||
|
List<ColumnFamilyDescriptor> cfNames =
|
||||||
|
new ArrayList<>();
|
||||||
|
List<ColumnFamilyHandle> columnFamilyHandleList =
|
||||||
|
new ArrayList<>();
|
||||||
|
List<RocksIterator> iterators = null;
|
||||||
try {
|
try {
|
||||||
options = new DBOptions();
|
options = new DBOptions();
|
||||||
options.setCreateIfMissing(true);
|
options.setCreateIfMissing(true);
|
||||||
options.setCreateMissingColumnFamilies(true);
|
options.setCreateMissingColumnFamilies(true);
|
||||||
|
|
||||||
List<ColumnFamilyDescriptor> cfNames =
|
|
||||||
new ArrayList<>();
|
|
||||||
List<ColumnFamilyHandle> columnFamilyHandleList =
|
|
||||||
new ArrayList<>();
|
|
||||||
cfNames.add(new ColumnFamilyDescriptor(RocksDB.DEFAULT_COLUMN_FAMILY));
|
cfNames.add(new ColumnFamilyDescriptor(RocksDB.DEFAULT_COLUMN_FAMILY));
|
||||||
cfNames.add(new ColumnFamilyDescriptor("new_cf".getBytes()));
|
cfNames.add(new ColumnFamilyDescriptor("new_cf".getBytes()));
|
||||||
|
|
||||||
db = RocksDB.open(options, dbFolder.getRoot().getAbsolutePath(),
|
db = RocksDB.open(options, dbFolder.getRoot().getAbsolutePath(),
|
||||||
cfNames, columnFamilyHandleList);
|
cfNames, columnFamilyHandleList);
|
||||||
List<RocksIterator> iterators =
|
iterators = db.newIterators(columnFamilyHandleList);
|
||||||
db.newIterators(columnFamilyHandleList);
|
|
||||||
assertThat(iterators.size()).isEqualTo(2);
|
assertThat(iterators.size()).isEqualTo(2);
|
||||||
RocksIterator iter = iterators.get(0);
|
RocksIterator iter = iterators.get(0);
|
||||||
iter.seekToFirst();
|
iter.seekToFirst();
|
||||||
@ -476,6 +499,14 @@ public class ColumnFamilyTest {
|
|||||||
iter.next();
|
iter.next();
|
||||||
}
|
}
|
||||||
} finally {
|
} finally {
|
||||||
|
if (iterators != null) {
|
||||||
|
for (RocksIterator rocksIterator : iterators) {
|
||||||
|
rocksIterator.dispose();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for (ColumnFamilyHandle columnFamilyHandle : columnFamilyHandleList) {
|
||||||
|
columnFamilyHandle.dispose();
|
||||||
|
}
|
||||||
if (db != null) {
|
if (db != null) {
|
||||||
db.close();
|
db.close();
|
||||||
}
|
}
|
||||||
@ -489,13 +520,14 @@ public class ColumnFamilyTest {
|
|||||||
public void failPutDisposedCF() throws RocksDBException {
|
public void failPutDisposedCF() throws RocksDBException {
|
||||||
RocksDB db = null;
|
RocksDB db = null;
|
||||||
DBOptions options = null;
|
DBOptions options = null;
|
||||||
|
List<ColumnFamilyDescriptor> cfNames =
|
||||||
|
new ArrayList<>();
|
||||||
|
List<ColumnFamilyHandle> columnFamilyHandleList =
|
||||||
|
new ArrayList<>();
|
||||||
try {
|
try {
|
||||||
options = new DBOptions();
|
options = new DBOptions();
|
||||||
options.setCreateIfMissing(true);
|
options.setCreateIfMissing(true);
|
||||||
List<ColumnFamilyDescriptor> cfNames =
|
|
||||||
new ArrayList<>();
|
|
||||||
List<ColumnFamilyHandle> columnFamilyHandleList =
|
|
||||||
new ArrayList<>();
|
|
||||||
cfNames.add(new ColumnFamilyDescriptor(RocksDB.DEFAULT_COLUMN_FAMILY));
|
cfNames.add(new ColumnFamilyDescriptor(RocksDB.DEFAULT_COLUMN_FAMILY));
|
||||||
cfNames.add(new ColumnFamilyDescriptor("new_cf".getBytes()));
|
cfNames.add(new ColumnFamilyDescriptor("new_cf".getBytes()));
|
||||||
|
|
||||||
@ -504,6 +536,9 @@ public class ColumnFamilyTest {
|
|||||||
db.dropColumnFamily(columnFamilyHandleList.get(1));
|
db.dropColumnFamily(columnFamilyHandleList.get(1));
|
||||||
db.put(columnFamilyHandleList.get(1), "key".getBytes(), "value".getBytes());
|
db.put(columnFamilyHandleList.get(1), "key".getBytes(), "value".getBytes());
|
||||||
} finally {
|
} finally {
|
||||||
|
for (ColumnFamilyHandle columnFamilyHandle : columnFamilyHandleList) {
|
||||||
|
columnFamilyHandle.dispose();
|
||||||
|
}
|
||||||
if (db != null) {
|
if (db != null) {
|
||||||
db.close();
|
db.close();
|
||||||
}
|
}
|
||||||
@ -517,13 +552,14 @@ public class ColumnFamilyTest {
|
|||||||
public void failRemoveDisposedCF() throws RocksDBException {
|
public void failRemoveDisposedCF() throws RocksDBException {
|
||||||
RocksDB db = null;
|
RocksDB db = null;
|
||||||
DBOptions options = null;
|
DBOptions options = null;
|
||||||
|
List<ColumnFamilyDescriptor> cfNames =
|
||||||
|
new ArrayList<>();
|
||||||
|
List<ColumnFamilyHandle> columnFamilyHandleList =
|
||||||
|
new ArrayList<>();
|
||||||
try {
|
try {
|
||||||
options = new DBOptions();
|
options = new DBOptions();
|
||||||
options.setCreateIfMissing(true);
|
options.setCreateIfMissing(true);
|
||||||
List<ColumnFamilyDescriptor> cfNames =
|
|
||||||
new ArrayList<>();
|
|
||||||
List<ColumnFamilyHandle> columnFamilyHandleList =
|
|
||||||
new ArrayList<>();
|
|
||||||
cfNames.add(new ColumnFamilyDescriptor(RocksDB.DEFAULT_COLUMN_FAMILY));
|
cfNames.add(new ColumnFamilyDescriptor(RocksDB.DEFAULT_COLUMN_FAMILY));
|
||||||
cfNames.add(new ColumnFamilyDescriptor("new_cf".getBytes()));
|
cfNames.add(new ColumnFamilyDescriptor("new_cf".getBytes()));
|
||||||
|
|
||||||
@ -532,6 +568,9 @@ public class ColumnFamilyTest {
|
|||||||
db.dropColumnFamily(columnFamilyHandleList.get(1));
|
db.dropColumnFamily(columnFamilyHandleList.get(1));
|
||||||
db.remove(columnFamilyHandleList.get(1), "key".getBytes());
|
db.remove(columnFamilyHandleList.get(1), "key".getBytes());
|
||||||
} finally {
|
} finally {
|
||||||
|
for (ColumnFamilyHandle columnFamilyHandle : columnFamilyHandleList) {
|
||||||
|
columnFamilyHandle.dispose();
|
||||||
|
}
|
||||||
if (db != null) {
|
if (db != null) {
|
||||||
db.close();
|
db.close();
|
||||||
}
|
}
|
||||||
@ -545,13 +584,14 @@ public class ColumnFamilyTest {
|
|||||||
public void failGetDisposedCF() throws RocksDBException {
|
public void failGetDisposedCF() throws RocksDBException {
|
||||||
RocksDB db = null;
|
RocksDB db = null;
|
||||||
DBOptions options = null;
|
DBOptions options = null;
|
||||||
|
List<ColumnFamilyDescriptor> cfNames =
|
||||||
|
new ArrayList<>();
|
||||||
|
List<ColumnFamilyHandle> columnFamilyHandleList =
|
||||||
|
new ArrayList<>();
|
||||||
try {
|
try {
|
||||||
options = new DBOptions();
|
options = new DBOptions();
|
||||||
options.setCreateIfMissing(true);
|
options.setCreateIfMissing(true);
|
||||||
List<ColumnFamilyDescriptor> cfNames =
|
|
||||||
new ArrayList<>();
|
|
||||||
List<ColumnFamilyHandle> columnFamilyHandleList =
|
|
||||||
new ArrayList<>();
|
|
||||||
cfNames.add(new ColumnFamilyDescriptor(RocksDB.DEFAULT_COLUMN_FAMILY));
|
cfNames.add(new ColumnFamilyDescriptor(RocksDB.DEFAULT_COLUMN_FAMILY));
|
||||||
cfNames.add(new ColumnFamilyDescriptor("new_cf".getBytes()));
|
cfNames.add(new ColumnFamilyDescriptor("new_cf".getBytes()));
|
||||||
|
|
||||||
@ -560,6 +600,9 @@ public class ColumnFamilyTest {
|
|||||||
db.dropColumnFamily(columnFamilyHandleList.get(1));
|
db.dropColumnFamily(columnFamilyHandleList.get(1));
|
||||||
db.get(columnFamilyHandleList.get(1), "key".getBytes());
|
db.get(columnFamilyHandleList.get(1), "key".getBytes());
|
||||||
} finally {
|
} finally {
|
||||||
|
for (ColumnFamilyHandle columnFamilyHandle : columnFamilyHandleList) {
|
||||||
|
columnFamilyHandle.dispose();
|
||||||
|
}
|
||||||
if (db != null) {
|
if (db != null) {
|
||||||
db.close();
|
db.close();
|
||||||
}
|
}
|
||||||
@ -573,13 +616,14 @@ public class ColumnFamilyTest {
|
|||||||
public void failMultiGetWithoutCorrectNumberOfCF() throws RocksDBException {
|
public void failMultiGetWithoutCorrectNumberOfCF() throws RocksDBException {
|
||||||
RocksDB db = null;
|
RocksDB db = null;
|
||||||
DBOptions options = null;
|
DBOptions options = null;
|
||||||
|
List<ColumnFamilyDescriptor> cfNames =
|
||||||
|
new ArrayList<>();
|
||||||
|
List<ColumnFamilyHandle> columnFamilyHandleList =
|
||||||
|
new ArrayList<>();
|
||||||
try {
|
try {
|
||||||
options = new DBOptions();
|
options = new DBOptions();
|
||||||
options.setCreateIfMissing(true);
|
options.setCreateIfMissing(true);
|
||||||
List<ColumnFamilyDescriptor> cfNames =
|
|
||||||
new ArrayList<>();
|
|
||||||
List<ColumnFamilyHandle> columnFamilyHandleList =
|
|
||||||
new ArrayList<>();
|
|
||||||
cfNames.add(new ColumnFamilyDescriptor(RocksDB.DEFAULT_COLUMN_FAMILY));
|
cfNames.add(new ColumnFamilyDescriptor(RocksDB.DEFAULT_COLUMN_FAMILY));
|
||||||
cfNames.add(new ColumnFamilyDescriptor("new_cf".getBytes()));
|
cfNames.add(new ColumnFamilyDescriptor("new_cf".getBytes()));
|
||||||
|
|
||||||
@ -592,6 +636,9 @@ public class ColumnFamilyTest {
|
|||||||
db.multiGet(cfCustomList, keys);
|
db.multiGet(cfCustomList, keys);
|
||||||
|
|
||||||
} finally {
|
} finally {
|
||||||
|
for (ColumnFamilyHandle columnFamilyHandle : columnFamilyHandleList) {
|
||||||
|
columnFamilyHandle.dispose();
|
||||||
|
}
|
||||||
if (db != null) {
|
if (db != null) {
|
||||||
db.close();
|
db.close();
|
||||||
}
|
}
|
||||||
@ -605,6 +652,7 @@ public class ColumnFamilyTest {
|
|||||||
public void testByteCreateFolumnFamily() throws RocksDBException {
|
public void testByteCreateFolumnFamily() throws RocksDBException {
|
||||||
RocksDB db = null;
|
RocksDB db = null;
|
||||||
Options options = null;
|
Options options = null;
|
||||||
|
ColumnFamilyHandle cf1 = null, cf2 = null, cf3 = null;
|
||||||
try {
|
try {
|
||||||
options = new Options().setCreateIfMissing(true);
|
options = new Options().setCreateIfMissing(true);
|
||||||
db = RocksDB.open(options, dbFolder.getRoot().getAbsolutePath());
|
db = RocksDB.open(options, dbFolder.getRoot().getAbsolutePath());
|
||||||
@ -612,12 +660,21 @@ public class ColumnFamilyTest {
|
|||||||
byte[] b0 = new byte[] { (byte)0x00 };
|
byte[] b0 = new byte[] { (byte)0x00 };
|
||||||
byte[] b1 = new byte[] { (byte)0x01 };
|
byte[] b1 = new byte[] { (byte)0x01 };
|
||||||
byte[] b2 = new byte[] { (byte)0x02 };
|
byte[] b2 = new byte[] { (byte)0x02 };
|
||||||
db.createColumnFamily(new ColumnFamilyDescriptor(b0));
|
cf1 = db.createColumnFamily(new ColumnFamilyDescriptor(b0));
|
||||||
db.createColumnFamily(new ColumnFamilyDescriptor(b1));
|
cf2 = db.createColumnFamily(new ColumnFamilyDescriptor(b1));
|
||||||
List<byte[]> families = RocksDB.listColumnFamilies(options, dbFolder.getRoot().getAbsolutePath());
|
List<byte[]> families = RocksDB.listColumnFamilies(options, dbFolder.getRoot().getAbsolutePath());
|
||||||
assertThat(families).contains("default".getBytes(), b0, b1);
|
assertThat(families).contains("default".getBytes(), b0, b1);
|
||||||
db.createColumnFamily(new ColumnFamilyDescriptor(b2));
|
cf3 = db.createColumnFamily(new ColumnFamilyDescriptor(b2));
|
||||||
} finally {
|
} finally {
|
||||||
|
if (cf1 != null) {
|
||||||
|
cf1.dispose();
|
||||||
|
}
|
||||||
|
if (cf2 != null) {
|
||||||
|
cf2.dispose();
|
||||||
|
}
|
||||||
|
if (cf3 != null) {
|
||||||
|
cf3.dispose();
|
||||||
|
}
|
||||||
if (db != null) {
|
if (db != null) {
|
||||||
db.close();
|
db.close();
|
||||||
}
|
}
|
||||||
@ -631,17 +688,24 @@ public class ColumnFamilyTest {
|
|||||||
public void testCFNamesWithZeroBytes() throws RocksDBException {
|
public void testCFNamesWithZeroBytes() throws RocksDBException {
|
||||||
RocksDB db = null;
|
RocksDB db = null;
|
||||||
Options options = null;
|
Options options = null;
|
||||||
|
ColumnFamilyHandle cf1 = null, cf2 = null;
|
||||||
try {
|
try {
|
||||||
options = new Options().setCreateIfMissing(true);
|
options = new Options().setCreateIfMissing(true);
|
||||||
db = RocksDB.open(options, dbFolder.getRoot().getAbsolutePath());
|
db = RocksDB.open(options, dbFolder.getRoot().getAbsolutePath());
|
||||||
|
|
||||||
byte[] b0 = new byte[] { 0, 0 };
|
byte[] b0 = new byte[] { 0, 0 };
|
||||||
byte[] b1 = new byte[] { 0, 1 };
|
byte[] b1 = new byte[] { 0, 1 };
|
||||||
db.createColumnFamily(new ColumnFamilyDescriptor(b0));
|
cf1 = db.createColumnFamily(new ColumnFamilyDescriptor(b0));
|
||||||
db.createColumnFamily(new ColumnFamilyDescriptor(b1));
|
cf2 = db.createColumnFamily(new ColumnFamilyDescriptor(b1));
|
||||||
List<byte[]> families = RocksDB.listColumnFamilies(options, dbFolder.getRoot().getAbsolutePath());
|
List<byte[]> families = RocksDB.listColumnFamilies(options, dbFolder.getRoot().getAbsolutePath());
|
||||||
assertThat(families).contains("default".getBytes(), b0, b1);
|
assertThat(families).contains("default".getBytes(), b0, b1);
|
||||||
} finally {
|
} finally {
|
||||||
|
if (cf1 != null) {
|
||||||
|
cf1.dispose();
|
||||||
|
}
|
||||||
|
if (cf2 != null) {
|
||||||
|
cf2.dispose();
|
||||||
|
}
|
||||||
if (db != null) {
|
if (db != null) {
|
||||||
db.close();
|
db.close();
|
||||||
}
|
}
|
||||||
@ -655,15 +719,20 @@ public class ColumnFamilyTest {
|
|||||||
public void testCFNameSimplifiedChinese() throws RocksDBException {
|
public void testCFNameSimplifiedChinese() throws RocksDBException {
|
||||||
RocksDB db = null;
|
RocksDB db = null;
|
||||||
Options options = null;
|
Options options = null;
|
||||||
|
ColumnFamilyHandle columnFamilyHandle = null;
|
||||||
try {
|
try {
|
||||||
options = new Options().setCreateIfMissing(true);
|
options = new Options().setCreateIfMissing(true);
|
||||||
db = RocksDB.open(options, dbFolder.getRoot().getAbsolutePath());
|
db = RocksDB.open(options, dbFolder.getRoot().getAbsolutePath());
|
||||||
final String simplifiedChinese = "简体字";
|
final String simplifiedChinese = "\u7b80\u4f53\u5b57";
|
||||||
db.createColumnFamily(new ColumnFamilyDescriptor(simplifiedChinese.getBytes()));
|
columnFamilyHandle = db.createColumnFamily(
|
||||||
|
new ColumnFamilyDescriptor(simplifiedChinese.getBytes()));
|
||||||
|
|
||||||
List<byte[]> families = RocksDB.listColumnFamilies(options, dbFolder.getRoot().getAbsolutePath());
|
List<byte[]> families = RocksDB.listColumnFamilies(options, dbFolder.getRoot().getAbsolutePath());
|
||||||
assertThat(families).contains("default".getBytes(), simplifiedChinese.getBytes());
|
assertThat(families).contains("default".getBytes(), simplifiedChinese.getBytes());
|
||||||
} finally {
|
} finally {
|
||||||
|
if (columnFamilyHandle != null) {
|
||||||
|
columnFamilyHandle.dispose();
|
||||||
|
}
|
||||||
if (db != null) {
|
if (db != null) {
|
||||||
db.close();
|
db.close();
|
||||||
}
|
}
|
||||||
|
@ -27,15 +27,16 @@ public class KeyMayExistTest {
|
|||||||
public void keyMayExist() throws RocksDBException {
|
public void keyMayExist() throws RocksDBException {
|
||||||
RocksDB db = null;
|
RocksDB db = null;
|
||||||
DBOptions options = null;
|
DBOptions options = null;
|
||||||
|
List<ColumnFamilyDescriptor> cfDescriptors =
|
||||||
|
new ArrayList<>();
|
||||||
|
List<ColumnFamilyHandle> columnFamilyHandleList =
|
||||||
|
new ArrayList<>();
|
||||||
try {
|
try {
|
||||||
options = new DBOptions();
|
options = new DBOptions();
|
||||||
options.setCreateIfMissing(true)
|
options.setCreateIfMissing(true)
|
||||||
.setCreateMissingColumnFamilies(true);
|
.setCreateMissingColumnFamilies(true);
|
||||||
// open database using cf names
|
// open database using cf names
|
||||||
List<ColumnFamilyDescriptor> cfDescriptors =
|
|
||||||
new ArrayList<>();
|
|
||||||
List<ColumnFamilyHandle> columnFamilyHandleList =
|
|
||||||
new ArrayList<>();
|
|
||||||
cfDescriptors.add(new ColumnFamilyDescriptor(RocksDB.DEFAULT_COLUMN_FAMILY));
|
cfDescriptors.add(new ColumnFamilyDescriptor(RocksDB.DEFAULT_COLUMN_FAMILY));
|
||||||
cfDescriptors.add(new ColumnFamilyDescriptor("new_cf".getBytes()));
|
cfDescriptors.add(new ColumnFamilyDescriptor("new_cf".getBytes()));
|
||||||
db = RocksDB.open(options,
|
db = RocksDB.open(options,
|
||||||
@ -80,6 +81,9 @@ public class KeyMayExistTest {
|
|||||||
assertThat(db.keyMayExist(columnFamilyHandleList.get(1),
|
assertThat(db.keyMayExist(columnFamilyHandleList.get(1),
|
||||||
"key".getBytes(), retValue)).isFalse();
|
"key".getBytes(), retValue)).isFalse();
|
||||||
} finally {
|
} finally {
|
||||||
|
for (ColumnFamilyHandle columnFamilyHandle : columnFamilyHandleList) {
|
||||||
|
columnFamilyHandle.dispose();
|
||||||
|
}
|
||||||
if (db != null) {
|
if (db != null) {
|
||||||
db.close();
|
db.close();
|
||||||
}
|
}
|
||||||
|
@ -143,7 +143,11 @@ public class MergeTest {
|
|||||||
throws InterruptedException, RocksDBException {
|
throws InterruptedException, RocksDBException {
|
||||||
RocksDB db = null;
|
RocksDB db = null;
|
||||||
DBOptions opt = null;
|
DBOptions opt = null;
|
||||||
ColumnFamilyHandle columnFamilyHandle = null;
|
ColumnFamilyHandle cfHandle = null;
|
||||||
|
List<ColumnFamilyDescriptor> cfDescriptors =
|
||||||
|
new ArrayList<>();
|
||||||
|
List<ColumnFamilyHandle> columnFamilyHandleList =
|
||||||
|
new ArrayList<>();
|
||||||
try {
|
try {
|
||||||
String db_path_string =
|
String db_path_string =
|
||||||
dbFolder.getRoot().getAbsolutePath();
|
dbFolder.getRoot().getAbsolutePath();
|
||||||
@ -152,10 +156,6 @@ public class MergeTest {
|
|||||||
opt.setCreateMissingColumnFamilies(true);
|
opt.setCreateMissingColumnFamilies(true);
|
||||||
StringAppendOperator stringAppendOperator = new StringAppendOperator();
|
StringAppendOperator stringAppendOperator = new StringAppendOperator();
|
||||||
|
|
||||||
List<ColumnFamilyDescriptor> cfDescriptors =
|
|
||||||
new ArrayList<>();
|
|
||||||
List<ColumnFamilyHandle> columnFamilyHandleList =
|
|
||||||
new ArrayList<>();
|
|
||||||
cfDescriptors.add(new ColumnFamilyDescriptor(RocksDB.DEFAULT_COLUMN_FAMILY,
|
cfDescriptors.add(new ColumnFamilyDescriptor(RocksDB.DEFAULT_COLUMN_FAMILY,
|
||||||
new ColumnFamilyOptions().setMergeOperator(
|
new ColumnFamilyOptions().setMergeOperator(
|
||||||
stringAppendOperator)));
|
stringAppendOperator)));
|
||||||
@ -175,23 +175,25 @@ public class MergeTest {
|
|||||||
String strValue = new String(value);
|
String strValue = new String(value);
|
||||||
|
|
||||||
// Test also with createColumnFamily
|
// Test also with createColumnFamily
|
||||||
columnFamilyHandle = db.createColumnFamily(
|
cfHandle = db.createColumnFamily(
|
||||||
new ColumnFamilyDescriptor("new_cf2".getBytes(),
|
new ColumnFamilyDescriptor("new_cf2".getBytes(),
|
||||||
new ColumnFamilyOptions().setMergeOperator(stringAppendOperator)));
|
new ColumnFamilyOptions().setMergeOperator(stringAppendOperator)));
|
||||||
// writing xx under cfkey2
|
// writing xx under cfkey2
|
||||||
db.put(columnFamilyHandle, "cfkey2".getBytes(), "xx".getBytes());
|
db.put(cfHandle, "cfkey2".getBytes(), "xx".getBytes());
|
||||||
// merge yy under cfkey2
|
// merge yy under cfkey2
|
||||||
db.merge(columnFamilyHandle, new WriteOptions(), "cfkey2".getBytes(), "yy".getBytes());
|
db.merge(cfHandle, new WriteOptions(), "cfkey2".getBytes(), "yy".getBytes());
|
||||||
value = db.get(columnFamilyHandle, "cfkey2".getBytes());
|
value = db.get(cfHandle, "cfkey2".getBytes());
|
||||||
String strValueTmpCf = new String(value);
|
String strValueTmpCf = new String(value);
|
||||||
|
|
||||||
columnFamilyHandle.dispose();
|
|
||||||
assertThat(strValue).isEqualTo("aa,bb");
|
assertThat(strValue).isEqualTo("aa,bb");
|
||||||
assertThat(strValueTmpCf).isEqualTo("xx,yy");
|
assertThat(strValueTmpCf).isEqualTo("xx,yy");
|
||||||
} finally {
|
} finally {
|
||||||
if (columnFamilyHandle != null) {
|
for (ColumnFamilyHandle columnFamilyHandle : columnFamilyHandleList) {
|
||||||
columnFamilyHandle.dispose();
|
columnFamilyHandle.dispose();
|
||||||
}
|
}
|
||||||
|
if (cfHandle != null) {
|
||||||
|
cfHandle.dispose();
|
||||||
|
}
|
||||||
if (db != null) {
|
if (db != null) {
|
||||||
db.close();
|
db.close();
|
||||||
}
|
}
|
||||||
|
@ -80,12 +80,21 @@ public class ReadOnlyTest {
|
|||||||
assertThat(new String(db3.get(readOnlyColumnFamilyHandleList2.get(1),
|
assertThat(new String(db3.get(readOnlyColumnFamilyHandleList2.get(1),
|
||||||
"key2".getBytes()))).isEqualTo("value2");
|
"key2".getBytes()))).isEqualTo("value2");
|
||||||
} finally {
|
} finally {
|
||||||
|
for (ColumnFamilyHandle columnFamilyHandle : columnFamilyHandleList) {
|
||||||
|
columnFamilyHandle.dispose();
|
||||||
|
}
|
||||||
if (db != null) {
|
if (db != null) {
|
||||||
db.close();
|
db.close();
|
||||||
}
|
}
|
||||||
|
for (ColumnFamilyHandle columnFamilyHandle : readOnlyColumnFamilyHandleList) {
|
||||||
|
columnFamilyHandle.dispose();
|
||||||
|
}
|
||||||
if (db2 != null) {
|
if (db2 != null) {
|
||||||
db2.close();
|
db2.close();
|
||||||
}
|
}
|
||||||
|
for (ColumnFamilyHandle columnFamilyHandle : readOnlyColumnFamilyHandleList2) {
|
||||||
|
columnFamilyHandle.dispose();
|
||||||
|
}
|
||||||
if (db3 != null) {
|
if (db3 != null) {
|
||||||
db3.close();
|
db3.close();
|
||||||
}
|
}
|
||||||
@ -100,13 +109,15 @@ public class ReadOnlyTest {
|
|||||||
RocksDB db = null;
|
RocksDB db = null;
|
||||||
RocksDB rDb = null;
|
RocksDB rDb = null;
|
||||||
Options options = null;
|
Options options = null;
|
||||||
|
List<ColumnFamilyDescriptor> cfDescriptors = new ArrayList<>();
|
||||||
|
List<ColumnFamilyHandle> readOnlyColumnFamilyHandleList =
|
||||||
|
new ArrayList<>();
|
||||||
try {
|
try {
|
||||||
List<ColumnFamilyDescriptor> cfDescriptors = new ArrayList<>();
|
|
||||||
cfDescriptors.add(
|
cfDescriptors.add(
|
||||||
new ColumnFamilyDescriptor(RocksDB.DEFAULT_COLUMN_FAMILY,
|
new ColumnFamilyDescriptor(RocksDB.DEFAULT_COLUMN_FAMILY,
|
||||||
new ColumnFamilyOptions()));
|
new ColumnFamilyOptions()));
|
||||||
List<ColumnFamilyHandle> readOnlyColumnFamilyHandleList =
|
|
||||||
new ArrayList<>();
|
|
||||||
options = new Options();
|
options = new Options();
|
||||||
options.setCreateIfMissing(true);
|
options.setCreateIfMissing(true);
|
||||||
|
|
||||||
@ -120,6 +131,9 @@ public class ReadOnlyTest {
|
|||||||
// test that put fails in readonly mode
|
// test that put fails in readonly mode
|
||||||
rDb.put("key".getBytes(), "value".getBytes());
|
rDb.put("key".getBytes(), "value".getBytes());
|
||||||
} finally {
|
} finally {
|
||||||
|
for (ColumnFamilyHandle columnFamilyHandle : readOnlyColumnFamilyHandleList) {
|
||||||
|
columnFamilyHandle.dispose();
|
||||||
|
}
|
||||||
if (db != null) {
|
if (db != null) {
|
||||||
db.close();
|
db.close();
|
||||||
}
|
}
|
||||||
@ -137,13 +151,14 @@ public class ReadOnlyTest {
|
|||||||
RocksDB db = null;
|
RocksDB db = null;
|
||||||
RocksDB rDb = null;
|
RocksDB rDb = null;
|
||||||
Options options = null;
|
Options options = null;
|
||||||
|
List<ColumnFamilyDescriptor> cfDescriptors = new ArrayList<>();
|
||||||
|
List<ColumnFamilyHandle> readOnlyColumnFamilyHandleList =
|
||||||
|
new ArrayList<>();
|
||||||
try {
|
try {
|
||||||
List<ColumnFamilyDescriptor> cfDescriptors = new ArrayList<>();
|
|
||||||
cfDescriptors.add(
|
cfDescriptors.add(
|
||||||
new ColumnFamilyDescriptor(RocksDB.DEFAULT_COLUMN_FAMILY,
|
new ColumnFamilyDescriptor(RocksDB.DEFAULT_COLUMN_FAMILY,
|
||||||
new ColumnFamilyOptions()));
|
new ColumnFamilyOptions()));
|
||||||
List<ColumnFamilyHandle> readOnlyColumnFamilyHandleList =
|
|
||||||
new ArrayList<>();
|
|
||||||
options = new Options();
|
options = new Options();
|
||||||
options.setCreateIfMissing(true);
|
options.setCreateIfMissing(true);
|
||||||
|
|
||||||
@ -157,6 +172,9 @@ public class ReadOnlyTest {
|
|||||||
rDb.put(readOnlyColumnFamilyHandleList.get(0),
|
rDb.put(readOnlyColumnFamilyHandleList.get(0),
|
||||||
"key".getBytes(), "value".getBytes());
|
"key".getBytes(), "value".getBytes());
|
||||||
} finally {
|
} finally {
|
||||||
|
for (ColumnFamilyHandle columnFamilyHandle : readOnlyColumnFamilyHandleList) {
|
||||||
|
columnFamilyHandle.dispose();
|
||||||
|
}
|
||||||
if (db != null) {
|
if (db != null) {
|
||||||
db.close();
|
db.close();
|
||||||
}
|
}
|
||||||
@ -174,13 +192,13 @@ public class ReadOnlyTest {
|
|||||||
RocksDB db = null;
|
RocksDB db = null;
|
||||||
RocksDB rDb = null;
|
RocksDB rDb = null;
|
||||||
Options options = null;
|
Options options = null;
|
||||||
|
List<ColumnFamilyDescriptor> cfDescriptors = new ArrayList<>();
|
||||||
|
List<ColumnFamilyHandle> readOnlyColumnFamilyHandleList =
|
||||||
|
new ArrayList<>();
|
||||||
try {
|
try {
|
||||||
List<ColumnFamilyDescriptor> cfDescriptors = new ArrayList<>();
|
|
||||||
cfDescriptors.add(
|
cfDescriptors.add(
|
||||||
new ColumnFamilyDescriptor(RocksDB.DEFAULT_COLUMN_FAMILY,
|
new ColumnFamilyDescriptor(RocksDB.DEFAULT_COLUMN_FAMILY,
|
||||||
new ColumnFamilyOptions()));
|
new ColumnFamilyOptions()));
|
||||||
List<ColumnFamilyHandle> readOnlyColumnFamilyHandleList =
|
|
||||||
new ArrayList<>();
|
|
||||||
|
|
||||||
options = new Options();
|
options = new Options();
|
||||||
options.setCreateIfMissing(true);
|
options.setCreateIfMissing(true);
|
||||||
@ -194,6 +212,9 @@ public class ReadOnlyTest {
|
|||||||
|
|
||||||
rDb.remove("key".getBytes());
|
rDb.remove("key".getBytes());
|
||||||
} finally {
|
} finally {
|
||||||
|
for (ColumnFamilyHandle columnFamilyHandle : readOnlyColumnFamilyHandleList) {
|
||||||
|
columnFamilyHandle.dispose();
|
||||||
|
}
|
||||||
if (db != null) {
|
if (db != null) {
|
||||||
db.close();
|
db.close();
|
||||||
}
|
}
|
||||||
@ -211,13 +232,13 @@ public class ReadOnlyTest {
|
|||||||
RocksDB db = null;
|
RocksDB db = null;
|
||||||
RocksDB rDb = null;
|
RocksDB rDb = null;
|
||||||
Options options = null;
|
Options options = null;
|
||||||
|
List<ColumnFamilyDescriptor> cfDescriptors = new ArrayList<>();
|
||||||
|
List<ColumnFamilyHandle> readOnlyColumnFamilyHandleList =
|
||||||
|
new ArrayList<>();
|
||||||
try {
|
try {
|
||||||
List<ColumnFamilyDescriptor> cfDescriptors = new ArrayList<>();
|
|
||||||
cfDescriptors.add(
|
cfDescriptors.add(
|
||||||
new ColumnFamilyDescriptor(RocksDB.DEFAULT_COLUMN_FAMILY,
|
new ColumnFamilyDescriptor(RocksDB.DEFAULT_COLUMN_FAMILY,
|
||||||
new ColumnFamilyOptions()));
|
new ColumnFamilyOptions()));
|
||||||
List<ColumnFamilyHandle> readOnlyColumnFamilyHandleList =
|
|
||||||
new ArrayList<>();
|
|
||||||
|
|
||||||
options = new Options();
|
options = new Options();
|
||||||
options.setCreateIfMissing(true);
|
options.setCreateIfMissing(true);
|
||||||
@ -233,6 +254,9 @@ public class ReadOnlyTest {
|
|||||||
rDb.remove(readOnlyColumnFamilyHandleList.get(0),
|
rDb.remove(readOnlyColumnFamilyHandleList.get(0),
|
||||||
"key".getBytes());
|
"key".getBytes());
|
||||||
} finally {
|
} finally {
|
||||||
|
for (ColumnFamilyHandle columnFamilyHandle : readOnlyColumnFamilyHandleList) {
|
||||||
|
columnFamilyHandle.dispose();
|
||||||
|
}
|
||||||
if (db != null) {
|
if (db != null) {
|
||||||
db.close();
|
db.close();
|
||||||
}
|
}
|
||||||
@ -250,13 +274,14 @@ public class ReadOnlyTest {
|
|||||||
RocksDB db = null;
|
RocksDB db = null;
|
||||||
RocksDB rDb = null;
|
RocksDB rDb = null;
|
||||||
Options options = null;
|
Options options = null;
|
||||||
|
List<ColumnFamilyDescriptor> cfDescriptors = new ArrayList<>();
|
||||||
|
List<ColumnFamilyHandle> readOnlyColumnFamilyHandleList =
|
||||||
|
new ArrayList<>();
|
||||||
try {
|
try {
|
||||||
List<ColumnFamilyDescriptor> cfDescriptors = new ArrayList<>();
|
|
||||||
cfDescriptors.add(
|
cfDescriptors.add(
|
||||||
new ColumnFamilyDescriptor(RocksDB.DEFAULT_COLUMN_FAMILY,
|
new ColumnFamilyDescriptor(RocksDB.DEFAULT_COLUMN_FAMILY,
|
||||||
new ColumnFamilyOptions()));
|
new ColumnFamilyOptions()));
|
||||||
List<ColumnFamilyHandle> readOnlyColumnFamilyHandleList =
|
|
||||||
new ArrayList<>();
|
|
||||||
|
|
||||||
options = new Options();
|
options = new Options();
|
||||||
options.setCreateIfMissing(true);
|
options.setCreateIfMissing(true);
|
||||||
@ -273,6 +298,9 @@ public class ReadOnlyTest {
|
|||||||
wb.put("key".getBytes(), "value".getBytes());
|
wb.put("key".getBytes(), "value".getBytes());
|
||||||
rDb.write(new WriteOptions(), wb);
|
rDb.write(new WriteOptions(), wb);
|
||||||
} finally {
|
} finally {
|
||||||
|
for (ColumnFamilyHandle columnFamilyHandle : readOnlyColumnFamilyHandleList) {
|
||||||
|
columnFamilyHandle.dispose();
|
||||||
|
}
|
||||||
if (db != null) {
|
if (db != null) {
|
||||||
db.close();
|
db.close();
|
||||||
}
|
}
|
||||||
@ -291,13 +319,15 @@ public class ReadOnlyTest {
|
|||||||
RocksDB rDb = null;
|
RocksDB rDb = null;
|
||||||
Options options = null;
|
Options options = null;
|
||||||
WriteBatch wb = null;
|
WriteBatch wb = null;
|
||||||
|
List<ColumnFamilyDescriptor> cfDescriptors = new ArrayList<>();
|
||||||
|
List<ColumnFamilyHandle> readOnlyColumnFamilyHandleList =
|
||||||
|
new ArrayList<>();
|
||||||
try {
|
try {
|
||||||
List<ColumnFamilyDescriptor> cfDescriptors = new ArrayList<>();
|
|
||||||
cfDescriptors.add(
|
cfDescriptors.add(
|
||||||
new ColumnFamilyDescriptor(RocksDB.DEFAULT_COLUMN_FAMILY,
|
new ColumnFamilyDescriptor(RocksDB.DEFAULT_COLUMN_FAMILY,
|
||||||
new ColumnFamilyOptions()));
|
new ColumnFamilyOptions()));
|
||||||
List<ColumnFamilyHandle> readOnlyColumnFamilyHandleList =
|
|
||||||
new ArrayList<>();
|
|
||||||
|
|
||||||
options = new Options();
|
options = new Options();
|
||||||
options.setCreateIfMissing(true);
|
options.setCreateIfMissing(true);
|
||||||
@ -315,6 +345,9 @@ public class ReadOnlyTest {
|
|||||||
"key".getBytes(), "value".getBytes());
|
"key".getBytes(), "value".getBytes());
|
||||||
rDb.write(new WriteOptions(), wb);
|
rDb.write(new WriteOptions(), wb);
|
||||||
} finally {
|
} finally {
|
||||||
|
for (ColumnFamilyHandle columnFamilyHandle : readOnlyColumnFamilyHandleList) {
|
||||||
|
columnFamilyHandle.dispose();
|
||||||
|
}
|
||||||
if (db != null) {
|
if (db != null) {
|
||||||
db.close();
|
db.close();
|
||||||
}
|
}
|
||||||
|
@ -472,8 +472,9 @@ public class RocksDBTest {
|
|||||||
rand.nextBytes(b);
|
rand.nextBytes(b);
|
||||||
db.put((String.valueOf(i)).getBytes(), b);
|
db.put((String.valueOf(i)).getBytes(), b);
|
||||||
}
|
}
|
||||||
|
db.flush(new FlushOptions().setWaitForFlush(true));
|
||||||
db.compactRange("0".getBytes(), "201".getBytes(),
|
db.compactRange("0".getBytes(), "201".getBytes(),
|
||||||
true, 0, 0);
|
true, -1, 0);
|
||||||
} finally {
|
} finally {
|
||||||
if (db != null) {
|
if (db != null) {
|
||||||
db.close();
|
db.close();
|
||||||
@ -580,7 +581,7 @@ public class RocksDBTest {
|
|||||||
String.valueOf(i).getBytes(), b);
|
String.valueOf(i).getBytes(), b);
|
||||||
}
|
}
|
||||||
db.compactRange(columnFamilyHandles.get(1), "0".getBytes(),
|
db.compactRange(columnFamilyHandles.get(1), "0".getBytes(),
|
||||||
"201".getBytes(), true, 0, 0);
|
"201".getBytes(), true, -1, 0);
|
||||||
} finally {
|
} finally {
|
||||||
for (ColumnFamilyHandle handle : columnFamilyHandles) {
|
for (ColumnFamilyHandle handle : columnFamilyHandles) {
|
||||||
handle.dispose();
|
handle.dispose();
|
||||||
@ -729,6 +730,9 @@ public class RocksDBTest {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
} finally {
|
} finally {
|
||||||
|
for (ColumnFamilyHandle handle : columnFamilyHandles) {
|
||||||
|
handle.dispose();
|
||||||
|
}
|
||||||
if (db != null) {
|
if (db != null) {
|
||||||
db.close();
|
db.close();
|
||||||
}
|
}
|
||||||
|
@ -58,41 +58,9 @@ public class RocksIteratorTest {
|
|||||||
assertThat(iterator.value()).isEqualTo("value2".getBytes());
|
assertThat(iterator.value()).isEqualTo("value2".getBytes());
|
||||||
iterator.status();
|
iterator.status();
|
||||||
} finally {
|
} finally {
|
||||||
if (db != null) {
|
|
||||||
db.close();
|
|
||||||
}
|
|
||||||
if (options != null) {
|
|
||||||
options.dispose();
|
|
||||||
}
|
|
||||||
if (iterator != null) {
|
if (iterator != null) {
|
||||||
iterator.dispose();
|
iterator.dispose();
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
public void rocksIteratorGc()
|
|
||||||
throws RocksDBException {
|
|
||||||
RocksDB db = null;
|
|
||||||
Options options = null;
|
|
||||||
try {
|
|
||||||
options = new Options();
|
|
||||||
options.setCreateIfMissing(true)
|
|
||||||
.setCreateMissingColumnFamilies(true);
|
|
||||||
db = RocksDB.open(options,
|
|
||||||
dbFolder.getRoot().getAbsolutePath());
|
|
||||||
db.put("key".getBytes(), "value".getBytes());
|
|
||||||
db.newIterator();
|
|
||||||
db.newIterator();
|
|
||||||
RocksIterator iter3 = db.newIterator();
|
|
||||||
db.close();
|
|
||||||
db = null;
|
|
||||||
System.gc();
|
|
||||||
System.runFinalization();
|
|
||||||
iter3.dispose();
|
|
||||||
System.gc();
|
|
||||||
System.runFinalization();
|
|
||||||
} finally {
|
|
||||||
if (db != null) {
|
if (db != null) {
|
||||||
db.close();
|
db.close();
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user