diff options
| author | Shireesh Anjal <shireesh@gluster.com> | 2011-06-10 16:11:36 +0530 |
|---|---|---|
| committer | Shireesh Anjal <shireesh@gluster.com> | 2011-06-10 16:11:36 +0530 |
| commit | 19ae0ace5419f0cbf7a953311d45cc29bc1bcfc1 (patch) | |
| tree | 2b9c0571634c122e2ad3f2145aad257c97ff89fc | |
| parent | 2b228a44719bbfa33ae87da2cf04c50b1c00f378 (diff) | |
Bug 2897 - Complete brick log file will not be downloaded
2 files changed, 24 insertions, 8 deletions
diff --git a/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/utils/FileUtil.java b/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/utils/FileUtil.java index d93ab2fb..d10dfee5 100644 --- a/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/utils/FileUtil.java +++ b/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/utils/FileUtil.java @@ -107,20 +107,28 @@ public class FileUtil { * the file or dir to delete * @return true if all files are successfully deleted */ - public static boolean recursiveDelete(File fileOrDir) + public static void recursiveDelete(File fileOrDir) { if(fileOrDir.isDirectory()) { // recursively delete contents for(File innerFile: fileOrDir.listFiles()) { - if(!recursiveDelete(innerFile)) - { - return false; - } + recursiveDelete(innerFile); } } - return fileOrDir.delete(); + if(!fileOrDir.delete()) { + throw new GlusterRuntimeException("Couldn't delete file/directory [" + fileOrDir + "]"); + } + } + + public static void renameFile(String fromPath, String toPath) { + File fromFile = new File(fromPath); + File toFile = new File(toPath); + + if(!fromFile.renameTo(toFile)) { + throw new GlusterRuntimeException("Couldn't rename [" + fromFile + "] to [" + toFile + "]"); + } } -}
\ No newline at end of file +} diff --git a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/VolumesResource.java b/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/VolumesResource.java index c8796d27..99e256ff 100644 --- a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/VolumesResource.java +++ b/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/VolumesResource.java @@ -453,8 +453,9 @@ public class VolumesResource { output.write(FileUtil.readFileAsByteArray(archiveFile)); archiveFile.delete(); } catch (Exception e) { + # TODO: Log the exception e.printStackTrace(); - throw new GlusterRuntimeException("Exception while downloading/archiving volume log files!", e); + throw e; } } }; @@ -472,6 +473,13 @@ public class VolumesResource { String logFilePath = logDir + CoreConstants.FILE_SEPARATOR + logFileName; serverUtil.getFileFromServer(brick.getServerName(), logFilePath, tempDirPath); + + String fetchedLogFile = tempDirPath + File.separator + logFileName; + // append log file name with server name so that log files don't overwrite each other + // in cases where the brick log file names are same on multiple servers + String localLogFile = tempDirPath + File.separator + brick.getServerName() + "-" + logFileName; + + FileUtil.renameFile(fetchedLogFile, localLogFile); } String gzipPath = FileUtil.getTempDirName() + CoreConstants.FILE_SEPARATOR + volume.getName() + "-logs.tar.gz"; |
