[
https://issues.apache.org/jira/browse/ZOOKEEPER-734?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Vishal K updated ZOOKEEPER-734:
-------------------------------
Attachment: ZOOKEEPER-734.patch
Request for review.
There is probably a better way to handle backlashes in Windows. I tried a use
properties (file.separator etc), but didn't work. So finally decided to do it
the dumb way. Replace "\\" with "/". If we done replace backslash, then java
considers it as escape sequence and essentially the backslash gets removed.
Please, feel free to drop the patch If there is a better way to handle it.
> QuorumPeerTestBase.java and ZooKeeperServerMainTest.java do not handle
> windows path correctly
> ---------------------------------------------------------------------------------------------
>
> Key: ZOOKEEPER-734
> URL: https://issues.apache.org/jira/browse/ZOOKEEPER-734
> Project: Zookeeper
> Issue Type: Bug
> Components: tests
> Affects Versions: 3.3.0
> Environment: Windows 32-bit
> Reporter: Vishal K
> Fix For: 3.3.1, 3.4.0
>
> Attachments: ZOOKEEPER-734.patch
>
>
> While runniing "ant test-core-java" QuorumPeerTestBase.java and
> ZooKeeperServerMainTest.java fail. The problem seems to be in
> ZookeeperserverMainTest.java:MainThread():66 and in
> QuorumPeerBaseTest.java:MainThread:76.
> FileWriter.write() writes windows path to the conf file. Java does not like
> windows path. Therefore, the test complains that it cannot find myid and
> fails.
> Solution - convert windows path to UNIX path. This worked for me on windows.
> Diffs are attached below. Solution not tested on Linux since for some reason
> build is failing (due to problems not related to this change).
> vmc-floorb-dhcp116-114:/opt/zksrc/zookeeper-3.3.0/src/java/test/org/apache/zookeeper/server
> # svn diff
> Index: ZooKeeperServerMainTest.java
> ===================================================================
> --- ZooKeeperServerMainTest.java (revision 931240)
> +++ ZooKeeperServerMainTest.java (working copy)
> @@ -61,7 +61,8 @@
> if (!dataDir.mkdir()) {
> throw new IOException("unable to mkdir " + dataDir);
> }
> - fwriter.write("dataDir=" + dataDir.toString() + "\n");
> + String data = dataDir.toString().replace('\\', '/');
> + fwriter.write("dataDir=" + data + "\n");
>
> fwriter.write("clientPort=" + clientPort + "\n");
> fwriter.flush();
> Index: quorum/QuorumPeerTestBase.java
> ===================================================================
> --- quorum/QuorumPeerTestBase.java (revision 931240)
> +++ quorum/QuorumPeerTestBase.java (working copy)
> @@ -73,7 +73,8 @@
> if (!dataDir.mkdir()) {
> throw new IOException("Unable to mkdir " + dataDir);
> }
> - fwriter.write("dataDir=" + dataDir.toString() + "\n");
> + String data = dataDir.toString().replace('\\', '/');
> + fwriter.write("dataDir=" + data + "\n");
>
> fwriter.write("clientPort=" + clientPort + "\n");
> fwriter.write(quorumCfgSection + "\n");
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.