Fix getApproximateMemTableStats() return type (#8098)

Summary:
Which should return 2 long instead of an array.

Pull Request resolved: https://github.com/facebook/rocksdb/pull/8098

Reviewed By: mrambacher

Differential Revision: D27308741

Pulled By: jay-zhuang

fbshipit-source-id: 44beea2bd28cf6779b048bebc98f2426fe95e25c
main
Jay Zhuang 3 years ago committed by Facebook GitHub Bot
parent 493a4e28d9
commit a781b103da
  1. 5
      java/rocksjni/rocksjni.cc
  2. 20
      java/src/test/java/org/rocksdb/RocksDBTest.java

@ -2428,14 +2428,13 @@ jlongArray Java_org_rocksdb_RocksDB_getApproximateMemTableStats(
static_cast<jlong>(count),
static_cast<jlong>(sizes)};
const jsize jcount = static_cast<jsize>(count);
jlongArray jsizes = env->NewLongArray(jcount);
jlongArray jsizes = env->NewLongArray(2);
if (jsizes == nullptr) {
// exception thrown: OutOfMemoryError
return nullptr;
}
env->SetLongArrayRegion(jsizes, 0, jcount, results);
env->SetLongArrayRegion(jsizes, 0, 2, results);
if (env->ExceptionCheck()) {
// exception thrown: ArrayIndexOutOfBoundsException
env->DeleteLocalRef(jsizes);

@ -1271,6 +1271,26 @@ public class RocksDBTest {
}
}
@Test
public void getApproximateMemTableStatsSingleKey() throws RocksDBException {
final byte key1[] = "key1".getBytes(UTF_8);
final byte key2[] = "key2".getBytes(UTF_8);
final byte key3[] = "key3".getBytes(UTF_8);
try (final Options options = new Options().setCreateIfMissing(true)) {
final String dbPath = dbFolder.getRoot().getAbsolutePath();
try (final RocksDB db = RocksDB.open(options, dbPath)) {
db.put(key1, key1);
final RocksDB.CountAndSize stats =
db.getApproximateMemTableStats(new Range(new Slice(key1), new Slice(key3)));
assertThat(stats).isNotNull();
assertThat(stats.count).isEqualTo(1);
assertThat(stats.size).isGreaterThan(1);
}
}
}
@Ignore("TODO(AR) re-enable when ready!")
@Test
public void compactFiles() throws RocksDBException {

Loading…
Cancel
Save