Revert adding SstFileWriter construtor w/o explicit comparator to JNI

Revert commit 491fa696fa in 5.3 branch, as
this breaks the java build.
This commit is contained in:
Sagar Vemuri 2017-05-02 16:24:41 -07:00
parent 261da90290
commit ab513afbdc
3 changed files with 11 additions and 57 deletions

View File

@ -22,7 +22,7 @@
* Method: newSstFileWriter * Method: newSstFileWriter
* Signature: (JJJ)J * Signature: (JJJ)J
*/ */
jlong Java_org_rocksdb_SstFileWriter_newSstFileWriter__JJJ(JNIEnv *env, jclass jcls, jlong Java_org_rocksdb_SstFileWriter_newSstFileWriter(JNIEnv *env, jclass jcls,
jlong jenvoptions, jlong jenvoptions,
jlong joptions, jlong joptions,
jlong jcomparator) { jlong jcomparator) {
@ -35,22 +35,6 @@ jlong Java_org_rocksdb_SstFileWriter_newSstFileWriter__JJJ(JNIEnv *env, jclass j
return reinterpret_cast<jlong>(sst_file_writer); return reinterpret_cast<jlong>(sst_file_writer);
} }
/*
* Class: org_rocksdb_SstFileWriter
* Method: newSstFileWriter
* Signature: (JJ)J
*/
jlong Java_org_rocksdb_SstFileWriter_newSstFileWriter__JJ(JNIEnv *env, jclass jcls,
jlong jenvoptions,
jlong joptions) {
auto *env_options =
reinterpret_cast<const rocksdb::EnvOptions *>(jenvoptions);
auto *options = reinterpret_cast<const rocksdb::Options *>(joptions);
rocksdb::SstFileWriter *sst_file_writer =
new rocksdb::SstFileWriter(*env_options, *options);
return reinterpret_cast<jlong>(sst_file_writer);
}
/* /*
* Class: org_rocksdb_SstFileWriter * Class: org_rocksdb_SstFileWriter
* Method: open * Method: open

View File

@ -16,11 +16,6 @@ public class SstFileWriter extends RocksObject {
envOptions.nativeHandle_, options.nativeHandle_, comparator.getNativeHandle())); envOptions.nativeHandle_, options.nativeHandle_, comparator.getNativeHandle()));
} }
public SstFileWriter(final EnvOptions envOptions, final Options options) {
super(newSstFileWriter(
envOptions.nativeHandle_, options.nativeHandle_));
}
public void open(final String filePath) throws RocksDBException { public void open(final String filePath) throws RocksDBException {
open(nativeHandle_, filePath); open(nativeHandle_, filePath);
} }
@ -40,9 +35,6 @@ public class SstFileWriter extends RocksObject {
private native static long newSstFileWriter( private native static long newSstFileWriter(
final long envOptionsHandle, final long optionsHandle, final long userComparatorHandle); final long envOptionsHandle, final long optionsHandle, final long userComparatorHandle);
private native static long newSstFileWriter(final long envOptionsHandle,
final long optionsHandle);
private native void open(final long handle, final String filePath) throws RocksDBException; private native void open(final long handle, final String filePath) throws RocksDBException;
private native void add(final long handle, final long keyHandle, final long valueHandle) private native void add(final long handle, final long keyHandle, final long valueHandle)

View File

@ -27,23 +27,13 @@ public class SstFileWriterTest {
@Rule public TemporaryFolder parentFolder = new TemporaryFolder(); @Rule public TemporaryFolder parentFolder = new TemporaryFolder();
private File newSstFile(final TreeMap<String, String> keyValues, private File newSstFile(final TreeMap<String, String> keyValues)
boolean useJavaBytewiseComparator)
throws IOException, RocksDBException { throws IOException, RocksDBException {
final EnvOptions envOptions = new EnvOptions(); final EnvOptions envOptions = new EnvOptions();
final Options options = new Options(); final ComparatorOptions comparatorOptions = new ComparatorOptions();
SstFileWriter sstFileWriter = null; final BytewiseComparator comparator = new BytewiseComparator(comparatorOptions);
ComparatorOptions comparatorOptions = null; final Options options = new Options().setComparator(comparator);
BytewiseComparator comparator = null; final SstFileWriter sstFileWriter = new SstFileWriter(envOptions, options, comparator);
if (useJavaBytewiseComparator) {
comparatorOptions = new ComparatorOptions();
comparator = new BytewiseComparator(comparatorOptions);
options.setComparator(comparator);
sstFileWriter = new SstFileWriter(envOptions, options, comparator);
} else {
sstFileWriter = new SstFileWriter(envOptions, options);
}
final File sstFile = parentFolder.newFile(SST_FILE_NAME); final File sstFile = parentFolder.newFile(SST_FILE_NAME);
try { try {
sstFileWriter.open(sstFile.getAbsolutePath()); sstFileWriter.open(sstFile.getAbsolutePath());
@ -60,30 +50,18 @@ public class SstFileWriterTest {
sstFileWriter.close(); sstFileWriter.close();
options.close(); options.close();
envOptions.close(); envOptions.close();
if (comparatorOptions != null) { comparatorOptions.close();
comparatorOptions.close(); comparator.close();
}
if (comparator != null) {
comparator.close();
}
} }
return sstFile; return sstFile;
} }
@Test @Test
public void generateSstFileWithJavaComparator() throws RocksDBException, IOException { public void generateSstFile() throws RocksDBException, IOException {
final TreeMap<String, String> keyValues = new TreeMap<>(); final TreeMap<String, String> keyValues = new TreeMap<>();
keyValues.put("key1", "value1"); keyValues.put("key1", "value1");
keyValues.put("key2", "value2"); keyValues.put("key2", "value2");
newSstFile(keyValues, true); newSstFile(keyValues);
}
@Test
public void generateSstFileWithNativeComparator() throws RocksDBException, IOException {
final TreeMap<String, String> keyValues = new TreeMap<>();
keyValues.put("key1", "value1");
keyValues.put("key2", "value2");
newSstFile(keyValues, false);
} }
@Test @Test
@ -91,7 +69,7 @@ public class SstFileWriterTest {
final TreeMap<String, String> keyValues = new TreeMap<>(); final TreeMap<String, String> keyValues = new TreeMap<>();
keyValues.put("key1", "value1"); keyValues.put("key1", "value1");
keyValues.put("key2", "value2"); keyValues.put("key2", "value2");
final File sstFile = newSstFile(keyValues, false); final File sstFile = newSstFile(keyValues);
final File dbFolder = parentFolder.newFolder(DB_DIRECTORY_NAME); final File dbFolder = parentFolder.newFolder(DB_DIRECTORY_NAME);
final Options options = new Options().setCreateIfMissing(true); final Options options = new Options().setCreateIfMissing(true);
final RocksDB db = RocksDB.open(options, dbFolder.getAbsolutePath()); final RocksDB db = RocksDB.open(options, dbFolder.getAbsolutePath());