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