[
https://issues.apache.org/jira/browse/ZOOKEEPER-2967?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16334331#comment-16334331
]
ASF GitHub Bot commented on ZOOKEEPER-2967:
-------------------------------------------
Github user anmolnar commented on a diff in the pull request:
https://github.com/apache/zookeeper/pull/450#discussion_r162947080
--- Diff:
src/java/test/org/apache/zookeeper/server/persistence/FileTxnSnapLogTest.java
---
@@ -159,4 +159,222 @@ public void onTxnLoaded(TxnHeader hdr, Record rec) {
}
}
}
+
+ @Test
+ public void testDirCheckWithCorrectFiles() throws IOException {
+ File tmpDir = ClientBase.createEmptyTestDir();
+ File logDir = new File(tmpDir, "logdir");
+ File snapDir = new File(tmpDir, "snapdir");
+ File logVersionDir = new File(logDir, FileTxnSnapLog.version +
FileTxnSnapLog.VERSION);
+ File snapVersionDir = new File(snapDir, FileTxnSnapLog.version +
FileTxnSnapLog.VERSION);
+
+ if (!logVersionDir.exists()) {
+ logVersionDir.mkdirs();
+ }
+ if (!snapVersionDir.exists()) {
+ snapVersionDir.mkdirs();
+ }
+
+ Assert.assertTrue(logVersionDir.exists());
+ Assert.assertTrue(snapVersionDir.exists());
+
+ // transaction log files in log dir - correct
+ File logFile1 = new File(logVersionDir.getPath() +File.separator +
Util.makeLogName(1L));
+ logFile1.createNewFile();
+ File logFile2 = new File(logVersionDir.getPath() +File.separator +
Util.makeLogName(2L));
+ logFile2.createNewFile();
+
+ // snapshot files in snap dir - correct
+ File snapFile1 = new File(snapVersionDir.getPath() +File.separator
+ Util.makeSnapshotName(1L));
+ snapFile1.createNewFile();
+ File snapFile2 = new File(snapVersionDir.getPath() +File.separator
+ Util.makeSnapshotName(2L));
+ snapFile2.createNewFile();
+
+ Assert.assertTrue(logFile1.exists());
+ Assert.assertTrue(logFile2.exists());
+ Assert.assertTrue(snapFile1.exists());
+ Assert.assertTrue(snapFile2.exists());
--- End diff --
Again, I believe these checks are redundant. createNewFile() will always
successfully create the file or throws exception.
> Add check to validate dataDir and dataLogDir parameters at startup
> ------------------------------------------------------------------
>
> Key: ZOOKEEPER-2967
> URL: https://issues.apache.org/jira/browse/ZOOKEEPER-2967
> Project: ZooKeeper
> Issue Type: Improvement
> Components: server
> Affects Versions: 3.4.11
> Reporter: Andor Molnar
> Assignee: Mark Fenes
> Priority: Major
> Labels: startup, validation
> Fix For: 3.5.4, 3.6.0, 3.4.12
>
>
> According to -ZOOKEEPER-2960- we should at a startup check to validate that
> dataDir and dataLogDir parameters are set correctly.
> Perhaps we should introduce a check of some kind? If datalogdir is different
> that datadir and snapshots exist in datalogdir we throw an exception and quit.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)