[tor-commits] [collector/master] Set default locale US and default time zone UTC.

karsten at torproject.org karsten at torproject.org
Wed Apr 1 10:47:37 UTC 2020


commit 2b90d656d1b6c27f1e9f1d05a4cf747afec26353
Author: Karsten Loesing <karsten.loesing at gmx.net>
Date:   Wed Apr 1 12:45:07 2020 +0200

    Set default locale US and default time zone UTC.
    
    Part of #33655.
---
 CHANGELOG.md                                               |  2 ++
 src/build                                                  |  2 +-
 src/main/java/org/torproject/metrics/collector/Main.java   |  4 ++++
 .../collector/bridgedescs/SanitizedBridgesWriter.java      |  4 ----
 .../metrics/collector/exitlists/ExitListDownloader.java    |  7 ++-----
 .../metrics/collector/onionperf/OnionPerfDownloader.java   |  2 --
 .../metrics/collector/persist/PersistenceUtils.java        |  3 ---
 .../metrics/collector/relaydescs/ArchiveReader.java        |  2 --
 .../metrics/collector/relaydescs/ArchiveWriter.java        | 14 --------------
 .../collector/relaydescs/CachedRelayDescriptorReader.java  |  2 --
 .../metrics/collector/relaydescs/ReferenceChecker.java     |  6 +-----
 .../collector/relaydescs/RelayDescriptorDownloader.java    |  3 ---
 .../collector/relaydescs/RelayDescriptorParser.java        |  3 ---
 13 files changed, 10 insertions(+), 44 deletions(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index c284d47..fa9bb16 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,6 +2,8 @@
 
  * Minor changes
    - Simplify logging configuration.
+   - Set default locale `US` and default time zone `UTC` at the
+     beginning of the execution.
 
 
 # Changes in version 1.14.1 - 2020-01-16
diff --git a/src/build b/src/build
index fd85646..b5e1a2d 160000
--- a/src/build
+++ b/src/build
@@ -1 +1 @@
-Subproject commit fd856466bcb260f53ef69a24c102d0e49d171cc3
+Subproject commit b5e1a2d7b29e58cc0645f068a1ebf4377bf9d8b8
diff --git a/src/main/java/org/torproject/metrics/collector/Main.java b/src/main/java/org/torproject/metrics/collector/Main.java
index 3e8ec33..9a04c6e 100644
--- a/src/main/java/org/torproject/metrics/collector/Main.java
+++ b/src/main/java/org/torproject/metrics/collector/Main.java
@@ -28,7 +28,9 @@ import java.nio.file.Path;
 import java.nio.file.Paths;
 import java.nio.file.StandardCopyOption;
 import java.util.HashMap;
+import java.util.Locale;
 import java.util.Map;
+import java.util.TimeZone;
 
 /**
  * Main class for starting a CollecTor instance.
@@ -71,6 +73,8 @@ public class Main {
    * See class description {@link Main}.
    */
   public static void main(String[] args) {
+    Locale.setDefault(Locale.US);
+    TimeZone.setDefault(TimeZone.getTimeZone("UTC"));
     try {
       Path confPath;
       if (args == null || args.length == 0) {
diff --git a/src/main/java/org/torproject/metrics/collector/bridgedescs/SanitizedBridgesWriter.java b/src/main/java/org/torproject/metrics/collector/bridgedescs/SanitizedBridgesWriter.java
index 6aee057..c4f783a 100644
--- a/src/main/java/org/torproject/metrics/collector/bridgedescs/SanitizedBridgesWriter.java
+++ b/src/main/java/org/torproject/metrics/collector/bridgedescs/SanitizedBridgesWriter.java
@@ -43,7 +43,6 @@ import java.util.List;
 import java.util.Map;
 import java.util.SortedMap;
 import java.util.Stack;
-import java.util.TimeZone;
 import java.util.TreeMap;
 
 /**
@@ -139,7 +138,6 @@ public class SanitizedBridgesWriter extends CollecTorMain {
         config.getBool(Key.ReplaceIpAddressesWithHashes);
     SimpleDateFormat rsyncCatFormat = new SimpleDateFormat(
         "yyyy-MM-dd-HH-mm-ss");
-    rsyncCatFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
     this.rsyncCatString = rsyncCatFormat.format(
         System.currentTimeMillis());
 
@@ -604,7 +602,6 @@ public class SanitizedBridgesWriter extends CollecTorMain {
        * whether this status is possibly stale. */
       SimpleDateFormat formatter = new SimpleDateFormat(
           "yyyy-MM-dd HH:mm:ss");
-      formatter.setTimeZone(TimeZone.getTimeZone("UTC"));
       if (null == mostRecentDescPublished) {
         logger.warn("The bridge network status published at {}"
             + " does not contain a single entry. Please ask the bridge "
@@ -1355,7 +1352,6 @@ public class SanitizedBridgesWriter extends CollecTorMain {
   private void checkStaleDescriptors() {
     SimpleDateFormat dateTimeFormat = new SimpleDateFormat(
         "yyyy-MM-dd HH:mm:ss");
-    dateTimeFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
     long tooOldMillis = System.currentTimeMillis() - 330L * 60L * 1000L;
     try {
       long maxNetworkStatusPublishedMillis =
diff --git a/src/main/java/org/torproject/metrics/collector/exitlists/ExitListDownloader.java b/src/main/java/org/torproject/metrics/collector/exitlists/ExitListDownloader.java
index 49e176b..c6b45da 100644
--- a/src/main/java/org/torproject/metrics/collector/exitlists/ExitListDownloader.java
+++ b/src/main/java/org/torproject/metrics/collector/exitlists/ExitListDownloader.java
@@ -28,7 +28,6 @@ import java.util.Arrays;
 import java.util.Date;
 import java.util.SortedSet;
 import java.util.Stack;
-import java.util.TimeZone;
 import java.util.TreeSet;
 
 public class ExitListDownloader extends CollecTorMain {
@@ -61,9 +60,6 @@ public class ExitListDownloader extends CollecTorMain {
   @Override
   protected void startProcessing() throws ConfigurationException {
 
-    SimpleDateFormat dateTimeFormat =
-        new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
-    dateTimeFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
     outputPathName = Paths.get(config.getPath(Key.OutputPath).toString(),
         EXITLISTS).toString();
     recentPathName = Paths.get(config.getPath(Key.RecentPath).toString(),
@@ -73,6 +69,8 @@ public class ExitListDownloader extends CollecTorMain {
     logger.debug("Downloading exit list...");
     StringBuilder sb = new StringBuilder();
     sb.append(Annotation.ExitList.toString());
+    SimpleDateFormat dateTimeFormat =
+        new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
     sb.append("Downloaded ").append(dateTimeFormat.format(downloadedDate))
         .append("\n");
     URL url = config.getUrl(Key.ExitlistUrl);
@@ -94,7 +92,6 @@ public class ExitListDownloader extends CollecTorMain {
 
     SimpleDateFormat tarballFormat =
         new SimpleDateFormat("yyyy/MM/dd/yyyy-MM-dd-HH-mm-ss");
-    tarballFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
     File tarballFile = Paths.get(outputPathName,
         tarballFormat.format(downloadedDate)).toFile();
 
diff --git a/src/main/java/org/torproject/metrics/collector/onionperf/OnionPerfDownloader.java b/src/main/java/org/torproject/metrics/collector/onionperf/OnionPerfDownloader.java
index dc1a675..b651620 100644
--- a/src/main/java/org/torproject/metrics/collector/onionperf/OnionPerfDownloader.java
+++ b/src/main/java/org/torproject/metrics/collector/onionperf/OnionPerfDownloader.java
@@ -35,7 +35,6 @@ import java.util.Arrays;
 import java.util.List;
 import java.util.SortedSet;
 import java.util.Stack;
-import java.util.TimeZone;
 import java.util.TreeSet;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
@@ -156,7 +155,6 @@ public class OnionPerfDownloader extends CollecTorMain {
   static {
     DATE_FORMAT = new SimpleDateFormat("yyyy-MM-dd");
     DATE_FORMAT.setLenient(false);
-    DATE_FORMAT.setTimeZone(TimeZone.getTimeZone("UTC"));
   }
 
   private void downloadAndParseOnionPerfTpfFile(URL baseUrl, String source,
diff --git a/src/main/java/org/torproject/metrics/collector/persist/PersistenceUtils.java b/src/main/java/org/torproject/metrics/collector/persist/PersistenceUtils.java
index da1403c..c958aec 100644
--- a/src/main/java/org/torproject/metrics/collector/persist/PersistenceUtils.java
+++ b/src/main/java/org/torproject/metrics/collector/persist/PersistenceUtils.java
@@ -19,7 +19,6 @@ import java.nio.file.StandardOpenOption;
 import java.nio.file.attribute.BasicFileAttributes;
 import java.text.SimpleDateFormat;
 import java.util.Date;
-import java.util.TimeZone;
 
 public class PersistenceUtils {
 
@@ -118,7 +117,6 @@ public class PersistenceUtils {
   /** Return all date-time parts as array. */
   public static String[] dateTimeParts(Date dateTime) {
     SimpleDateFormat printFormat = new SimpleDateFormat("yyyy-MM-dd-HH-mm-ss");
-    printFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
     return printFormat.format(dateTime).split("-");
   }
 
@@ -130,7 +128,6 @@ public class PersistenceUtils {
   /** Return all date-time as string. */
   public static String dateTime(Date dateTime) {
     SimpleDateFormat printFormat = new SimpleDateFormat("yyyy-MM-dd-HH-mm-ss");
-    printFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
     return printFormat.format(dateTime);
   }
 
diff --git a/src/main/java/org/torproject/metrics/collector/relaydescs/ArchiveReader.java b/src/main/java/org/torproject/metrics/collector/relaydescs/ArchiveReader.java
index 5a80058..83ef2ea 100644
--- a/src/main/java/org/torproject/metrics/collector/relaydescs/ArchiveReader.java
+++ b/src/main/java/org/torproject/metrics/collector/relaydescs/ArchiveReader.java
@@ -31,7 +31,6 @@ import java.util.Map;
 import java.util.Set;
 import java.util.SortedSet;
 import java.util.Stack;
-import java.util.TimeZone;
 import java.util.TreeSet;
 
 /**
@@ -201,7 +200,6 @@ public class ArchiveReader {
           }
           SimpleDateFormat parseFormat =
               new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
-          parseFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
           String ascii = new String(allData, StandardCharsets.US_ASCII);
           int start;
           int end = -1;
diff --git a/src/main/java/org/torproject/metrics/collector/relaydescs/ArchiveWriter.java b/src/main/java/org/torproject/metrics/collector/relaydescs/ArchiveWriter.java
index e0e1623..8addd5e 100644
--- a/src/main/java/org/torproject/metrics/collector/relaydescs/ArchiveWriter.java
+++ b/src/main/java/org/torproject/metrics/collector/relaydescs/ArchiveWriter.java
@@ -47,7 +47,6 @@ import java.util.Set;
 import java.util.SortedMap;
 import java.util.SortedSet;
 import java.util.Stack;
-import java.util.TimeZone;
 import java.util.TreeMap;
 import java.util.TreeSet;
 
@@ -146,7 +145,6 @@ public class ArchiveWriter extends CollecTorMain {
               RELAY_DESCRIPTORS).toString();
     SimpleDateFormat rsyncCatFormat = new SimpleDateFormat(
         "yyyy-MM-dd-HH-mm-ss");
-    rsyncCatFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
     this.rsyncCatString = rsyncCatFormat.format(
         System.currentTimeMillis());
     this.descriptorParser =
@@ -225,7 +223,6 @@ public class ArchiveWriter extends CollecTorMain {
   private void loadDescriptorDigests() {
     SimpleDateFormat dateTimeFormat = new SimpleDateFormat(
         "yyyy-MM-dd HH:mm:ss");
-    dateTimeFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
     try {
       if (this.storedServerDescriptorsFile.exists()) {
         BufferedReader br = new BufferedReader(new FileReader(
@@ -339,7 +336,6 @@ public class ArchiveWriter extends CollecTorMain {
         + "descriptors:");
     SimpleDateFormat dateTimeFormat =
         new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
-    dateTimeFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
     Map<String, String> knownServerDescriptors = new HashMap<>();
     for (Map<String, String> descriptors :
         this.storedServerDescriptors.values()) {
@@ -513,7 +509,6 @@ public class ArchiveWriter extends CollecTorMain {
   private void checkStaledescriptors() {
     SimpleDateFormat dateTimeFormat = new SimpleDateFormat(
         "yyyy-MM-dd HH:mm:ss");
-    dateTimeFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
     long tooOldMillis = this.now - 330L * 60L * 1000L;
     if (!this.storedConsensuses.isEmpty()
         && this.storedConsensuses.lastKey() < tooOldMillis) {
@@ -604,7 +599,6 @@ public class ArchiveWriter extends CollecTorMain {
   private void saveDescriptorDigests() {
     SimpleDateFormat dateTimeFormat = new SimpleDateFormat(
         "yyyy-MM-dd HH:mm:ss");
-    dateTimeFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
     try {
       if (!this.storedServerDescriptorsFile.getParentFile().exists()
           && !this.storedServerDescriptorsFile.getParentFile().mkdirs()) {
@@ -671,7 +665,6 @@ public class ArchiveWriter extends CollecTorMain {
       SortedSet<String> serverDescriptorDigests) {
     SimpleDateFormat printFormat = new SimpleDateFormat(
         "yyyy/MM/dd/yyyy-MM-dd-HH-mm-ss");
-    printFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
     File tarballFile = Paths.get(this.outputDirectory, "consensus",
         printFormat.format(new Date(validAfter)) + "-consensus").toFile();
     boolean tarballFileExistedBefore = tarballFile.exists();
@@ -694,10 +687,8 @@ public class ArchiveWriter extends CollecTorMain {
       SortedSet<String> microdescriptorDigests) {
     SimpleDateFormat yearMonthDirectoryFormat = new SimpleDateFormat(
         "yyyy/MM");
-    yearMonthDirectoryFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
     SimpleDateFormat dayDirectoryFileFormat = new SimpleDateFormat(
         "dd/yyyy-MM-dd-HH-mm-ss");
-    dayDirectoryFileFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
     File tarballFile = Paths.get(this.outputDirectory, MICRODESC,
         yearMonthDirectoryFormat.format(validAfter), CONSENSUS_MICRODESC,
         dayDirectoryFileFormat.format(validAfter)
@@ -724,7 +715,6 @@ public class ArchiveWriter extends CollecTorMain {
       SortedSet<String> serverDescriptorDigests) {
     SimpleDateFormat printFormat = new SimpleDateFormat(
         "yyyy/MM/dd/yyyy-MM-dd-HH-mm-ss");
-    printFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
     File tarballFile = Paths.get(this.outputDirectory, "vote",
         printFormat.format(new Date(validAfter)) + "-vote-"
         + fingerprint + "-" + digest).toFile();
@@ -778,7 +768,6 @@ public class ArchiveWriter extends CollecTorMain {
       long published) {
     SimpleDateFormat printFormat = new SimpleDateFormat(
         "yyyy-MM-dd-HH-mm-ss");
-    printFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
     File tarballFile = Paths.get(this.outputDirectory, "certs",
         fingerprint + "-" + printFormat.format(new Date(published))).toFile();
     File[] outputFiles = new File[] { tarballFile };
@@ -792,7 +781,6 @@ public class ArchiveWriter extends CollecTorMain {
   public void storeServerDescriptor(byte[] data, String digest,
       long published, String extraInfoDigest) {
     SimpleDateFormat printFormat = new SimpleDateFormat("yyyy/MM/");
-    printFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
     File tarballFile = Paths.get(this.outputDirectory,
         "server-descriptor", printFormat.format(new Date(published)),
         digest.substring(0, 1), digest.substring(1, 2), digest).toFile();
@@ -818,7 +806,6 @@ public class ArchiveWriter extends CollecTorMain {
   public void storeExtraInfoDescriptor(byte[] data,
       String extraInfoDigest, long published) {
     SimpleDateFormat descriptorFormat = new SimpleDateFormat("yyyy/MM/");
-    descriptorFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
     File tarballFile = Paths.get(this.outputDirectory, "extra-info",
         descriptorFormat.format(new Date(published)),
         extraInfoDigest.substring(0, 1),
@@ -850,7 +837,6 @@ public class ArchiveWriter extends CollecTorMain {
      * called twice to store the same microdescriptor in two different
      * valid-after months. */
     SimpleDateFormat descriptorFormat = new SimpleDateFormat("yyyy/MM/");
-    descriptorFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
     File tarballFile = Paths.get(this.outputDirectory, MICRODESC,
         descriptorFormat.format(validAfter), MICRO,
         microdescriptorDigest.substring(0, 1),
diff --git a/src/main/java/org/torproject/metrics/collector/relaydescs/CachedRelayDescriptorReader.java b/src/main/java/org/torproject/metrics/collector/relaydescs/CachedRelayDescriptorReader.java
index 21a3041..0c0ccab 100644
--- a/src/main/java/org/torproject/metrics/collector/relaydescs/CachedRelayDescriptorReader.java
+++ b/src/main/java/org/torproject/metrics/collector/relaydescs/CachedRelayDescriptorReader.java
@@ -26,7 +26,6 @@ import java.util.HashSet;
 import java.util.Set;
 import java.util.SortedSet;
 import java.util.Stack;
-import java.util.TimeZone;
 import java.util.TreeSet;
 
 /**
@@ -139,7 +138,6 @@ public class CachedRelayDescriptorReader {
                     .append(line.substring("valid-after ".length()));
                 SimpleDateFormat dateTimeFormat =
                     new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
-                dateTimeFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
                 if (dateTimeFormat.parse(line.substring("valid-after "
                     .length())).getTime() < System.currentTimeMillis()
                     - 6L * 60L * 60L * 1000L) {
diff --git a/src/main/java/org/torproject/metrics/collector/relaydescs/ReferenceChecker.java b/src/main/java/org/torproject/metrics/collector/relaydescs/ReferenceChecker.java
index 5ff77e7..4cc03eb 100644
--- a/src/main/java/org/torproject/metrics/collector/relaydescs/ReferenceChecker.java
+++ b/src/main/java/org/torproject/metrics/collector/relaydescs/ReferenceChecker.java
@@ -28,10 +28,8 @@ import java.text.DateFormat;
 import java.text.SimpleDateFormat;
 import java.util.Arrays;
 import java.util.HashSet;
-import java.util.Locale;
 import java.util.Set;
 import java.util.SortedSet;
-import java.util.TimeZone;
 import java.util.TreeSet;
 
 public class ReferenceChecker {
@@ -56,10 +54,8 @@ public class ReferenceChecker {
   private static DateFormat dateTimeFormat;
 
   static {
-    dateTimeFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'",
-        Locale.US);
+    dateTimeFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'");
     dateTimeFormat.setLenient(false);
-    dateTimeFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
   }
 
   private static final long ONE_HOUR = 60L * 60L * 1000L;
diff --git a/src/main/java/org/torproject/metrics/collector/relaydescs/RelayDescriptorDownloader.java b/src/main/java/org/torproject/metrics/collector/relaydescs/RelayDescriptorDownloader.java
index b0fcebb..7155caa 100644
--- a/src/main/java/org/torproject/metrics/collector/relaydescs/RelayDescriptorDownloader.java
+++ b/src/main/java/org/torproject/metrics/collector/relaydescs/RelayDescriptorDownloader.java
@@ -29,7 +29,6 @@ import java.util.Map;
 import java.util.Set;
 import java.util.SortedMap;
 import java.util.SortedSet;
-import java.util.TimeZone;
 import java.util.TreeMap;
 import java.util.TreeSet;
 
@@ -327,7 +326,6 @@ public class RelayDescriptorDownloader {
      * list and the list of authorities to download all server and
      * extra-info descriptors from. */
     SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
-    format.setTimeZone(TimeZone.getTimeZone("UTC"));
     long now = System.currentTimeMillis();
     this.currentValidAfter = format.format((now / (60L * 60L * 1000L))
         * (60L * 60L * 1000L));
@@ -924,7 +922,6 @@ public class RelayDescriptorDownloader {
          * pretty badly. */
         SimpleDateFormat parseFormat =
             new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
-        parseFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
         String ascii = new String(allData, StandardCharsets.US_ASCII);
         int start;
         int end = -1;
diff --git a/src/main/java/org/torproject/metrics/collector/relaydescs/RelayDescriptorParser.java b/src/main/java/org/torproject/metrics/collector/relaydescs/RelayDescriptorParser.java
index 3905458..53f205a 100644
--- a/src/main/java/org/torproject/metrics/collector/relaydescs/RelayDescriptorParser.java
+++ b/src/main/java/org/torproject/metrics/collector/relaydescs/RelayDescriptorParser.java
@@ -21,7 +21,6 @@ import java.time.LocalDateTime;
 import java.time.ZoneOffset;
 import java.time.format.DateTimeParseException;
 import java.util.SortedSet;
-import java.util.TimeZone;
 import java.util.TreeSet;
 
 /**
@@ -61,7 +60,6 @@ public class RelayDescriptorParser {
     this.aw = aw;
 
     this.dateTimeFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
-    this.dateTimeFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
   }
 
   public void setRelayDescriptorDownloader(
@@ -96,7 +94,6 @@ public class RelayDescriptorParser {
       }
       SimpleDateFormat parseFormat =
           new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
-      parseFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
       if (line.startsWith("network-status-version 3")) {
         String statusType = "consensus";
         if (line.equals("network-status-version 3 microdesc")) {



More information about the tor-commits mailing list