[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);
 }

Reply via email to