diff --git a/harvester/harvester-core/src/main/java/dk/netarkivet/harvester/HarvesterSettings.java b/harvester/harvester-core/src/main/java/dk/netarkivet/harvester/HarvesterSettings.java
index 6277c9eb2f..3c65f0743d 100644
--- a/harvester/harvester-core/src/main/java/dk/netarkivet/harvester/HarvesterSettings.java
+++ b/harvester/harvester-core/src/main/java/dk/netarkivet/harvester/HarvesterSettings.java
@@ -503,6 +503,11 @@ public class HarvesterSettings {
*/
public static String METADATA_ARCHIVE_FILES_REPORT_HEADER = "settings.harvester.harvesting.metadata.archiveFilesReport.fileHeader";
+ /**
+ * The version number which goes in metadata file names like 12345-metadata-<version number>.warc.gz
+ */
+ public static String METADATA_FILE_VERSION_NUMBER = "settings.harvester.harvesting.metadata.filename.versionnumber";
+
/**
* settings.harvester.aliases.timeout The amount of time in seconds before an alias times out, and needs to
* be re-evaluated. The default value is one year, i.e 31536000 seconds.
diff --git a/harvester/harvester-core/src/main/java/dk/netarkivet/harvester/harvesting/metadata/MetadataFileWriter.java b/harvester/harvester-core/src/main/java/dk/netarkivet/harvester/harvesting/metadata/MetadataFileWriter.java
index 8dcdb0abc6..aaf016eed3 100644
--- a/harvester/harvester-core/src/main/java/dk/netarkivet/harvester/harvesting/metadata/MetadataFileWriter.java
+++ b/harvester/harvester-core/src/main/java/dk/netarkivet/harvester/harvesting/metadata/MetadataFileWriter.java
@@ -121,18 +121,19 @@ public static String getMetadataArchiveFileName(String jobID, Long harvestID) th
if (compressionOn) {
possibleGzSuffix = ".gz";
}
+ int versionNumber = Settings.getInt(HarvesterSettings.METADATA_FILE_VERSION_NUMBER);
switch (metadataFormat) {
case MDF_ARC:
if(isPrefix) {
- return collectionName + "-" + jobID + "-" + harvestID + "-metadata-" + 1 + ".arc" + possibleGzSuffix;
+ return collectionName + "-" + jobID + "-" + harvestID + "-metadata-" + versionNumber + ".arc" + possibleGzSuffix;
} else {
- return jobID + "-metadata-" + 1 + ".arc" + possibleGzSuffix;
+ return jobID + "-metadata-" + versionNumber + ".arc" + possibleGzSuffix;
}
case MDF_WARC:
if(isPrefix) {
- return collectionName + "-" + jobID + "-" + harvestID + "-metadata-" + 1 + ".warc" + possibleGzSuffix;
+ return collectionName + "-" + jobID + "-" + harvestID + "-metadata-" + versionNumber + ".warc" + possibleGzSuffix;
} else {
- return jobID + "-metadata-" + 1 + ".warc" + possibleGzSuffix;
+ return jobID + "-metadata-" + versionNumber + ".warc" + possibleGzSuffix;
}
default:
throw new ArgumentNotValid("Configuration of '" + HarvesterSettings.METADATA_FORMAT + "' is invalid!");
diff --git a/harvester/harvester-core/src/main/resources/dk/netarkivet/harvester/settings.xml b/harvester/harvester-core/src/main/resources/dk/netarkivet/harvester/settings.xml
index 2dffef0d3f..852d3bf12f 100644
--- a/harvester/harvester-core/src/main/resources/dk/netarkivet/harvester/settings.xml
+++ b/harvester/harvester-core/src/main/resources/dk/netarkivet/harvester/settings.xml
@@ -202,6 +202,9 @@ National Library.
warc
false
default
+
+ 1
+