[partial-ns] Add sync options in WriteOptions.
Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/af9ff74e Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/af9ff74e Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/af9ff74e Branch: refs/heads/feature-HDFS-8286 Commit: af9ff74e8ba89fd7025c025b00eedbad7e38d991 Parents: 8a8b70d Author: Haohui Mai <whe...@apache.org> Authored: Mon Sep 22 16:06:02 2014 -0700 Committer: Haohui Mai <whe...@apache.org> Committed: Fri Jun 12 13:57:00 2015 -0700 ---------------------------------------------------------------------- .../main/java/org/apache/hadoop/hdfs/hdfsdb/NativeObject.java | 2 +- .../main/java/org/apache/hadoop/hdfs/hdfsdb/WriteOptions.java | 6 ++++++ .../hadoop-hdfsdb/src/main/native/jni/bindings.cc | 5 +++++ 3 files changed, 12 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hadoop/blob/af9ff74e/hadoop-hdfs-project/hadoop-hdfsdb/src/main/java/org/apache/hadoop/hdfs/hdfsdb/NativeObject.java ---------------------------------------------------------------------- diff --git a/hadoop-hdfs-project/hadoop-hdfsdb/src/main/java/org/apache/hadoop/hdfs/hdfsdb/NativeObject.java b/hadoop-hdfs-project/hadoop-hdfsdb/src/main/java/org/apache/hadoop/hdfs/hdfsdb/NativeObject.java index 0290e84..311485f 100644 --- a/hadoop-hdfs-project/hadoop-hdfsdb/src/main/java/org/apache/hadoop/hdfs/hdfsdb/NativeObject.java +++ b/hadoop-hdfs-project/hadoop-hdfsdb/src/main/java/org/apache/hadoop/hdfs/hdfsdb/NativeObject.java @@ -19,7 +19,7 @@ package org.apache.hadoop.hdfs.hdfsdb; abstract class NativeObject implements AutoCloseable { static { - System.loadLibrary("hdfs-jni"); + System.loadLibrary("hdfsdb-jni"); } protected long nativeHandle; protected long nativeHandle() { return nativeHandle; } http://git-wip-us.apache.org/repos/asf/hadoop/blob/af9ff74e/hadoop-hdfs-project/hadoop-hdfsdb/src/main/java/org/apache/hadoop/hdfs/hdfsdb/WriteOptions.java ---------------------------------------------------------------------- diff --git a/hadoop-hdfs-project/hadoop-hdfsdb/src/main/java/org/apache/hadoop/hdfs/hdfsdb/WriteOptions.java b/hadoop-hdfs-project/hadoop-hdfsdb/src/main/java/org/apache/hadoop/hdfs/hdfsdb/WriteOptions.java index cd6d2b7..88ebcad 100644 --- a/hadoop-hdfs-project/hadoop-hdfsdb/src/main/java/org/apache/hadoop/hdfs/hdfsdb/WriteOptions.java +++ b/hadoop-hdfs-project/hadoop-hdfsdb/src/main/java/org/apache/hadoop/hdfs/hdfsdb/WriteOptions.java @@ -22,6 +22,11 @@ public class WriteOptions extends NativeObject { super(construct()); } + public WriteOptions sync(boolean value) { + sync(nativeHandle, value); + return this; + } + @Override public void close() { if (nativeHandle != 0) { @@ -32,4 +37,5 @@ public class WriteOptions extends NativeObject { private static native long construct(); private static native void destruct(long handle); + private static native void sync(long handle, boolean value); } http://git-wip-us.apache.org/repos/asf/hadoop/blob/af9ff74e/hadoop-hdfs-project/hadoop-hdfsdb/src/main/native/jni/bindings.cc ---------------------------------------------------------------------- diff --git a/hadoop-hdfs-project/hadoop-hdfsdb/src/main/native/jni/bindings.cc b/hadoop-hdfs-project/hadoop-hdfsdb/src/main/native/jni/bindings.cc index 6682159..0b03766 100644 --- a/hadoop-hdfs-project/hadoop-hdfsdb/src/main/native/jni/bindings.cc +++ b/hadoop-hdfs-project/hadoop-hdfsdb/src/main/native/jni/bindings.cc @@ -224,6 +224,11 @@ jlong JNICALL Java_org_apache_hadoop_hdfs_hdfsdb_WriteOptions_construct(JNIEnv * return uintptr(new leveldb::WriteOptions()); } +void JNICALL Java_org_apache_hadoop_hdfs_hdfsdb_WriteOptions_sync(JNIEnv *, jclass, jlong handle, jboolean value) { + leveldb::WriteOptions *options = reinterpret_cast<leveldb::WriteOptions*>(handle); + options->sync = value; +} + void JNICALL Java_org_apache_hadoop_hdfs_hdfsdb_WriteOptions_destruct(JNIEnv *, jclass, jlong handle) { delete reinterpret_cast<leveldb::WriteOptions*>(handle); }