You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@zookeeper.apache.org by ph...@apache.org on 2018/04/27 18:29:24 UTC

zookeeper git commit: ZOOKEEPER-3027: Accidently removed public API of FileTxnLog.setPreallocSize()

Repository: zookeeper
Updated Branches:
  refs/heads/master 2c0168ad3 -> 5c9688764


ZOOKEEPER-3027: Accidently removed public API of FileTxnLog.setPreallocSize()

In my latest commit regarding TxnLogToolkit there's a refactor to outsource file padding logic from FileTxnLog to a separate class:

https://github.com/apache/zookeeper/commit/126fb0f22d701cad58bf3123bf7d8f2219e60387#diff-89717124564925d61d29dd817bcdd915L147

Unfortunately public static method setPreallocSize(int) has also been moved to the new class, but it's being actively used by hadoop-common project too:

https://github.com/apache/hadoop/blob/trunk/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/ha/ClientBaseWithFixes.java#L384

I'd like to submit a patch to revert the deleted method which is going to call the new one, but will keep backward compatibility with Hadoop.

Author: Andor Molnar <an...@cloudera.com>

Reviewers: phunt@apache.org

Closes #509 from anmolnar/ZOOKEEPER-3027

Change-Id: I7333b5e24c2a78d10a5c5a74c181633050bd225d


Project: http://git-wip-us.apache.org/repos/asf/zookeeper/repo
Commit: http://git-wip-us.apache.org/repos/asf/zookeeper/commit/5c968876
Tree: http://git-wip-us.apache.org/repos/asf/zookeeper/tree/5c968876
Diff: http://git-wip-us.apache.org/repos/asf/zookeeper/diff/5c968876

Branch: refs/heads/master
Commit: 5c96887643b2465caabbfd4763c7ebb3cd1aa024
Parents: 2c0168a
Author: Andor Molnar <an...@cloudera.com>
Authored: Fri Apr 27 11:28:15 2018 -0700
Committer: Patrick Hunt <ph...@apache.org>
Committed: Fri Apr 27 11:28:15 2018 -0700

----------------------------------------------------------------------
 .../apache/zookeeper/server/persistence/FilePadding.java  |  7 +++++++
 .../apache/zookeeper/server/persistence/FileTxnLog.java   |  9 +++++++++
 .../zookeeper/server/persistence/FileTxnLogTest.java      | 10 ++++++++++
 3 files changed, 26 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/zookeeper/blob/5c968876/src/java/main/org/apache/zookeeper/server/persistence/FilePadding.java
----------------------------------------------------------------------
diff --git a/src/java/main/org/apache/zookeeper/server/persistence/FilePadding.java b/src/java/main/org/apache/zookeeper/server/persistence/FilePadding.java
index c4052e9..49fde24 100644
--- a/src/java/main/org/apache/zookeeper/server/persistence/FilePadding.java
+++ b/src/java/main/org/apache/zookeeper/server/persistence/FilePadding.java
@@ -46,6 +46,13 @@ public class FilePadding {
     private long currentSize;
 
     /**
+     * Getter of preAllocSize has been added for testing
+     */
+    public static long getPreAllocSize() {
+        return preAllocSize;
+    }
+
+    /**
      * method to allow setting preallocate size
      * of log file to pad the file.
      *

http://git-wip-us.apache.org/repos/asf/zookeeper/blob/5c968876/src/java/main/org/apache/zookeeper/server/persistence/FileTxnLog.java
----------------------------------------------------------------------
diff --git a/src/java/main/org/apache/zookeeper/server/persistence/FileTxnLog.java b/src/java/main/org/apache/zookeeper/server/persistence/FileTxnLog.java
index fae7f02..f79521b 100644
--- a/src/java/main/org/apache/zookeeper/server/persistence/FileTxnLog.java
+++ b/src/java/main/org/apache/zookeeper/server/persistence/FileTxnLog.java
@@ -136,6 +136,15 @@ public class FileTxnLog implements TxnLog {
     }
 
     /**
+      * method to allow setting preallocate size
+      * of log file to pad the file.
+      * @param size the size to set to in bytes
+      */
+    public static void setPreallocSize(long size) {
+        FilePadding.setPreallocSize(size);
+    }
+
+    /**
      * creates a checksum algorithm to be used
      * @return the checksum used for this txnlog
      */

http://git-wip-us.apache.org/repos/asf/zookeeper/blob/5c968876/src/java/test/org/apache/zookeeper/server/persistence/FileTxnLogTest.java
----------------------------------------------------------------------
diff --git a/src/java/test/org/apache/zookeeper/server/persistence/FileTxnLogTest.java b/src/java/test/org/apache/zookeeper/server/persistence/FileTxnLogTest.java
index 97cbc37..32001ae 100644
--- a/src/java/test/org/apache/zookeeper/server/persistence/FileTxnLogTest.java
+++ b/src/java/test/org/apache/zookeeper/server/persistence/FileTxnLogTest.java
@@ -31,6 +31,9 @@ import java.io.File;
 import java.io.IOException;
 import java.util.Arrays;
 
+import static org.hamcrest.core.Is.is;
+import static org.hamcrest.core.IsEqual.equalTo;
+
 public class FileTxnLogTest  extends ZKTestCase {
   protected static final Logger LOG = LoggerFactory.getLogger(FileTxnLogTest.class);
 
@@ -98,4 +101,11 @@ public class FileTxnLogTest  extends ZKTestCase {
     createTxn = (CreateTxn) fileTxnIterator.getTxn();
     Assert.assertTrue(Arrays.equals(createTxn.getData(), new byte[]{}));
   }
+
+  @Test
+  public void testSetPreallocSize() {
+    long customPreallocSize = 10101;
+    FileTxnLog.setPreallocSize(customPreallocSize);
+    Assert.assertThat(FilePadding.getPreAllocSize(), is(equalTo(customPreallocSize)));
+  }
 }