SOLR-11198: downconfig downloads empty file as folder, test failures possible fix and logging

This commit is contained in:
Erick Erickson 2017-08-06 18:21:48 -07:00
parent 44de7b2306
commit e053e2298f
2 changed files with 19 additions and 4 deletions

View File

@ -21,6 +21,7 @@ import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.IOException;
import java.io.PrintStream;
import java.lang.invoke.MethodHandles;
import java.nio.charset.Charset;
import java.nio.charset.StandardCharsets;
import java.nio.file.FileVisitResult;
@ -40,9 +41,13 @@ import org.apache.zookeeper.data.Stat;
import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class SolrCLIZkUtilsTest extends SolrCloudTestCase {
private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
@BeforeClass
public static void setupCluster() throws Exception {
configureCluster(1)
@ -401,7 +406,7 @@ public class SolrCLIZkUtilsTest extends SolrCloudTestCase {
args = new String[]{
"-src", "file:" + emptyFile.toAbsolutePath().toString(),
"-dst", "zk:/cp7/conf/stopwords/emptyFile",
"-dst", "zk:/cp7/conf/stopwords/emptyfile",
"-recurse", "false",
"-zkHost", zkAddr,
};
@ -410,9 +415,9 @@ public class SolrCLIZkUtilsTest extends SolrCloudTestCase {
assertEquals("Copy should have succeeded.", 0, res);
Path tmp2 = createTempDir("cp9");
Path emptyDest = Paths.get(tmp2.toAbsolutePath().toString(), "emptyFile");
Path emptyDest = Paths.get(tmp2.toAbsolutePath().toString(), "emptyfile");
args = new String[]{
"-src", "zk:/cp7/conf/stopwords/emptyFile",
"-src", "zk:/cp7/conf/stopwords/emptyfile",
"-dst", "file:" + emptyDest.toAbsolutePath().toString(),
"-recurse", "false",
"-zkHost", zkAddr,
@ -445,7 +450,12 @@ public class SolrCLIZkUtilsTest extends SolrCloudTestCase {
res = cpTool.runTool(SolrCLI.processCommandLineArgs(SolrCLI.joinCommonAndToolOptions(cpTool.getOptions()), args));
assertEquals("Copy should have succeeded.", 0, res);
Path locEmpty = Paths.get(tmp2.toAbsolutePath().toString(), "stopwords", "emptyFile");
Path locEmpty = Paths.get(tmp2.toAbsolutePath().toString(), "stopwords", "emptyfile");
log.info("EOE Checking file at (var1) " + locEmpty.toAbsolutePath().toString()); // TODO: remove me EOE
log.info("EOE Checking file at (var2) " + locEmpty.toFile().getAbsolutePath()); // TODO: remove me EOE
log.info("EOE Checking file exists: " + Boolean.toString(locEmpty.toFile().exists()));
log.info("EOE Checking isFile: " + Boolean.toString(locEmpty.toFile().isFile()));
log.info("EOE Checking isDirectory: " + Boolean.toString(locEmpty.toFile().isDirectory())); //TODO: remove me EOE to here.
assertTrue("Empty files should NOT be copied down as directories", locEmpty.toFile().isFile());
}

View File

@ -314,7 +314,12 @@ public class ZkMaintenanceUtils {
// If we didn't copy data down, then we also didn't create the file. But we still need a marker on the local
// disk so create an empty file.
if (copyDataDown(zkClient, zkPath, file.toFile()) == 0) {
log.info("EOE Creating file at (var 1)" + file.toAbsolutePath().toString()); // TODO remove me EOE
log.info("EOE Creating file at (var2) " + file.toFile().getAbsolutePath()); // TODO remove me EOE
Files.createFile(file);
log.info("EOE Creating file exists: " + Boolean.toString(file.toFile().exists()));
log.info("EOE Creating isFile: " + Boolean.toString(file.toFile().isFile()));
log.info("EOE Creating isDirectory: " + Boolean.toString(file.toFile().isDirectory())); //TODO: remove me EOE to here.
}
} else {
Files.createDirectories(file); // Make parent dir.