static public void silentRename(Path source, String prefix) {
try {
- String fileName = String.format("%s%s", prefix, source.getFileName().toString());
+ String fileName = String.format("%s-%s", prefix, source.getFileName().toString());
Path target = Paths.get(source.getParent().toAbsolutePath().toString(), fileName);
Files.move(source, target);
log.info("File renamed to: {}", target);
import java.nio.file.Paths;
import java.time.Duration;
import java.time.Instant;
-import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.Set;
import java.util.TimeZone;
process(filePath, status, fileNamesWithKillDates, forceDeleteArchived);
} catch (Exception e) {
log.error(e.getMessage());
- FileOperations.silentRename(filePath, FileOperations.ERROR_FILENAME_PREFIX + formatter.format(LocalDate.now()));
+ FileOperations.silentRename(filePath, FileOperations.ERROR_FILENAME_PREFIX + formatter.format(Instant.now()));
} finally {
archivestatusService.logStatus(status);
}
}
private void deleteArchivedFileAndStatusFiles(Path source, ArchiveFileStatus status) throws IOException {
- String fileName = source.getFileName().toString();
- Path statusPath = FileOperations.getStatusPath(source);
- status.setStatusCleanupSuccess(statusFileService.cleanupStatusFiles(statusPath, fileName));
- status.setDeleteSuccess(FileOperations.silentDelete(source));
+ log.info("Delete for {} is inactive", source);
+// String fileName = source.getFileName().toString();
+// Path statusPath = FileOperations.getStatusPath(source);
+// status.setStatusCleanupSuccess(statusFileService.cleanupStatusFiles(statusPath, fileName));
+// status.setDeleteSuccess(FileOperations.silentDelete(source));
}
}
.fileName(fileName)
.fileSize(length)
.creationTime(attr.creationTime())
- .creationTime(attr.lastAccessTime())
- .creationTime(attr.lastModifiedTime())
+ .lastAccessTime(attr.lastAccessTime())
+ .lastModifiedTime(attr.lastModifiedTime())
.build();
}
public void logHeader() {
- log.info(CSV_MARKER, "timestamp;fileName;fileSize;creationTime;lastAccessTime;lastModifiedTime;metadataOnly;metadataExists;tsmFileExists;fileSizeEquals;hashEquals;canDelete;deleteSuccess;statusCleanupSuccess");
+ log.info(CSV_MARKER, "fileName;fileSize;creationTime;lastAccessTime;lastModifiedTime;metadataOnly;metadataExists;tsmFileExists;fileSizeEquals;hashEquals;canDelete;deleteSuccess;statusCleanupSuccess");
}
public void logStatus(ArchiveFileStatus status) {
private static final String TMP_PREFIX = "TSM-RESTORED-";
- private Path restore(Path source) throws Exception {
+ private Path restore(Path source, ArchiveFileStatus status) throws Exception {
Path result = null;
TSMClient server = null;
try {
throw new Exception(String.format("Restored file not exists: %s ", result));
}
log.info("TSM file successfully restored to: {}", result);
+ status.setTsmFileExists(true);
}
} catch (Exception e) {
public void verify(Path source, ArchiveFileStatus status) throws Exception {
Path restored = null;
try {
- restored = restore(source);
+ restored = restore(source, status);
long restoredLength = restored.toFile().length();
long originalLength = source.toFile().length();
if (originalLength != restoredLength) {
String originalMD5 = createMD5Hash(source);
String restoredMD5 = createMD5Hash(restored);
if (!StringUtils.equals(originalMD5, restoredMD5)) {
- throw new Exception(String.format("File MD5 hash mismatch. Expected %d, found %d", originalMD5, restoredMD5));
+ throw new Exception(String.format("File MD5 hash mismatch. Expected %s, found %s", originalMD5, restoredMD5));
}
log.info("MD5 hash check passed: {}", originalMD5);
status.setHashEquals(true);