mirror of
https://github.com/facebook/rocksdb.git
synced 2026-11-07 19:42:37 -05:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
88724cc719 | ||
|
|
00b558312d | ||
|
|
90ee46e194 | ||
|
|
783658a8e9 | ||
|
|
f08861fea2 | ||
|
|
50e0164aca | ||
|
|
ff84a6e7d2 | ||
|
|
e336d97f63 | ||
|
|
a0c4361f0b | ||
|
|
98f8d47685 | ||
|
|
ab513afbdc |
No files matched your search
@@ -1391,6 +1391,9 @@ SNAPPY_VER = 1.1.4
|
||||
SNAPPY_SHA256 = 134bfe122fd25599bb807bb8130e7ba6d9bdb851e0b16efcb83ac4f5d0b70057
|
||||
LZ4_VER = 1.7.5
|
||||
LZ4_SHA256 = 0190cacd63022ccb86f44fa5041dc6c3804407ad61550ca21c382827319e7e7e
|
||||
ZSTD_VER ?= 1.2.0
|
||||
ZSTD_SHA256 ?= 4a7e4593a3638276ca7f2a09dc4f38e674d8317bbea51626393ca73fc047cbfb
|
||||
ZSTD_DOWNLOAD_BASE ?= https://github.com/facebook/zstd/archive
|
||||
|
||||
ifeq ($(PLATFORM), OS_MACOSX)
|
||||
ROCKSDBJNILIB = librocksdbjni-osx.jnilib
|
||||
@@ -1464,14 +1467,31 @@ liblz4.a:
|
||||
cd lz4-$(LZ4_VER)/lib && make CFLAGS='-fPIC' all
|
||||
cp lz4-$(LZ4_VER)/lib/liblz4.a .
|
||||
|
||||
libzstd.a:
|
||||
-rm -rf zstd-$(ZSTD_VER)
|
||||
curl -O -L ${ZSTD_DOWNLOAD_BASE}/v$(ZSTD_VER).tar.gz
|
||||
mv v$(ZSTD_VER).tar.gz zstd-$(ZSTD_VER).tar.gz
|
||||
ZSTD_SHA256_ACTUAL=`$(SHA256_CMD) zstd-$(ZSTD_VER).tar.gz | cut -d ' ' -f 1`; \
|
||||
if [ "$(ZSTD_SHA256)" != "$$ZSTD_SHA256_ACTUAL" ]; then \
|
||||
echo zstd-$(ZSTD_VER).tar.gz checksum mismatch, expected=\"$(ZSTD_SHA256)\" actual=\"$$ZSTD_SHA256_ACTUAL\"; \
|
||||
exit 1; \
|
||||
fi
|
||||
tar xvzf zstd-$(ZSTD_VER).tar.gz
|
||||
cd zstd-$(ZSTD_VER)/lib && make CFLAGS='-fPIC -O2 ${EXTRA_CFLAGS}' all
|
||||
cp zstd-$(ZSTD_VER)/lib/libzstd.a .
|
||||
|
||||
# A version of each $(LIBOBJECTS) compiled with -fPIC and a fixed set of static compression libraries
|
||||
java_static_libobjects = $(patsubst %,jls/%,$(LIBOBJECTS))
|
||||
CLEAN_FILES += jls
|
||||
|
||||
JAVA_STATIC_FLAGS = -DZLIB -DBZIP2 -DSNAPPY -DLZ4
|
||||
JAVA_STATIC_INCLUDES = -I./zlib-$(ZLIB_VER) -I./bzip2-$(BZIP2_VER) -I./snappy-$(SNAPPY_VER) -I./lz4-$(LZ4_VER)/lib
|
||||
ifneq ($(ROCKSDB_JAVA_NO_COMPRESSION), 1)
|
||||
JAVA_COMPRESSIONS = libz.a libbz2.a libsnappy.a liblz4.a libzstd.a
|
||||
endif
|
||||
|
||||
$(java_static_libobjects): jls/%.o: %.cc libz.a libbz2.a libsnappy.a liblz4.a
|
||||
JAVA_STATIC_FLAGS = -DZLIB -DBZIP2 -DSNAPPY -DLZ4 -DZSTD
|
||||
JAVA_STATIC_INCLUDES = -I./zlib-$(ZLIB_VER) -I./bzip2-$(BZIP2_VER) -I./snappy-$(SNAPPY_VER) -I./lz4-$(LZ4_VER)/lib -I./zstd-$(ZSTD_VER)/lib
|
||||
|
||||
$(java_static_libobjects): jls/%.o: %.cc $(JAVA_COMPRESSIONS)
|
||||
$(AM_V_CC)mkdir -p $(@D) && $(CXX) $(CXXFLAGS) $(JAVA_STATIC_FLAGS) $(JAVA_STATIC_INCLUDES) -fPIC -c $< -o $@ $(COVERAGEFLAGS)
|
||||
|
||||
rocksdbjavastatic: $(java_static_libobjects)
|
||||
@@ -1480,7 +1500,7 @@ rocksdbjavastatic: $(java_static_libobjects)
|
||||
$(CXX) $(CXXFLAGS) -I./java/. $(JAVA_INCLUDE) -shared -fPIC \
|
||||
-o ./java/target/$(ROCKSDBJNILIB) $(JNI_NATIVE_SOURCES) \
|
||||
$(java_static_libobjects) $(COVERAGEFLAGS) \
|
||||
libz.a libbz2.a libsnappy.a liblz4.a $(JAVA_STATIC_LDFLAGS)
|
||||
$(JAVA_COMPRESSIONS) $(JAVA_STATIC_LDFLAGS)
|
||||
cd java/target;strip -S -x $(ROCKSDBJNILIB)
|
||||
cd java;jar -cf target/$(ROCKSDB_JAR) HISTORY*.md
|
||||
cd java/target;jar -uf $(ROCKSDB_JAR) $(ROCKSDBJNILIB)
|
||||
@@ -1494,8 +1514,25 @@ rocksdbjavastaticrelease: rocksdbjavastatic
|
||||
cd java/target;jar -uf $(ROCKSDB_JAR_ALL) librocksdbjni-*.so librocksdbjni-*.jnilib
|
||||
cd java/target/classes;jar -uf ../$(ROCKSDB_JAR_ALL) org/rocksdb/*.class org/rocksdb/util/*.class
|
||||
|
||||
rocksdbjavastaticreleasedocker: rocksdbjavastatic
|
||||
DOCKER_LINUX_X64_CONTAINER=`docker ps -aqf name=rocksdb_linux_x64-be`; \
|
||||
if [ -z "$$DOCKER_LINUX_X64_CONTAINER" ]; then \
|
||||
docker container create --attach stdin --attach stdout --attach stderr --volume `pwd`:/rocksdb-host --name rocksdb_linux_x64-be evolvedbinary/rocksjava:centos5_x64-be /rocksdb-host/java/crossbuild/docker-build-linux-centos.sh; \
|
||||
fi
|
||||
docker start -a rocksdb_linux_x64-be
|
||||
DOCKER_LINUX_X86_CONTAINER=`docker ps -aqf name=rocksdb_linux_x86-be`; \
|
||||
if [ -z "$$DOCKER_LINUX_X86_CONTAINER" ]; then \
|
||||
docker container create --attach stdin --attach stdout --attach stderr --volume `pwd`:/rocksdb-host --name rocksdb_linux_x86-be evolvedbinary/rocksjava:centos5_x86-be /rocksdb-host/java/crossbuild/docker-build-linux-centos.sh; \
|
||||
fi
|
||||
docker start -a rocksdb_linux_x86-be
|
||||
cd java;jar -cf target/$(ROCKSDB_JAR_ALL) HISTORY*.md
|
||||
cd java/target;jar -uf $(ROCKSDB_JAR_ALL) librocksdbjni-*.so librocksdbjni-*.jnilib
|
||||
cd java/target/classes;jar -uf ../$(ROCKSDB_JAR_ALL) org/rocksdb/*.class org/rocksdb/util/*.class
|
||||
|
||||
rocksdbjavastaticpublish: rocksdbjavastaticrelease rocksdbjavastaticpublishcentral
|
||||
|
||||
rocksdbjavastaticpublishdocker: rocksdbjavastaticreleasedocker rocksdbjavastaticpublishcentral
|
||||
|
||||
rocksdbjavastaticpublishcentral:
|
||||
mvn gpg:sign-and-deploy-file -Durl=https://oss.sonatype.org/service/local/staging/deploy/maven2/ -DrepositoryId=sonatype-nexus-staging -DpomFile=java/rocksjni.pom -Dfile=java/target/rocksdbjni-$(ROCKSDB_MAJOR).$(ROCKSDB_MINOR).$(ROCKSDB_PATCH)-javadoc.jar -Dclassifier=javadoc
|
||||
mvn gpg:sign-and-deploy-file -Durl=https://oss.sonatype.org/service/local/staging/deploy/maven2/ -DrepositoryId=sonatype-nexus-staging -DpomFile=java/rocksjni.pom -Dfile=java/target/rocksdbjni-$(ROCKSDB_MAJOR).$(ROCKSDB_MINOR).$(ROCKSDB_PATCH)-sources.jar -Dclassifier=sources
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
#define ROCKSDB_MAJOR 5
|
||||
#define ROCKSDB_MINOR 3
|
||||
#define ROCKSDB_PATCH 3
|
||||
#define ROCKSDB_PATCH 6
|
||||
|
||||
// Do not use these. We made the mistake of declaring macros starting with
|
||||
// double underscore. Now we have to live with our choice. We'll deprecate these
|
||||
|
||||
Vendored
+2
-2
@@ -7,11 +7,11 @@ VAGRANTFILE_API_VERSION = "2"
|
||||
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
|
||||
|
||||
config.vm.define "linux32" do |linux32|
|
||||
linux32.vm.box = "hansode/centos-5.6-i386"
|
||||
linux32.vm.box = "hansode/centos-5.11-i386"
|
||||
end
|
||||
|
||||
config.vm.define "linux64" do |linux64|
|
||||
linux64.vm.box = "hansode/centos-5.6-x86_64"
|
||||
linux64.vm.box = "hansode/centos-5.11-x86_64"
|
||||
end
|
||||
|
||||
config.vm.provider "virtualbox" do |v|
|
||||
|
||||
@@ -1,17 +1,35 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -e
|
||||
|
||||
# CentOS 5 is now end of life so we need to switch its repos over to the vault
|
||||
sed -i -e '/^mirrorlist=/d' -e 's%^#baseurl=http://mirror.centos.org/centos/$releasever/%baseurl=http://vault.centos.org/5.11/%g' /etc/yum.repos.d/CentOS-Base.repo
|
||||
sed -i -e '/^mirrorlist=/d' -e 's%^#baseurl=http://mirror.centos.org/centos/$releasever/%baseurl=http://vault.centos.org/5.11/%g' /etc/yum.repos.d/CentOS-fasttrack.repo
|
||||
if [ -f /etc/yum.repos.d/libselinux.repo ]; then
|
||||
sed -i -e '/^mirrorlist=/d' -e 's%^#baseurl=http://mirror.centos.org/centos/$releasever/%baseurl=http://vault.centos.org/5.11/%g' /etc/yum.repos.d/libselinux.repo
|
||||
fi
|
||||
|
||||
# enable EPEL
|
||||
sudo yum -y install epel-release
|
||||
|
||||
# install all required packages for rocksdb that are available through yum
|
||||
ARCH=$(uname -i)
|
||||
sudo yum -y install openssl java-1.7.0-openjdk-devel.$ARCH
|
||||
sudo yum -y install openssl java-1.7.0-openjdk-devel.$ARCH zlib-devel bzip2-devel lz4-devel snappy-devel
|
||||
|
||||
# install gcc/g++ 4.8.2 via CERN (http://linux.web.cern.ch/linux/devtoolset/)
|
||||
sudo wget -O /etc/yum.repos.d/slc5-devtoolset.repo http://linuxsoft.cern.ch/cern/devtoolset/slc5-devtoolset.repo
|
||||
sudo wget -O /etc/pki/rpm-gpg/RPM-GPG-KEY-cern http://ftp.mirrorservice.org/sites/ftp.scientificlinux.org/linux/scientific/51/i386/RPM-GPG-KEYs/RPM-GPG-KEY-cern
|
||||
sudo wget -O /etc/pki/rpm-gpg/RPM-GPG-KEY-cern http://ftp.mirrorservice.org/sites/ftp.scientificlinux.org/linux/scientific/obsolete/51/i386/RPM-GPG-KEYs/RPM-GPG-KEY-cern
|
||||
sudo yum -y install devtoolset-2
|
||||
|
||||
wget http://gflags.googlecode.com/files/gflags-2.0-no-svn-files.tar.gz
|
||||
tar xvfz gflags-2.0-no-svn-files.tar.gz; cd gflags-2.0; scl enable devtoolset-2 ./configure; scl enable devtoolset-2 make; sudo make install
|
||||
# install gflags
|
||||
wget https://github.com/gflags/gflags/archive/v2.0.tar.gz -O gflags-2.0.tar.gz
|
||||
tar xvfz gflags-2.0.tar.gz; cd gflags-2.0; scl enable devtoolset-2 ./configure; scl enable devtoolset-2 make; sudo make install
|
||||
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
|
||||
|
||||
# install zstandard
|
||||
wget https://github.com/facebook/zstd/archive/v1.1.3.tar.gz -O zstd-1.1.3.tar.gz
|
||||
tar zxvf zstd-1.1.3.tar.gz; cd zstd-1.1.3; scl enable devtoolset-2 make; sudo make install
|
||||
|
||||
# set java home so we can build rocksdb jars
|
||||
export JAVA_HOME=/usr/lib/jvm/java-1.7.0
|
||||
|
||||
|
||||
Executable
+11
@@ -0,0 +1,11 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -e
|
||||
|
||||
rm -rf /rocksdb-local
|
||||
cp -r /rocksdb-host /rocksdb-local
|
||||
cd /rocksdb-local
|
||||
scl enable devtoolset-2 'make jclean clean'
|
||||
scl enable devtoolset-2 'PORTABLE=1 make rocksdbjavastatic'
|
||||
cp java/target/librocksdbjni-linux*.so java/target/rocksdbjni-*-linux*.jar /rocksdb-host/java/target
|
||||
|
||||
@@ -132,7 +132,7 @@ jbyteArray Java_org_rocksdb_RocksIterator_key0(
|
||||
return nullptr;
|
||||
}
|
||||
env->SetByteArrayRegion(jkey, 0, static_cast<jsize>(key_slice.size()),
|
||||
reinterpret_cast<const jbyte*>(key_slice.data()));
|
||||
const_cast<jbyte*>(reinterpret_cast<const jbyte*>(key_slice.data())));
|
||||
return jkey;
|
||||
}
|
||||
|
||||
@@ -153,6 +153,6 @@ jbyteArray Java_org_rocksdb_RocksIterator_value0(
|
||||
return nullptr;
|
||||
}
|
||||
env->SetByteArrayRegion(jkeyValue, 0, static_cast<jsize>(value_slice.size()),
|
||||
reinterpret_cast<const jbyte*>(value_slice.data()));
|
||||
const_cast<jbyte*>(reinterpret_cast<const jbyte*>(value_slice.data())));
|
||||
return jkeyValue;
|
||||
}
|
||||
@@ -2257,7 +2257,7 @@ class JniUtil {
|
||||
}
|
||||
|
||||
env->SetByteArrayRegion(jbytes, 0, jlen,
|
||||
reinterpret_cast<const jbyte*>(bytes.c_str()));
|
||||
const_cast<jbyte*>(reinterpret_cast<const jbyte*>(bytes.c_str())));
|
||||
if(env->ExceptionCheck()) {
|
||||
// exception thrown: ArrayIndexOutOfBoundsException
|
||||
env->DeleteLocalRef(jbytes);
|
||||
@@ -2384,7 +2384,7 @@ class JniUtil {
|
||||
|
||||
env->SetByteArrayRegion(
|
||||
jbyte_string_ary, 0, str_len,
|
||||
reinterpret_cast<const jbyte*>(str->c_str()));
|
||||
const_cast<jbyte*>(reinterpret_cast<const jbyte*>(str->c_str())));
|
||||
if(env->ExceptionCheck()) {
|
||||
// exception thrown: ArrayIndexOutOfBoundsException
|
||||
env->DeleteLocalRef(jbyte_string_ary);
|
||||
@@ -2509,7 +2509,7 @@ class JniUtil {
|
||||
}
|
||||
|
||||
env->SetByteArrayRegion(jret_value, 0, static_cast<jsize>(value.size()),
|
||||
reinterpret_cast<const jbyte*>(value.c_str()));
|
||||
const_cast<jbyte*>(reinterpret_cast<const jbyte*>(value.c_str())));
|
||||
if(env->ExceptionCheck()) {
|
||||
// exception thrown: ArrayIndexOutOfBoundsException
|
||||
if(jret_value != nullptr) {
|
||||
|
||||
@@ -702,7 +702,7 @@ jint rocksdb_get_helper(JNIEnv* env, rocksdb::DB* db,
|
||||
const jint length = std::min(jval_len, cvalue_len);
|
||||
|
||||
env->SetByteArrayRegion(jval, jval_off, length,
|
||||
reinterpret_cast<const jbyte*>(cvalue.c_str()));
|
||||
const_cast<jbyte*>(reinterpret_cast<const jbyte*>(cvalue.c_str())));
|
||||
if(env->ExceptionCheck()) {
|
||||
// exception thrown: OutOfMemoryError
|
||||
*has_exception = true;
|
||||
@@ -843,7 +843,7 @@ jobjectArray multi_get_helper(JNIEnv* env, jobject jdb, rocksdb::DB* db,
|
||||
}
|
||||
|
||||
env->SetByteArrayRegion(jentry_value, 0, static_cast<jsize>(jvalue_len),
|
||||
reinterpret_cast<const jbyte*>(value->c_str()));
|
||||
const_cast<jbyte*>(reinterpret_cast<const jbyte*>(value->c_str())));
|
||||
if(env->ExceptionCheck()) {
|
||||
// exception thrown: ArrayIndexOutOfBoundsException
|
||||
env->DeleteLocalRef(jentry_value);
|
||||
@@ -1608,7 +1608,7 @@ jlongArray Java_org_rocksdb_RocksDB_iterators(
|
||||
for (std::vector<rocksdb::Iterator*>::size_type i = 0;
|
||||
i < iterators.size(); i++) {
|
||||
env->SetLongArrayRegion(jLongArray, static_cast<jsize>(i), 1,
|
||||
reinterpret_cast<const jlong*>(&iterators[i]));
|
||||
const_cast<jlong*>(reinterpret_cast<const jlong*>(&iterators[i])));
|
||||
if(env->ExceptionCheck()) {
|
||||
// exception thrown: ArrayIndexOutOfBoundsException
|
||||
env->DeleteLocalRef(jLongArray);
|
||||
|
||||
@@ -185,7 +185,7 @@ jbyteArray Java_org_rocksdb_Slice_data0(
|
||||
}
|
||||
|
||||
env->SetByteArrayRegion(data, 0, len,
|
||||
reinterpret_cast<const jbyte*>(slice->data()));
|
||||
const_cast<jbyte*>(reinterpret_cast<const jbyte*>(slice->data())));
|
||||
if(env->ExceptionCheck()) {
|
||||
// exception thrown: ArrayIndexOutOfBoundsException
|
||||
env->DeleteLocalRef(data);
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
* Method: newSstFileWriter
|
||||
* 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 joptions,
|
||||
jlong jcomparator) {
|
||||
@@ -35,22 +35,6 @@ jlong Java_org_rocksdb_SstFileWriter_newSstFileWriter__JJJ(JNIEnv *env, jclass j
|
||||
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
|
||||
* Method: open
|
||||
|
||||
@@ -107,7 +107,7 @@ jbyteArray Java_org_rocksdb_WriteBatchTest_getContents(
|
||||
}
|
||||
|
||||
env->SetByteArrayRegion(jstate, 0, static_cast<jsize>(state.size()),
|
||||
reinterpret_cast<const jbyte*>(state.c_str()));
|
||||
const_cast<jbyte*>(reinterpret_cast<const jbyte*>(state.c_str())));
|
||||
if(env->ExceptionCheck()) {
|
||||
// exception thrown: ArrayIndexOutOfBoundsException
|
||||
env->DeleteLocalRef(jstate);
|
||||
|
||||
@@ -286,7 +286,7 @@ jbyteArray WriteBatchHandlerJniCallback::sliceToJArray(const Slice& s) {
|
||||
|
||||
m_env->SetByteArrayRegion(
|
||||
ja, 0, static_cast<jsize>(s.size()),
|
||||
reinterpret_cast<const jbyte*>(s.data()));
|
||||
const_cast<jbyte*>(reinterpret_cast<const jbyte*>(s.data())));
|
||||
if(m_env->ExceptionCheck()) {
|
||||
if(ja != nullptr) {
|
||||
m_env->DeleteLocalRef(ja);
|
||||
|
||||
@@ -16,11 +16,6 @@ public class SstFileWriter extends RocksObject {
|
||||
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 {
|
||||
open(nativeHandle_, filePath);
|
||||
}
|
||||
@@ -40,9 +35,6 @@ public class SstFileWriter extends RocksObject {
|
||||
private native static long newSstFileWriter(
|
||||
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 add(final long handle, final long keyHandle, final long valueHandle)
|
||||
|
||||
@@ -27,23 +27,13 @@ public class SstFileWriterTest {
|
||||
|
||||
@Rule public TemporaryFolder parentFolder = new TemporaryFolder();
|
||||
|
||||
private File newSstFile(final TreeMap<String, String> keyValues,
|
||||
boolean useJavaBytewiseComparator)
|
||||
private File newSstFile(final TreeMap<String, String> keyValues)
|
||||
throws IOException, RocksDBException {
|
||||
final EnvOptions envOptions = new EnvOptions();
|
||||
final Options options = new Options();
|
||||
SstFileWriter sstFileWriter = null;
|
||||
ComparatorOptions comparatorOptions = null;
|
||||
BytewiseComparator comparator = null;
|
||||
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 ComparatorOptions comparatorOptions = new ComparatorOptions();
|
||||
final BytewiseComparator comparator = new BytewiseComparator(comparatorOptions);
|
||||
final Options options = new Options().setComparator(comparator);
|
||||
final SstFileWriter sstFileWriter = new SstFileWriter(envOptions, options, comparator);
|
||||
final File sstFile = parentFolder.newFile(SST_FILE_NAME);
|
||||
try {
|
||||
sstFileWriter.open(sstFile.getAbsolutePath());
|
||||
@@ -60,30 +50,18 @@ public class SstFileWriterTest {
|
||||
sstFileWriter.close();
|
||||
options.close();
|
||||
envOptions.close();
|
||||
if (comparatorOptions != null) {
|
||||
comparatorOptions.close();
|
||||
}
|
||||
if (comparator != null) {
|
||||
comparator.close();
|
||||
}
|
||||
comparatorOptions.close();
|
||||
comparator.close();
|
||||
}
|
||||
return sstFile;
|
||||
}
|
||||
|
||||
@Test
|
||||
public void generateSstFileWithJavaComparator() throws RocksDBException, IOException {
|
||||
public void generateSstFile() throws RocksDBException, IOException {
|
||||
final TreeMap<String, String> keyValues = new TreeMap<>();
|
||||
keyValues.put("key1", "value1");
|
||||
keyValues.put("key2", "value2");
|
||||
newSstFile(keyValues, true);
|
||||
}
|
||||
|
||||
@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);
|
||||
newSstFile(keyValues);
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -91,7 +69,7 @@ public class SstFileWriterTest {
|
||||
final TreeMap<String, String> keyValues = new TreeMap<>();
|
||||
keyValues.put("key1", "value1");
|
||||
keyValues.put("key2", "value2");
|
||||
final File sstFile = newSstFile(keyValues, false);
|
||||
final File sstFile = newSstFile(keyValues);
|
||||
final File dbFolder = parentFolder.newFolder(DB_DIRECTORY_NAME);
|
||||
final Options options = new Options().setCreateIfMissing(true);
|
||||
final RocksDB db = RocksDB.open(options, dbFolder.getAbsolutePath());
|
||||
|
||||
Reference in new issue
Block a user