This is an automated email from the ASF dual-hosted git repository.

damccorm pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/beam.git


The following commit(s) were added to refs/heads/master by this push:
     new 4221266ffab [ErrorProne] enable JavaUtilDate, 
TimeUnitConversionChecker, InvalidThrows checks (#37791)
4221266ffab is described below

commit 4221266ffabcd1070224019711bf832950ddb2c1
Author: RadosÅ‚aw Stankiewicz <[email protected]>
AuthorDate: Fri Mar 20 20:59:34 2026 +0100

    [ErrorProne] enable JavaUtilDate, TimeUnitConversionChecker, InvalidThrows 
checks (#37791)
    
    * enable JavaUtilDate, TimeUnitConversionChecker, InvalidThrows checks
    
    * fix outstanding JavaUtilDate and invalidThrows violations
---
 .../org/apache/beam/gradle/BeamModulePlugin.groovy |  3 ---
 .../datatokenization/utils/SchemasUtils.java       |  1 -
 .../apache/beam/examples/WindowedWordCountIT.java  |  7 +++++--
 .../java/org/apache/beam/examples/WordCountIT.java |  6 ++++--
 .../org/apache/beam/examples/complete/TfIdfIT.java |  6 ++++--
 .../examples/complete/TopWikipediaSessionsIT.java  |  7 +++++--
 .../beam/examples/cookbook/DistinctExampleIT.java  |  6 ++++--
 .../beam/examples/cookbook/JoinExamplesIT.java     |  6 ++++--
 .../ReadFromTwitterDoFn.java                       |  3 ++-
 .../ReadFromTwitterDoFnTest.java                   |  1 +
 .../beam/it/gcp/dataflow/DirectRunnerClient.java   |  4 ++--
 .../beam/runners/core/metrics/MetricsLogger.java   |  4 ++--
 .../flink/FlinkRequiresStableInputTest.java        |  7 +++++--
 .../flink/FlinkRequiresStableInputTest.java        |  7 +++++--
 .../logging/DataflowWorkerLoggingHandler.java      |  1 +
 .../worker/StreamingDataflowWorkerTest.java        | 24 ++++++++--------------
 .../artifact/ArtifactStagingService.java           |  1 -
 .../sdk/util/construction/TransformUpgrader.java   |  1 -
 .../org/apache/beam/sdk/RequiresStableInputIT.java |  7 +++++--
 .../apache/beam/sdk/testing/TestPipelineTest.java  |  5 +++--
 .../beam/sdk/extensions/gcp/util/GcsUtilIT.java    |  9 +++++---
 .../sdk/extensions/sql/jdbc/BeamSqlLineIT.java     |  1 +
 .../BigQueryHllSketchCompatibilityIT.java          |  7 +++++--
 .../azure/blobstore/AzureBlobStoreFileSystem.java  |  1 +
 .../beam/sdk/io/common/DatabaseTestHelper.java     | 11 +++++-----
 .../beam/sdk/io/common/FileBasedIOITHelper.java    |  3 +--
 .../io/gcp/healthcare/HttpHealthcareApiClient.java |  3 ---
 .../mapper/ChangeStreamRecordMapper.java           |  1 -
 .../beam/sdk/io/gcp/bigtable/BigtableReadIT.java   |  6 ++++--
 .../BigtableReadSchemaTransformProviderIT.java     |  7 +++++--
 .../io/gcp/bigtable/BigtableServiceImplTest.java   |  2 --
 ...gtableSimpleWriteSchemaTransformProviderIT.java |  6 ++++--
 .../beam/sdk/io/gcp/bigtable/BigtableWriteIT.java  |  5 +++--
 .../BigtableWriteSchemaTransformProviderIT.java    |  6 ++++--
 .../beam/sdk/io/gcp/datastore/DatastoreV1Test.java |  1 +
 .../beam/sdk/io/gcp/storage/GcsKmsKeyIT.java       |  7 +++++--
 .../apache/beam/sdk/io/gcp/storage/GcsMatchIT.java |  7 +++++--
 .../beam/sdk/io/hbase/HBaseRowMutationsCoder.java  |  2 --
 .../beam/sdk/io/influxdb/InfluxDbIOTest.java       |  1 +
 .../java/org/apache/beam/sdk/io/jdbc/JdbcUtil.java |  1 +
 .../org/apache/beam/sdk/io/jdbc/JdbcIOTest.java    |  3 ++-
 .../beam/sdk/io/mongodb/MongoDbGridFSIO.java       |  2 +-
 .../apache/beam/sdk/io/mongodb/MongoDBIOIT.java    |  3 +--
 .../beam/sdk/io/rabbitmq/RabbitMqMessage.java      |  3 +++
 .../apache/beam/sdk/io/snowflake/SnowflakeIO.java  |  7 ++++---
 .../java/org/apache/beam/sdk/jpmstests/JpmsIT.java |  6 ++++--
 .../apache/beam/sdk/tpcds/BeamSqlEnvRunner.java    |  1 +
 .../apache/beam/sdk/tpcds/SqlTransformRunner.java  |  1 +
 .../beam/sdk/tpcds/TpcdsParametersReader.java      |  2 --
 .../org/apache/beam/sdk/tpcds/TpcdsRunResult.java  |  2 ++
 50 files changed, 133 insertions(+), 91 deletions(-)

diff --git 
a/buildSrc/src/main/groovy/org/apache/beam/gradle/BeamModulePlugin.groovy 
b/buildSrc/src/main/groovy/org/apache/beam/gradle/BeamModulePlugin.groovy
index e6ebc18b4c6..24930747178 100644
--- a/buildSrc/src/main/groovy/org/apache/beam/gradle/BeamModulePlugin.groovy
+++ b/buildSrc/src/main/groovy/org/apache/beam/gradle/BeamModulePlugin.groovy
@@ -1542,16 +1542,13 @@ class BeamModulePlugin implements Plugin<Project> {
             "ExtendsAutoValue",
             "InlineMeSuggester",
             "InvalidBlockTag",
-            "InvalidThrows",
             "JavaTimeDefaultTimeZone",
-            "JavaUtilDate",
             "JodaConstructors",
             "MixedMutabilityReturnType",
             "PreferJavaTimeOverload",
             "NonCanonicalType",
             "Slf4jSignOnlyFormat",
             "ThreadPriorityCheck",
-            "TimeUnitConversionChecker",
             "UndefinedEquals",
             "UnescapedEntity",
             "UnnecessaryParentheses",
diff --git 
a/examples/java/src/main/java/org/apache/beam/examples/complete/datatokenization/utils/SchemasUtils.java
 
b/examples/java/src/main/java/org/apache/beam/examples/complete/datatokenization/utils/SchemasUtils.java
index 30db973649d..c02b1a60b04 100644
--- 
a/examples/java/src/main/java/org/apache/beam/examples/complete/datatokenization/utils/SchemasUtils.java
+++ 
b/examples/java/src/main/java/org/apache/beam/examples/complete/datatokenization/utils/SchemasUtils.java
@@ -132,7 +132,6 @@ public class SchemasUtils {
    *
    * @param filePath path to file in GCS
    * @return contents of the file as a string
-   * @throws IOException thrown if not able to read file
    */
   public static String getGcsFileAsString(String filePath) {
     MatchResult result;
diff --git 
a/examples/java/src/test/java/org/apache/beam/examples/WindowedWordCountIT.java 
b/examples/java/src/test/java/org/apache/beam/examples/WindowedWordCountIT.java
index fa25d72cb22..f7b858ccf5e 100644
--- 
a/examples/java/src/test/java/org/apache/beam/examples/WindowedWordCountIT.java
+++ 
b/examples/java/src/test/java/org/apache/beam/examples/WindowedWordCountIT.java
@@ -20,9 +20,10 @@ package org.apache.beam.examples;
 import static org.hamcrest.MatcherAssert.assertThat;
 import static org.hamcrest.Matchers.equalTo;
 
+import java.time.LocalDateTime;
+import java.time.ZoneId;
 import java.util.ArrayList;
 import java.util.Collections;
-import java.util.Date;
 import java.util.List;
 import java.util.SortedMap;
 import java.util.TreeMap;
@@ -128,7 +129,9 @@ public class WindowedWordCountIT {
             .resolve(
                 String.format(
                     "WindowedWordCountIT.%s-%tFT%<tH:%<tM:%<tS.%<tL+%s",
-                    testName.getMethodName(), new Date(), 
ThreadLocalRandom.current().nextInt()),
+                    testName.getMethodName(),
+                    LocalDateTime.now(ZoneId.of("UTC")),
+                    ThreadLocalRandom.current().nextInt()),
                 StandardResolveOptions.RESOLVE_DIRECTORY)
             .resolve("output", StandardResolveOptions.RESOLVE_DIRECTORY)
             .resolve("results", StandardResolveOptions.RESOLVE_FILE)
diff --git 
a/examples/java/src/test/java/org/apache/beam/examples/WordCountIT.java 
b/examples/java/src/test/java/org/apache/beam/examples/WordCountIT.java
index 11d3d7829e7..9a47bd9f349 100644
--- a/examples/java/src/test/java/org/apache/beam/examples/WordCountIT.java
+++ b/examples/java/src/test/java/org/apache/beam/examples/WordCountIT.java
@@ -20,7 +20,8 @@ package org.apache.beam.examples;
 import static 
org.apache.beam.sdk.testing.FileChecksumMatcher.fileContentsHaveChecksum;
 import static org.hamcrest.MatcherAssert.assertThat;
 
-import java.util.Date;
+import java.time.LocalDateTime;
+import java.time.ZoneId;
 import org.apache.beam.examples.WordCount.WordCountOptions;
 import org.apache.beam.sdk.io.FileSystems;
 import org.apache.beam.sdk.io.fs.ResolveOptions.StandardResolveOptions;
@@ -61,7 +62,8 @@ public class WordCountIT {
     options.setOutput(
         FileSystems.matchNewResource(options.getTempRoot(), true)
             .resolve(
-                String.format("WordCountIT-%tF-%<tH-%<tM-%<tS-%<tL", new 
Date()),
+                String.format(
+                    "WordCountIT-%tF-%<tH-%<tM-%<tS-%<tL", 
LocalDateTime.now(ZoneId.of("UTC"))),
                 StandardResolveOptions.RESOLVE_DIRECTORY)
             .resolve("output", StandardResolveOptions.RESOLVE_DIRECTORY)
             .resolve("results", StandardResolveOptions.RESOLVE_FILE)
diff --git 
a/examples/java/src/test/java/org/apache/beam/examples/complete/TfIdfIT.java 
b/examples/java/src/test/java/org/apache/beam/examples/complete/TfIdfIT.java
index 0b2575ef0c8..5e39b115150 100644
--- a/examples/java/src/test/java/org/apache/beam/examples/complete/TfIdfIT.java
+++ b/examples/java/src/test/java/org/apache/beam/examples/complete/TfIdfIT.java
@@ -20,7 +20,8 @@ package org.apache.beam.examples.complete;
 import static 
org.apache.beam.sdk.testing.FileChecksumMatcher.fileContentsHaveChecksum;
 import static org.hamcrest.MatcherAssert.assertThat;
 
-import java.util.Date;
+import java.time.LocalDateTime;
+import java.time.ZoneId;
 import java.util.regex.Pattern;
 import org.apache.beam.examples.complete.TfIdf.Options;
 import org.apache.beam.sdk.io.FileSystems;
@@ -62,7 +63,8 @@ public class TfIdfIT {
     options.setOutput(
         FileSystems.matchNewResource(options.getTempRoot(), true)
             .resolve(
-                String.format("TfIdfIT-%tF-%<tH-%<tM-%<tS-%<tL", new Date()),
+                String.format(
+                    "TfIdfIT-%tF-%<tH-%<tM-%<tS-%<tL", 
LocalDateTime.now(ZoneId.of("UTC"))),
                 StandardResolveOptions.RESOLVE_DIRECTORY)
             .resolve("output", StandardResolveOptions.RESOLVE_DIRECTORY)
             .resolve("results", StandardResolveOptions.RESOLVE_FILE)
diff --git 
a/examples/java/src/test/java/org/apache/beam/examples/complete/TopWikipediaSessionsIT.java
 
b/examples/java/src/test/java/org/apache/beam/examples/complete/TopWikipediaSessionsIT.java
index 765fed5f4aa..b4f36c6f3f5 100644
--- 
a/examples/java/src/test/java/org/apache/beam/examples/complete/TopWikipediaSessionsIT.java
+++ 
b/examples/java/src/test/java/org/apache/beam/examples/complete/TopWikipediaSessionsIT.java
@@ -20,7 +20,8 @@ package org.apache.beam.examples.complete;
 import static 
org.apache.beam.sdk.testing.FileChecksumMatcher.fileContentsHaveChecksum;
 import static org.hamcrest.MatcherAssert.assertThat;
 
-import java.util.Date;
+import java.time.LocalDateTime;
+import java.time.ZoneId;
 import org.apache.beam.sdk.io.FileSystems;
 import org.apache.beam.sdk.io.fs.ResolveOptions.StandardResolveOptions;
 import org.apache.beam.sdk.options.PipelineOptionsFactory;
@@ -58,7 +59,9 @@ public class TopWikipediaSessionsIT {
     options.setOutput(
         FileSystems.matchNewResource(options.getTempRoot(), true)
             .resolve(
-                String.format("topwikisessions-it-%tF-%<tH-%<tM-%<tS-%<tL", 
new Date()),
+                String.format(
+                    "topwikisessions-it-%tF-%<tH-%<tM-%<tS-%<tL",
+                    LocalDateTime.now(ZoneId.of("UTC"))),
                 StandardResolveOptions.RESOLVE_DIRECTORY)
             .resolve("output", StandardResolveOptions.RESOLVE_DIRECTORY)
             .resolve("results", StandardResolveOptions.RESOLVE_FILE)
diff --git 
a/examples/java/src/test/java/org/apache/beam/examples/cookbook/DistinctExampleIT.java
 
b/examples/java/src/test/java/org/apache/beam/examples/cookbook/DistinctExampleIT.java
index 6b0b80f0a08..b32ff252420 100644
--- 
a/examples/java/src/test/java/org/apache/beam/examples/cookbook/DistinctExampleIT.java
+++ 
b/examples/java/src/test/java/org/apache/beam/examples/cookbook/DistinctExampleIT.java
@@ -20,7 +20,8 @@ package org.apache.beam.examples.cookbook;
 import static 
org.apache.beam.sdk.testing.FileChecksumMatcher.fileContentsHaveChecksum;
 import static org.hamcrest.MatcherAssert.assertThat;
 
-import java.util.Date;
+import java.time.LocalDateTime;
+import java.time.ZoneId;
 import java.util.regex.Pattern;
 import org.apache.beam.sdk.io.FileSystems;
 import org.apache.beam.sdk.io.fs.ResolveOptions;
@@ -73,7 +74,8 @@ public class DistinctExampleIT {
     options.setOutput(
         FileSystems.matchNewResource(options.getTempRoot(), true)
             .resolve(
-                String.format("DistinctExample-%tF-%<tH-%<tM-%<tS-%<tL", new 
Date()),
+                String.format(
+                    "DistinctExample-%tF-%<tH-%<tM-%<tS-%<tL", 
LocalDateTime.now(ZoneId.of("UTC"))),
                 ResolveOptions.StandardResolveOptions.RESOLVE_DIRECTORY)
             .resolve("output", 
ResolveOptions.StandardResolveOptions.RESOLVE_DIRECTORY)
             .resolve("results", 
ResolveOptions.StandardResolveOptions.RESOLVE_FILE)
diff --git 
a/examples/java/src/test/java/org/apache/beam/examples/cookbook/JoinExamplesIT.java
 
b/examples/java/src/test/java/org/apache/beam/examples/cookbook/JoinExamplesIT.java
index cd8a8e2cdd2..ed7b8ede4c7 100644
--- 
a/examples/java/src/test/java/org/apache/beam/examples/cookbook/JoinExamplesIT.java
+++ 
b/examples/java/src/test/java/org/apache/beam/examples/cookbook/JoinExamplesIT.java
@@ -20,7 +20,8 @@ package org.apache.beam.examples.cookbook;
 import static 
org.apache.beam.sdk.testing.FileChecksumMatcher.fileContentsHaveChecksum;
 import static org.hamcrest.MatcherAssert.assertThat;
 
-import java.util.Date;
+import java.time.LocalDateTime;
+import java.time.ZoneId;
 import java.util.regex.Pattern;
 import org.apache.beam.sdk.io.FileSystems;
 import org.apache.beam.sdk.io.fs.ResolveOptions;
@@ -55,7 +56,8 @@ public class JoinExamplesIT {
     options.setOutput(
         FileSystems.matchNewResource(options.getTempRoot(), true)
             .resolve(
-                String.format("JoinExamples-%tF-%<tH-%<tM-%<tS-%<tL", new 
Date()),
+                String.format(
+                    "JoinExamples-%tF-%<tH-%<tM-%<tS-%<tL", 
LocalDateTime.now(ZoneId.of("UTC"))),
                 ResolveOptions.StandardResolveOptions.RESOLVE_DIRECTORY)
             .resolve("output", 
ResolveOptions.StandardResolveOptions.RESOLVE_DIRECTORY)
             .resolve("results", 
ResolveOptions.StandardResolveOptions.RESOLVE_FILE)
diff --git 
a/examples/java/twitter/src/main/java/org/apache/beam/examples/twitterstreamgenerator/ReadFromTwitterDoFn.java
 
b/examples/java/twitter/src/main/java/org/apache/beam/examples/twitterstreamgenerator/ReadFromTwitterDoFn.java
index defb4383036..3a7d4dee9f6 100644
--- 
a/examples/java/twitter/src/main/java/org/apache/beam/examples/twitterstreamgenerator/ReadFromTwitterDoFn.java
+++ 
b/examples/java/twitter/src/main/java/org/apache/beam/examples/twitterstreamgenerator/ReadFromTwitterDoFn.java
@@ -189,7 +189,8 @@ final class ReadFromTwitterDoFn extends DoFn<TwitterConfig, 
String> {
         return DoFn.ProcessContinuation.stop();
       }
       if (status != null) {
-        Instant currentInstant = 
Instant.ofEpochMilli(status.getCreatedAt().getTime());
+        Instant currentInstant =
+            
Instant.ofEpochMilli(status.getCreatedAt().toInstant().toEpochMilli());
         watermarkEstimator.setWatermark(currentInstant);
         out.outputWithTimestamp(status.getText(), currentInstant);
       }
diff --git 
a/examples/java/twitter/src/test/java/org/apache/beam/examples/twitterstreamgenerator/ReadFromTwitterDoFnTest.java
 
b/examples/java/twitter/src/test/java/org/apache/beam/examples/twitterstreamgenerator/ReadFromTwitterDoFnTest.java
index 48d7f01eb47..57f7092288e 100644
--- 
a/examples/java/twitter/src/test/java/org/apache/beam/examples/twitterstreamgenerator/ReadFromTwitterDoFnTest.java
+++ 
b/examples/java/twitter/src/test/java/org/apache/beam/examples/twitterstreamgenerator/ReadFromTwitterDoFnTest.java
@@ -57,6 +57,7 @@ public class ReadFromTwitterDoFnTest {
   LinkedBlockingQueue<Status> queue2 = new LinkedBlockingQueue<>();
 
   @Before
+  @SuppressWarnings("JavaUtilDate")
   public void setUp() throws JsonProcessingException {
     MockitoAnnotations.initMocks(this);
     when(status1.getText()).thenReturn("Breaking News1");
diff --git 
a/it/google-cloud-platform/src/main/java/org/apache/beam/it/gcp/dataflow/DirectRunnerClient.java
 
b/it/google-cloud-platform/src/main/java/org/apache/beam/it/gcp/dataflow/DirectRunnerClient.java
index aa44b4e55f3..40de8b89695 100644
--- 
a/it/google-cloud-platform/src/main/java/org/apache/beam/it/gcp/dataflow/DirectRunnerClient.java
+++ 
b/it/google-cloud-platform/src/main/java/org/apache/beam/it/gcp/dataflow/DirectRunnerClient.java
@@ -26,7 +26,6 @@ import java.io.IOException;
 import java.lang.reflect.Method;
 import java.text.SimpleDateFormat;
 import java.util.ArrayList;
-import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -74,7 +73,8 @@ public class DirectRunnerClient implements PipelineLauncher {
 
       String jobId =
           "direct-"
-              + new SimpleDateFormat("yyyy-MM-dd_HH_mm_ss").format(new Date())
+              + new SimpleDateFormat("yyyy-MM-dd_HH_mm_ss")
+                  .format(java.time.Instant.now().toEpochMilli())
               + "-"
               + System.currentTimeMillis();
 
diff --git 
a/runners/core-java/src/main/java/org/apache/beam/runners/core/metrics/MetricsLogger.java
 
b/runners/core-java/src/main/java/org/apache/beam/runners/core/metrics/MetricsLogger.java
index a7214b64c15..072a7592155 100644
--- 
a/runners/core-java/src/main/java/org/apache/beam/runners/core/metrics/MetricsLogger.java
+++ 
b/runners/core-java/src/main/java/org/apache/beam/runners/core/metrics/MetricsLogger.java
@@ -17,7 +17,6 @@
  */
 package org.apache.beam.runners.core.metrics;
 
-import java.util.Date;
 import java.util.Set;
 import java.util.concurrent.atomic.AtomicLong;
 import java.util.concurrent.locks.Lock;
@@ -47,7 +46,8 @@ public class MetricsLogger extends MetricsContainerImpl {
     StringBuilder logMessage = new StringBuilder();
     logMessage.append(header);
     logMessage.append(deltaContainer.getCumulativeString(allowedMetricUrns));
-    logMessage.append(String.format("(last reported at %s)%n", new 
Date(lastReported)));
+    logMessage.append(
+        String.format("(last reported at %s)%n", 
java.time.Instant.ofEpochMilli(lastReported)));
 
     lastMetricsSnapshot = nextMetricsSnapshot;
     return logMessage.toString();
diff --git 
a/runners/flink/2.0/src/test/java/org/apache/beam/runners/flink/FlinkRequiresStableInputTest.java
 
b/runners/flink/2.0/src/test/java/org/apache/beam/runners/flink/FlinkRequiresStableInputTest.java
index b382cfeb6d2..4d7bb636038 100644
--- 
a/runners/flink/2.0/src/test/java/org/apache/beam/runners/flink/FlinkRequiresStableInputTest.java
+++ 
b/runners/flink/2.0/src/test/java/org/apache/beam/runners/flink/FlinkRequiresStableInputTest.java
@@ -21,8 +21,9 @@ import static 
org.apache.beam.sdk.testing.FileChecksumMatcher.fileContentsHaveCh
 import static org.hamcrest.MatcherAssert.assertThat;
 import static org.hamcrest.Matchers.equalTo;
 
+import java.time.LocalDateTime;
+import java.time.ZoneId;
 import java.util.Collections;
-import java.util.Date;
 import java.util.Optional;
 import java.util.concurrent.Executors;
 import org.apache.beam.model.jobmanagement.v1.JobApi;
@@ -144,7 +145,9 @@ public class FlinkRequiresStableInputTest {
     ResourceId outputDir =
         FileSystems.matchNewResource(tempFolder.getRoot().getAbsolutePath(), 
true)
             .resolve(
-                String.format("requires-stable-input-%tF-%<tH-%<tM-%<tS-%<tL", 
new Date()),
+                String.format(
+                    "requires-stable-input-%tF-%<tH-%<tM-%<tS-%<tL",
+                    LocalDateTime.now(ZoneId.of("UTC"))),
                 ResolveOptions.StandardResolveOptions.RESOLVE_DIRECTORY);
     String singleOutputPrefix =
         outputDir
diff --git 
a/runners/flink/src/test/java/org/apache/beam/runners/flink/FlinkRequiresStableInputTest.java
 
b/runners/flink/src/test/java/org/apache/beam/runners/flink/FlinkRequiresStableInputTest.java
index f402d9bda68..dd374c21de3 100644
--- 
a/runners/flink/src/test/java/org/apache/beam/runners/flink/FlinkRequiresStableInputTest.java
+++ 
b/runners/flink/src/test/java/org/apache/beam/runners/flink/FlinkRequiresStableInputTest.java
@@ -21,8 +21,9 @@ import static 
org.apache.beam.sdk.testing.FileChecksumMatcher.fileContentsHaveCh
 import static org.hamcrest.MatcherAssert.assertThat;
 import static org.hamcrest.Matchers.equalTo;
 
+import java.time.LocalDateTime;
+import java.time.ZoneId;
 import java.util.Collections;
-import java.util.Date;
 import java.util.Optional;
 import java.util.concurrent.Executors;
 import org.apache.beam.model.jobmanagement.v1.JobApi;
@@ -142,7 +143,9 @@ public class FlinkRequiresStableInputTest {
     ResourceId outputDir =
         FileSystems.matchNewResource(tempFolder.getRoot().getAbsolutePath(), 
true)
             .resolve(
-                String.format("requires-stable-input-%tF-%<tH-%<tM-%<tS-%<tL", 
new Date()),
+                String.format(
+                    "requires-stable-input-%tF-%<tH-%<tM-%<tS-%<tL",
+                    LocalDateTime.now(ZoneId.of("UTC"))),
                 ResolveOptions.StandardResolveOptions.RESOLVE_DIRECTORY);
     String singleOutputPrefix =
         outputDir
diff --git 
a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/logging/DataflowWorkerLoggingHandler.java
 
b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/logging/DataflowWorkerLoggingHandler.java
index 68457799d90..62057c22b8d 100644
--- 
a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/logging/DataflowWorkerLoggingHandler.java
+++ 
b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/logging/DataflowWorkerLoggingHandler.java
@@ -812,6 +812,7 @@ public class DataflowWorkerLoggingHandler extends Handler {
     }
 
     @Override
+    @SuppressWarnings("JavaUtilDate")
     public OutputStream get() {
       try {
         String filename = filepath + "." + formatter.format(new Date()) + 
".log";
diff --git 
a/runners/google-cloud-dataflow-java/worker/src/test/java/org/apache/beam/runners/dataflow/worker/StreamingDataflowWorkerTest.java
 
b/runners/google-cloud-dataflow-java/worker/src/test/java/org/apache/beam/runners/dataflow/worker/StreamingDataflowWorkerTest.java
index 79419dd3a27..95374d46010 100644
--- 
a/runners/google-cloud-dataflow-java/worker/src/test/java/org/apache/beam/runners/dataflow/worker/StreamingDataflowWorkerTest.java
+++ 
b/runners/google-cloud-dataflow-java/worker/src/test/java/org/apache/beam/runners/dataflow/worker/StreamingDataflowWorkerTest.java
@@ -3462,7 +3462,7 @@ public class StreamingDataflowWorkerTest {
         
makeWorker(defaultWorkerParams().setInstructions(instructions).publishCounters().build());
     worker.start();
 
-    server.whenGetWorkCalled().thenReturn(makeInput(0, 
TimeUnit.MILLISECONDS.toMicros(0)));
+    server.whenGetWorkCalled().thenReturn(makeInput(0, 0L /* microseconds */));
 
     server.waitForAndGetCommits(0);
     worker.stop();
@@ -3484,7 +3484,7 @@ public class StreamingDataflowWorkerTest {
                 .build());
     worker.start();
 
-    server.whenGetWorkCalled().thenReturn(makeInput(0, 
TimeUnit.MILLISECONDS.toMicros(0)));
+    server.whenGetWorkCalled().thenReturn(makeInput(0, 0L /* microseconds */));
     server.waitForAndGetCommits(1);
 
     worker.stop();
@@ -3510,17 +3510,12 @@ public class StreamingDataflowWorkerTest {
                 .build());
     worker.start();
 
-    GetWorkResponse workItem =
-        makeInput(0, TimeUnit.MILLISECONDS.toMicros(0), "key", 
DEFAULT_SHARDING_KEY);
+    GetWorkResponse workItem = makeInput(0, 0L /* microseconds */, "key", 
DEFAULT_SHARDING_KEY);
     int failedWorkToken = 1;
     int failedCacheToken = 5;
     GetWorkResponse workItemToFail =
         makeInput(
-            failedWorkToken,
-            failedCacheToken,
-            TimeUnit.MILLISECONDS.toMicros(0),
-            "key",
-            DEFAULT_SHARDING_KEY);
+            failedWorkToken, failedCacheToken, 0L /* microseconds */, "key", 
DEFAULT_SHARDING_KEY);
 
     // Queue up two work items for the same key.
     server.whenGetWorkCalled().thenReturn(workItem).thenReturn(workItemToFail);
@@ -3571,11 +3566,10 @@ public class StreamingDataflowWorkerTest {
     worker.start();
 
     GetWorkResponse workItemToFail =
-        makeInput(0, TimeUnit.MILLISECONDS.toMicros(0), "key", 
DEFAULT_SHARDING_KEY);
+        makeInput(0, 0L /* microseconds */, "key", DEFAULT_SHARDING_KEY);
     long failedWorkToken = workItemToFail.getWork(0).getWork(0).getWorkToken();
     long failedCacheToken = 
workItemToFail.getWork(0).getWork(0).getCacheToken();
-    GetWorkResponse workItem =
-        makeInput(1, TimeUnit.MILLISECONDS.toMicros(0), "key", 
DEFAULT_SHARDING_KEY);
+    GetWorkResponse workItem = makeInput(1, 0L /* microseconds */, "key", 
DEFAULT_SHARDING_KEY);
 
     // Queue up the work item for the key.
     server.whenGetWorkCalled().thenReturn(workItemToFail).thenReturn(workItem);
@@ -3805,7 +3799,7 @@ public class StreamingDataflowWorkerTest {
     ActiveWorkRefreshSink awrSink =
         new 
ActiveWorkRefreshSink(StreamingDataflowWorkerTest::emptyDataResponder);
     
server.whenGetDataCalled().answerByDefault(awrSink::getData).delayEachResponseBy(Duration.ZERO);
-    server.whenGetWorkCalled().thenReturn(makeInput(workToken, 
TimeUnit.MILLISECONDS.toMicros(0)));
+    server.whenGetWorkCalled().thenReturn(makeInput(workToken, 0L /* 
microseconds */));
     server.waitForAndGetCommits(1);
 
     worker.stop();
@@ -3885,7 +3879,7 @@ public class StreamingDataflowWorkerTest {
                 .build());
     worker.start();
 
-    server.whenGetWorkCalled().thenReturn(makeInput(0, 
TimeUnit.MILLISECONDS.toMicros(0)));
+    server.whenGetWorkCalled().thenReturn(makeInput(0, 0L /* microseconds */));
 
     Map<Long, Windmill.WorkItemCommitRequest> result = 
server.waitForAndGetCommits(1);
     Windmill.WorkItemCommitRequest commit = result.get(0L);
@@ -3924,7 +3918,7 @@ public class StreamingDataflowWorkerTest {
                 .build());
     worker.start();
 
-    server.whenGetWorkCalled().thenReturn(makeInput(0, 
TimeUnit.MILLISECONDS.toMicros(0)));
+    server.whenGetWorkCalled().thenReturn(makeInput(0, 0L /* microseconds */));
 
     Map<Long, Windmill.WorkItemCommitRequest> result = 
server.waitForAndGetCommits(1);
 
diff --git 
a/runners/java-fn-execution/src/main/java/org/apache/beam/runners/fnexecution/artifact/ArtifactStagingService.java
 
b/runners/java-fn-execution/src/main/java/org/apache/beam/runners/fnexecution/artifact/ArtifactStagingService.java
index 30a49b2968b..8b403f2f25f 100644
--- 
a/runners/java-fn-execution/src/main/java/org/apache/beam/runners/fnexecution/artifact/ArtifactStagingService.java
+++ 
b/runners/java-fn-execution/src/main/java/org/apache/beam/runners/fnexecution/artifact/ArtifactStagingService.java
@@ -544,7 +544,6 @@ public class ArtifactStagingService
    * @param stagingService an ArtifactStagingService stub which will request 
artifacts
    * @param stagingToken the staging token of the job whose artifacts will be 
retrieved
    * @throws InterruptedException
-   * @throws IOException
    */
   public static void offer(
       ArtifactRetrievalService retrievalService,
diff --git 
a/sdks/java/core/src/main/java/org/apache/beam/sdk/util/construction/TransformUpgrader.java
 
b/sdks/java/core/src/main/java/org/apache/beam/sdk/util/construction/TransformUpgrader.java
index 7764929ac42..bba880288d4 100644
--- 
a/sdks/java/core/src/main/java/org/apache/beam/sdk/util/construction/TransformUpgrader.java
+++ 
b/sdks/java/core/src/main/java/org/apache/beam/sdk/util/construction/TransformUpgrader.java
@@ -101,7 +101,6 @@ public class TransformUpgrader implements AutoCloseable {
    * @param urnsToOverride URNs of the transforms to be overridden.
    * @param options options for determining the transform service to use.
    * @return pipelines with transforms upgraded using the Transform Service.
-   * @throws Exception
    */
   public RunnerApi.Pipeline upgradeTransformsViaTransformService(
       RunnerApi.Pipeline pipeline, List<String> urnsToOverride, 
PipelineOptions options)
diff --git 
a/sdks/java/core/src/test/java/org/apache/beam/sdk/RequiresStableInputIT.java 
b/sdks/java/core/src/test/java/org/apache/beam/sdk/RequiresStableInputIT.java
index 1b809c5d170..fee955956a5 100644
--- 
a/sdks/java/core/src/test/java/org/apache/beam/sdk/RequiresStableInputIT.java
+++ 
b/sdks/java/core/src/test/java/org/apache/beam/sdk/RequiresStableInputIT.java
@@ -24,7 +24,8 @@ import java.io.IOException;
 import java.nio.ByteBuffer;
 import java.nio.channels.WritableByteChannel;
 import java.nio.charset.StandardCharsets;
-import java.util.Date;
+import java.time.LocalDateTime;
+import java.time.ZoneId;
 import java.util.UUID;
 import org.apache.beam.sdk.io.FileSystems;
 import org.apache.beam.sdk.io.fs.MatchResult;
@@ -125,7 +126,9 @@ public class RequiresStableInputIT {
     ResourceId outputDir =
         FileSystems.matchNewResource(options.getTempRoot(), true)
             .resolve(
-                String.format("requires-stable-input-%tF-%<tH-%<tM-%<tS-%<tL", 
new Date()),
+                String.format(
+                    "requires-stable-input-%tF-%<tH-%<tM-%<tS-%<tL",
+                    LocalDateTime.now(ZoneId.of("UTC"))),
                 StandardResolveOptions.RESOLVE_DIRECTORY);
     String singleOutputPrefix =
         outputDir
diff --git 
a/sdks/java/core/src/test/java/org/apache/beam/sdk/testing/TestPipelineTest.java
 
b/sdks/java/core/src/test/java/org/apache/beam/sdk/testing/TestPipelineTest.java
index e71b9037fc5..5001d2f4dd4 100644
--- 
a/sdks/java/core/src/test/java/org/apache/beam/sdk/testing/TestPipelineTest.java
+++ 
b/sdks/java/core/src/test/java/org/apache/beam/sdk/testing/TestPipelineTest.java
@@ -25,9 +25,10 @@ import static org.junit.Assert.assertNotNull;
 
 import com.fasterxml.jackson.databind.ObjectMapper;
 import java.io.Serializable;
+import java.time.LocalDateTime;
+import java.time.ZoneId;
 import java.util.ArrayList;
 import java.util.Collections;
-import java.util.Date;
 import java.util.List;
 import java.util.UUID;
 import org.apache.beam.sdk.Pipeline;
@@ -132,7 +133,7 @@ public class TestPipelineTest implements Serializable {
 
       @Override
       public void describeTo(Description description) {
-        description.appendText(String.format("%tL", new Date()));
+        description.appendText(String.format("%tL", 
LocalDateTime.now(ZoneId.of("UTC"))));
       }
 
       @Override
diff --git 
a/sdks/java/extensions/google-cloud-platform-core/src/test/java/org/apache/beam/sdk/extensions/gcp/util/GcsUtilIT.java
 
b/sdks/java/extensions/google-cloud-platform-core/src/test/java/org/apache/beam/sdk/extensions/gcp/util/GcsUtilIT.java
index b6c92ab9369..be62e07e508 100644
--- 
a/sdks/java/extensions/google-cloud-platform-core/src/test/java/org/apache/beam/sdk/extensions/gcp/util/GcsUtilIT.java
+++ 
b/sdks/java/extensions/google-cloud-platform-core/src/test/java/org/apache/beam/sdk/extensions/gcp/util/GcsUtilIT.java
@@ -27,8 +27,9 @@ import java.io.IOException;
 import java.nio.ByteBuffer;
 import java.nio.channels.ReadableByteChannel;
 import java.nio.channels.WritableByteChannel;
+import java.time.LocalDateTime;
+import java.time.ZoneId;
 import java.util.Collections;
-import java.util.Date;
 import java.util.concurrent.atomic.AtomicInteger;
 import org.apache.beam.sdk.extensions.gcp.options.GcsOptions;
 import org.apache.beam.sdk.extensions.gcp.util.GcsUtil.CreateOptions;
@@ -72,7 +73,8 @@ public class GcsUtilIT {
     String dstFilename =
         gcsOptions.getGcpTempLocation()
             + String.format(
-                
"/GcsUtilIT-%tF-%<tH-%<tM-%<tS-%<tL.testRewriteMultiPart.copy", new Date());
+                "/GcsUtilIT-%tF-%<tH-%<tM-%<tS-%<tL.testRewriteMultiPart.copy",
+                LocalDateTime.now(ZoneId.of("UTC")));
     gcsUtil.delegate.maxBytesRewrittenPerCall = 50L * 1024 * 1024;
     gcsUtil.delegate.numRewriteTokensUsed = new AtomicInteger();
 
@@ -108,7 +110,8 @@ public class GcsUtilIT {
 
     // Write a test file in a bucket with gRPC enabled.
     String tempLocationWithGrpc = options.getTempRoot() + "/temp";
-    String filename = String.format(outputPattern, tempLocationWithGrpc, new 
Date());
+    String filename =
+        String.format(outputPattern, tempLocationWithGrpc, 
LocalDateTime.now(ZoneId.of("UTC")));
     writeGcsTextFile(gcsUtil, filename, testContent);
 
     // Read the test file back and verify
diff --git 
a/sdks/java/extensions/sql/jdbc/src/test/java/org/apache/beam/sdk/extensions/sql/jdbc/BeamSqlLineIT.java
 
b/sdks/java/extensions/sql/jdbc/src/test/java/org/apache/beam/sdk/extensions/sql/jdbc/BeamSqlLineIT.java
index 7df39d2ed62..e04fd836b10 100644
--- 
a/sdks/java/extensions/sql/jdbc/src/test/java/org/apache/beam/sdk/extensions/sql/jdbc/BeamSqlLineIT.java
+++ 
b/sdks/java/extensions/sql/jdbc/src/test/java/org/apache/beam/sdk/extensions/sql/jdbc/BeamSqlLineIT.java
@@ -209,6 +209,7 @@ public class BeamSqlLineIT implements Serializable {
             });
   }
 
+  @SuppressWarnings("JavaUtilDate")
   private long convertTimestampToMillis(String timestamp) throws 
ParseException {
     return dateFormat.parse(timestamp).getTime();
   }
diff --git 
a/sdks/java/extensions/zetasketch/src/test/java/org/apache/beam/sdk/extensions/zetasketch/BigQueryHllSketchCompatibilityIT.java
 
b/sdks/java/extensions/zetasketch/src/test/java/org/apache/beam/sdk/extensions/zetasketch/BigQueryHllSketchCompatibilityIT.java
index 2bd18ce3224..5fe1ed278ee 100644
--- 
a/sdks/java/extensions/zetasketch/src/test/java/org/apache/beam/sdk/extensions/zetasketch/BigQueryHllSketchCompatibilityIT.java
+++ 
b/sdks/java/extensions/zetasketch/src/test/java/org/apache/beam/sdk/extensions/zetasketch/BigQueryHllSketchCompatibilityIT.java
@@ -28,9 +28,10 @@ import com.google.api.services.bigquery.model.TableRow;
 import com.google.api.services.bigquery.model.TableSchema;
 import com.google.cloud.bigquery.storage.v1.DataFormat;
 import java.nio.ByteBuffer;
+import java.time.LocalDateTime;
+import java.time.ZoneId;
 import java.util.Arrays;
 import java.util.Collections;
-import java.util.Date;
 import java.util.List;
 import java.util.Map;
 import java.util.stream.Collectors;
@@ -102,7 +103,9 @@ public class BigQueryHllSketchCompatibilityIT {
         TestPipeline.testingPipelineOptions().as(ApplicationNameOptions.class);
     APP_NAME = options.getAppName();
     PROJECT_ID = options.as(GcpOptions.class).getProject();
-    DATASET_ID = String.format("zetasketch_%tY_%<tm_%<td_%<tH_%<tM_%<tS_%<tL", 
new Date());
+    DATASET_ID =
+        String.format(
+            "zetasketch_%tY_%<tm_%<td_%<tH_%<tM_%<tS_%<tL", 
LocalDateTime.now(ZoneId.of("UTC")));
     BIGQUERY_CLIENT = BigqueryClient.getClient(APP_NAME);
   }
 
diff --git 
a/sdks/java/io/azure/src/main/java/org/apache/beam/sdk/io/azure/blobstore/AzureBlobStoreFileSystem.java
 
b/sdks/java/io/azure/src/main/java/org/apache/beam/sdk/io/azure/blobstore/AzureBlobStoreFileSystem.java
index ec6f5abcd06..7841c3f164a 100644
--- 
a/sdks/java/io/azure/src/main/java/org/apache/beam/sdk/io/azure/blobstore/AzureBlobStoreFileSystem.java
+++ 
b/sdks/java/io/azure/src/main/java/org/apache/beam/sdk/io/azure/blobstore/AzureBlobStoreFileSystem.java
@@ -352,6 +352,7 @@ class AzureBlobStoreFileSystem extends 
FileSystem<AzfsResourceId> {
 
   @VisibleForTesting
   /** Generate an SAS Token if the user did not provide one through pipeline 
options */
+  @SuppressWarnings("JavaUtilDate")
   String generateSasToken() throws IOException {
     if (!Strings.isNullOrEmpty(options.getSasToken())) {
       return options.getSasToken();
diff --git 
a/sdks/java/io/common/src/main/java/org/apache/beam/sdk/io/common/DatabaseTestHelper.java
 
b/sdks/java/io/common/src/main/java/org/apache/beam/sdk/io/common/DatabaseTestHelper.java
index bbd7c6eaa38..c466e9dbd76 100644
--- 
a/sdks/java/io/common/src/main/java/org/apache/beam/sdk/io/common/DatabaseTestHelper.java
+++ 
b/sdks/java/io/common/src/main/java/org/apache/beam/sdk/io/common/DatabaseTestHelper.java
@@ -27,9 +27,9 @@ import java.sql.Connection;
 import java.sql.ResultSet;
 import java.sql.SQLException;
 import java.sql.Statement;
-import java.text.SimpleDateFormat;
+import java.time.LocalDateTime;
+import java.time.ZoneOffset;
 import java.util.ArrayList;
-import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -138,9 +138,10 @@ public class DatabaseTestHelper {
   }
 
   public static String getTestTableName(String testIdentifier) {
-    SimpleDateFormat formatter = new SimpleDateFormat();
-    formatter.applyPattern("yyyy_MM_dd_HH_mm_ss_S");
-    return String.format("BEAMTEST_%s_%s", testIdentifier, 
formatter.format(new Date()));
+    java.time.format.DateTimeFormatter formatter =
+        
java.time.format.DateTimeFormatter.ofPattern("yyyy_MM_dd_HH_mm_ss_SSS");
+    return String.format(
+        "BEAMTEST_%s_%s", testIdentifier, 
LocalDateTime.now(ZoneOffset.UTC).format(formatter));
   }
 
   public static String getPostgresDBUrl(PostgresIOTestPipelineOptions options) 
{
diff --git 
a/sdks/java/io/file-based-io-tests/src/test/java/org/apache/beam/sdk/io/common/FileBasedIOITHelper.java
 
b/sdks/java/io/file-based-io-tests/src/test/java/org/apache/beam/sdk/io/common/FileBasedIOITHelper.java
index 88cacab860d..a5f220c87ba 100644
--- 
a/sdks/java/io/file-based-io-tests/src/test/java/org/apache/beam/sdk/io/common/FileBasedIOITHelper.java
+++ 
b/sdks/java/io/file-based-io-tests/src/test/java/org/apache/beam/sdk/io/common/FileBasedIOITHelper.java
@@ -19,7 +19,6 @@ package org.apache.beam.sdk.io.common;
 
 import java.io.IOException;
 import java.util.Collections;
-import java.util.Date;
 import java.util.HashSet;
 import java.util.Set;
 import org.apache.beam.sdk.io.FileSystems;
@@ -38,7 +37,7 @@ public class FileBasedIOITHelper {
   }
 
   public static String appendTimestampSuffix(String text) {
-    return String.format("%s_%s", text, new Date().getTime());
+    return String.format("%s_%s", text, 
java.time.Instant.now().toEpochMilli());
   }
 
   /** Constructs text lines in files used for testing. */
diff --git 
a/sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/healthcare/HttpHealthcareApiClient.java
 
b/sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/healthcare/HttpHealthcareApiClient.java
index d46662dd4e4..c6ebbccee56 100644
--- 
a/sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/healthcare/HttpHealthcareApiClient.java
+++ 
b/sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/healthcare/HttpHealthcareApiClient.java
@@ -66,7 +66,6 @@ import java.net.URL;
 import java.net.URLDecoder;
 import java.nio.file.Files;
 import java.nio.file.Paths;
-import java.text.ParseException;
 import java.util.ArrayList;
 import java.util.Iterator;
 import java.util.List;
@@ -416,7 +415,6 @@ public class HttpHealthcareApiClient implements 
HealthcareApiClient, Serializabl
    * @param msgName the msg name
    * @return the message
    * @throws IOException the io exception
-   * @throws ParseException the parse exception
    */
   @Override
   public Message getHL7v2Message(String msgName) throws IOException {
@@ -608,7 +606,6 @@ public class HttpHealthcareApiClient implements 
HealthcareApiClient, Serializabl
      * @param statusCode the HTTP status code.
      * @param message the error message.
      * @return the healthcare http exception
-     * @throws IOException the io exception
      */
     static HealthcareHttpException of(int statusCode, String message) {
       return new HealthcareHttpException(statusCode, message);
diff --git 
a/sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/spanner/changestreams/mapper/ChangeStreamRecordMapper.java
 
b/sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/spanner/changestreams/mapper/ChangeStreamRecordMapper.java
index 368fec88918..e4abb73eef7 100644
--- 
a/sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/spanner/changestreams/mapper/ChangeStreamRecordMapper.java
+++ 
b/sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/spanner/changestreams/mapper/ChangeStreamRecordMapper.java
@@ -218,7 +218,6 @@ public class ChangeStreamRecordMapper {
    * @param resultSet the change stream result set
    * @param resultSetMetadata the metadata generated when reading the change 
stream row
    * @return a {@link List} of {@link ChangeStreamRecord} subclasses
-   * @throws InvalidProtocolBufferException
    */
   public List<ChangeStreamRecord> toChangeStreamRecords(
       PartitionMetadata partition,
diff --git 
a/sdks/java/io/google-cloud-platform/src/test/java/org/apache/beam/sdk/io/gcp/bigtable/BigtableReadIT.java
 
b/sdks/java/io/google-cloud-platform/src/test/java/org/apache/beam/sdk/io/gcp/bigtable/BigtableReadIT.java
index 1da38e6d083..6760d5e8e60 100644
--- 
a/sdks/java/io/google-cloud-platform/src/test/java/org/apache/beam/sdk/io/gcp/bigtable/BigtableReadIT.java
+++ 
b/sdks/java/io/google-cloud-platform/src/test/java/org/apache/beam/sdk/io/gcp/bigtable/BigtableReadIT.java
@@ -29,7 +29,8 @@ import com.google.cloud.bigtable.data.v2.BigtableDataSettings;
 import com.google.cloud.bigtable.data.v2.models.RowMutation;
 import com.google.cloud.bigtable.data.v2.models.TableId;
 import java.io.IOException;
-import java.util.Date;
+import java.time.LocalDateTime;
+import java.time.ZoneId;
 import org.apache.beam.repackaged.core.org.apache.commons.lang3.StringUtils;
 import org.apache.beam.sdk.Pipeline;
 import org.apache.beam.sdk.PipelineResult;
@@ -55,7 +56,8 @@ public class BigtableReadIT {
   private String project;
 
   private BigtableTestOptions options;
-  private String tableId = 
String.format("BigtableReadIT-%tF-%<tH-%<tM-%<tS-%<tL", new Date());
+  private String tableId =
+      String.format("BigtableReadIT-%tF-%<tH-%<tM-%<tS-%<tL", 
LocalDateTime.now(ZoneId.of("UTC")));
 
   private BigtableDataClient client;
   private BigtableTableAdminClient tableAdminClient;
diff --git 
a/sdks/java/io/google-cloud-platform/src/test/java/org/apache/beam/sdk/io/gcp/bigtable/BigtableReadSchemaTransformProviderIT.java
 
b/sdks/java/io/google-cloud-platform/src/test/java/org/apache/beam/sdk/io/gcp/bigtable/BigtableReadSchemaTransformProviderIT.java
index 99db2641fa4..3f292dd0975 100644
--- 
a/sdks/java/io/google-cloud-platform/src/test/java/org/apache/beam/sdk/io/gcp/bigtable/BigtableReadSchemaTransformProviderIT.java
+++ 
b/sdks/java/io/google-cloud-platform/src/test/java/org/apache/beam/sdk/io/gcp/bigtable/BigtableReadSchemaTransformProviderIT.java
@@ -30,9 +30,10 @@ import com.google.cloud.bigtable.data.v2.BigtableDataClient;
 import com.google.cloud.bigtable.data.v2.BigtableDataSettings;
 import com.google.cloud.bigtable.data.v2.models.RowMutation;
 import java.nio.charset.StandardCharsets;
+import java.time.LocalDateTime;
+import java.time.ZoneId;
 import java.util.ArrayList;
 import java.util.Arrays;
-import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -114,7 +115,9 @@ public class BigtableReadSchemaTransformProviderIT {
             .build();
     tableAdminClient = BigtableTableAdminClient.create(adminSettings);
 
-    tableId = String.format("BTReadSchemaTransformIT-%tF-%<tH-%<tM-%<tS-%<tL", 
new Date());
+    tableId =
+        String.format(
+            "BTReadSchemaTransformIT-%tF-%<tH-%<tM-%<tS-%<tL", 
LocalDateTime.now(ZoneId.of("UTC")));
     if (!tableAdminClient.exists(tableId)) {
       CreateTableRequest createTableRequest =
           CreateTableRequest.of(tableId)
diff --git 
a/sdks/java/io/google-cloud-platform/src/test/java/org/apache/beam/sdk/io/gcp/bigtable/BigtableServiceImplTest.java
 
b/sdks/java/io/google-cloud-platform/src/test/java/org/apache/beam/sdk/io/gcp/bigtable/BigtableServiceImplTest.java
index 37d7d89021d..bec5a5470cb 100644
--- 
a/sdks/java/io/google-cloud-platform/src/test/java/org/apache/beam/sdk/io/gcp/bigtable/BigtableServiceImplTest.java
+++ 
b/sdks/java/io/google-cloud-platform/src/test/java/org/apache/beam/sdk/io/gcp/bigtable/BigtableServiceImplTest.java
@@ -142,7 +142,6 @@ public class BigtableServiceImplTest {
    * as expected.
    *
    * @throws IOException
-   * @throws InterruptedException
    */
   @Test
   @SuppressWarnings("unchecked")
@@ -831,7 +830,6 @@ public class BigtableServiceImplTest {
    * expected.
    *
    * @throws IOException
-   * @throws InterruptedException
    */
   @Test
   public void testWrite() throws IOException {
diff --git 
a/sdks/java/io/google-cloud-platform/src/test/java/org/apache/beam/sdk/io/gcp/bigtable/BigtableSimpleWriteSchemaTransformProviderIT.java
 
b/sdks/java/io/google-cloud-platform/src/test/java/org/apache/beam/sdk/io/gcp/bigtable/BigtableSimpleWriteSchemaTransformProviderIT.java
index eceb1ddff4b..de6a4d54f37 100644
--- 
a/sdks/java/io/google-cloud-platform/src/test/java/org/apache/beam/sdk/io/gcp/bigtable/BigtableSimpleWriteSchemaTransformProviderIT.java
+++ 
b/sdks/java/io/google-cloud-platform/src/test/java/org/apache/beam/sdk/io/gcp/bigtable/BigtableSimpleWriteSchemaTransformProviderIT.java
@@ -31,9 +31,10 @@ import com.google.cloud.bigtable.data.v2.models.Query;
 import com.google.cloud.bigtable.data.v2.models.RowCell;
 import com.google.cloud.bigtable.data.v2.models.RowMutation;
 import java.nio.charset.StandardCharsets;
+import java.time.LocalDateTime;
+import java.time.ZoneId;
 import java.util.ArrayList;
 import java.util.Arrays;
-import java.util.Date;
 import java.util.List;
 import java.util.stream.Collectors;
 import org.apache.beam.sdk.extensions.gcp.options.GcpOptions;
@@ -61,7 +62,8 @@ public class BigtableSimpleWriteSchemaTransformProviderIT {
   private static final String COLUMN_FAMILY_NAME_2 = "test_cf_2";
   private BigtableTableAdminClient tableAdminClient;
   private BigtableDataClient dataClient;
-  private String tableId = 
String.format("BigtableWriteIT-%tF-%<tH-%<tM-%<tS-%<tL", new Date());
+  private String tableId =
+      String.format("BigtableWriteIT-%tF-%<tH-%<tM-%<tS-%<tL", 
LocalDateTime.now(ZoneId.of("UTC")));
   private String projectId;
   private String instanceId;
   private PTransform<PCollectionRowTuple, PCollectionRowTuple> writeTransform;
diff --git 
a/sdks/java/io/google-cloud-platform/src/test/java/org/apache/beam/sdk/io/gcp/bigtable/BigtableWriteIT.java
 
b/sdks/java/io/google-cloud-platform/src/test/java/org/apache/beam/sdk/io/gcp/bigtable/BigtableWriteIT.java
index 46bb3df836e..32b747f01a7 100644
--- 
a/sdks/java/io/google-cloud-platform/src/test/java/org/apache/beam/sdk/io/gcp/bigtable/BigtableWriteIT.java
+++ 
b/sdks/java/io/google-cloud-platform/src/test/java/org/apache/beam/sdk/io/gcp/bigtable/BigtableWriteIT.java
@@ -33,8 +33,9 @@ import com.google.cloud.bigtable.data.v2.models.Query;
 import com.google.cloud.bigtable.data.v2.models.Row;
 import com.google.protobuf.ByteString;
 import java.io.Serializable;
+import java.time.LocalDateTime;
+import java.time.ZoneId;
 import java.util.ArrayList;
-import java.util.Date;
 import java.util.Iterator;
 import java.util.List;
 import java.util.Objects;
@@ -78,7 +79,7 @@ public class BigtableWriteIT implements Serializable {
   private static BigtableDataClient client;
   private static BigtableTableAdminClient tableAdminClient;
   private final String tableId =
-      String.format("BigtableWriteIT-%tF-%<tH-%<tM-%<tS-%<tL", new Date());
+      String.format("BigtableWriteIT-%tF-%<tH-%<tM-%<tS-%<tL", 
LocalDateTime.now(ZoneId.of("UTC")));
 
   private String project;
 
diff --git 
a/sdks/java/io/google-cloud-platform/src/test/java/org/apache/beam/sdk/io/gcp/bigtable/BigtableWriteSchemaTransformProviderIT.java
 
b/sdks/java/io/google-cloud-platform/src/test/java/org/apache/beam/sdk/io/gcp/bigtable/BigtableWriteSchemaTransformProviderIT.java
index 22159d5fb72..97fc21da7b5 100644
--- 
a/sdks/java/io/google-cloud-platform/src/test/java/org/apache/beam/sdk/io/gcp/bigtable/BigtableWriteSchemaTransformProviderIT.java
+++ 
b/sdks/java/io/google-cloud-platform/src/test/java/org/apache/beam/sdk/io/gcp/bigtable/BigtableWriteSchemaTransformProviderIT.java
@@ -30,9 +30,10 @@ import com.google.cloud.bigtable.data.v2.models.Query;
 import com.google.cloud.bigtable.data.v2.models.RowCell;
 import com.google.cloud.bigtable.data.v2.models.RowMutation;
 import java.nio.charset.StandardCharsets;
+import java.time.LocalDateTime;
+import java.time.ZoneId;
 import java.util.ArrayList;
 import java.util.Arrays;
-import java.util.Date;
 import java.util.List;
 import java.util.Map;
 import java.util.stream.Collectors;
@@ -62,7 +63,8 @@ public class BigtableWriteSchemaTransformProviderIT {
   private static final String COLUMN_FAMILY_NAME_2 = "test_cf_2";
   private BigtableTableAdminClient tableAdminClient;
   private BigtableDataClient dataClient;
-  private String tableId = 
String.format("BigtableWriteIT-%tF-%<tH-%<tM-%<tS-%<tL", new Date());
+  private String tableId =
+      String.format("BigtableWriteIT-%tF-%<tH-%<tM-%<tS-%<tL", 
LocalDateTime.now(ZoneId.of("UTC")));
   private String projectId;
   private String instanceId;
   private PTransform<PCollectionRowTuple, PCollectionRowTuple> writeTransform;
diff --git 
a/sdks/java/io/google-cloud-platform/src/test/java/org/apache/beam/sdk/io/gcp/datastore/DatastoreV1Test.java
 
b/sdks/java/io/google-cloud-platform/src/test/java/org/apache/beam/sdk/io/gcp/datastore/DatastoreV1Test.java
index cf3d11e7848..a3c8f195bea 100644
--- 
a/sdks/java/io/google-cloud-platform/src/test/java/org/apache/beam/sdk/io/gcp/datastore/DatastoreV1Test.java
+++ 
b/sdks/java/io/google-cloud-platform/src/test/java/org/apache/beam/sdk/io/gcp/datastore/DatastoreV1Test.java
@@ -1281,6 +1281,7 @@ public class DatastoreV1Test {
   }
 
   /** Builds a response of the given timestamp. */
+  @SuppressWarnings("JavaUtilDate")
   private static RunQueryResponse makeLatestTimestampResponse(long timestamp) {
     RunQueryResponse.Builder timestampResponse = RunQueryResponse.newBuilder();
     Entity.Builder entity = Entity.newBuilder();
diff --git 
a/sdks/java/io/google-cloud-platform/src/test/java/org/apache/beam/sdk/io/gcp/storage/GcsKmsKeyIT.java
 
b/sdks/java/io/google-cloud-platform/src/test/java/org/apache/beam/sdk/io/gcp/storage/GcsKmsKeyIT.java
index 67cf729c417..f89e9ea619e 100644
--- 
a/sdks/java/io/google-cloud-platform/src/test/java/org/apache/beam/sdk/io/gcp/storage/GcsKmsKeyIT.java
+++ 
b/sdks/java/io/google-cloud-platform/src/test/java/org/apache/beam/sdk/io/gcp/storage/GcsKmsKeyIT.java
@@ -23,8 +23,9 @@ import static org.hamcrest.MatcherAssert.assertThat;
 import static org.junit.Assert.assertNotNull;
 
 import java.io.IOException;
+import java.time.LocalDateTime;
+import java.time.ZoneId;
 import java.util.Collections;
-import java.util.Date;
 import org.apache.beam.sdk.Pipeline;
 import org.apache.beam.sdk.PipelineResult;
 import org.apache.beam.sdk.PipelineResult.State;
@@ -77,7 +78,9 @@ public class GcsKmsKeyIT {
     ResourceId filenamePrefix =
         FileSystems.matchNewResource(gcsOptions.getGcpTempLocation(), true)
             .resolve(
-                String.format("GcsKmsKeyIT-%tF-%<tH-%<tM-%<tS-%<tL.output", 
new Date()),
+                String.format(
+                    "GcsKmsKeyIT-%tF-%<tH-%<tM-%<tS-%<tL.output",
+                    LocalDateTime.now(ZoneId.of("UTC"))),
                 StandardResolveOptions.RESOLVE_FILE);
 
     Pipeline p = Pipeline.create(options);
diff --git 
a/sdks/java/io/google-cloud-platform/src/test/java/org/apache/beam/sdk/io/gcp/storage/GcsMatchIT.java
 
b/sdks/java/io/google-cloud-platform/src/test/java/org/apache/beam/sdk/io/gcp/storage/GcsMatchIT.java
index 5f04c973ade..aa60f9d3f46 100644
--- 
a/sdks/java/io/google-cloud-platform/src/test/java/org/apache/beam/sdk/io/gcp/storage/GcsMatchIT.java
+++ 
b/sdks/java/io/google-cloud-platform/src/test/java/org/apache/beam/sdk/io/gcp/storage/GcsMatchIT.java
@@ -26,8 +26,9 @@ import java.nio.channels.Channels;
 import java.nio.channels.ReadableByteChannel;
 import java.nio.channels.WritableByteChannel;
 import java.nio.file.Path;
+import java.time.LocalDateTime;
+import java.time.ZoneId;
 import java.util.Collections;
-import java.util.Date;
 import java.util.Objects;
 import org.apache.beam.sdk.Pipeline;
 import org.apache.beam.sdk.PipelineResult;
@@ -149,7 +150,9 @@ public class GcsMatchIT {
     GcsOptions gcsOptions = options.as(GcsOptions.class);
     String dstFolderName =
         gcsOptions.getGcpTempLocation()
-            + 
String.format("/testGcsMatchContinuously.%tF-%<tH-%<tM-%<tS-%<tL/", new Date());
+            + String.format(
+                "/testGcsMatchContinuously.%tF-%<tH-%<tM-%<tS-%<tL/",
+                LocalDateTime.now(ZoneId.of("UTC")));
     watchPath = GcsPath.fromUri(dstFolderName);
   }
 
diff --git 
a/sdks/java/io/hbase/src/main/java/org/apache/beam/sdk/io/hbase/HBaseRowMutationsCoder.java
 
b/sdks/java/io/hbase/src/main/java/org/apache/beam/sdk/io/hbase/HBaseRowMutationsCoder.java
index 673463cf5a7..51a53c7aa19 100644
--- 
a/sdks/java/io/hbase/src/main/java/org/apache/beam/sdk/io/hbase/HBaseRowMutationsCoder.java
+++ 
b/sdks/java/io/hbase/src/main/java/org/apache/beam/sdk/io/hbase/HBaseRowMutationsCoder.java
@@ -91,8 +91,6 @@ class HBaseRowMutationsCoder extends 
StructuredCoder<RowMutations> implements Se
    * Coder is always deterministic: 1. {@link RowMutations} maintains equality 
by row key only,
    * which is asserted equal in this coder 2. Canonical encoding is maintained 
regardless of object
    * machine or time context
-   *
-   * @throws NonDeterministicException
    */
   @Override
   public void verifyDeterministic() {}
diff --git 
a/sdks/java/io/influxdb/src/test/java/org/apache/beam/sdk/io/influxdb/InfluxDbIOTest.java
 
b/sdks/java/io/influxdb/src/test/java/org/apache/beam/sdk/io/influxdb/InfluxDbIOTest.java
index e57028a6015..78579b82c93 100644
--- 
a/sdks/java/io/influxdb/src/test/java/org/apache/beam/sdk/io/influxdb/InfluxDbIOTest.java
+++ 
b/sdks/java/io/influxdb/src/test/java/org/apache/beam/sdk/io/influxdb/InfluxDbIOTest.java
@@ -162,6 +162,7 @@ public class InfluxDbIOTest {
     return queryResult;
   }
 
+  @SuppressWarnings("JavaUtilDate")
   private QueryResult mockResult(String metricName, int numberOfRecords) {
     QueryResult queryResult = new QueryResult();
     QueryResult.Series series = new Series();
diff --git 
a/sdks/java/io/jdbc/src/main/java/org/apache/beam/sdk/io/jdbc/JdbcUtil.java 
b/sdks/java/io/jdbc/src/main/java/org/apache/beam/sdk/io/jdbc/JdbcUtil.java
index c1c9e594c7e..4737e9a36e1 100644
--- a/sdks/java/io/jdbc/src/main/java/org/apache/beam/sdk/io/jdbc/JdbcUtil.java
+++ b/sdks/java/io/jdbc/src/main/java/org/apache/beam/sdk/io/jdbc/JdbcUtil.java
@@ -249,6 +249,7 @@ public class JdbcUtil {
               .build());
 
   /** PreparedStatementSetCaller for Schema Field Logical types. * */
+  @SuppressWarnings("JavaUtilDate")
   static JdbcIO.PreparedStatementSetCaller getPreparedStatementSetCaller(
       Schema.FieldType fieldType) {
     switch (fieldType.getTypeName()) {
diff --git 
a/sdks/java/io/jdbc/src/test/java/org/apache/beam/sdk/io/jdbc/JdbcIOTest.java 
b/sdks/java/io/jdbc/src/test/java/org/apache/beam/sdk/io/jdbc/JdbcIOTest.java
index 383b787e726..9099583fb3d 100644
--- 
a/sdks/java/io/jdbc/src/test/java/org/apache/beam/sdk/io/jdbc/JdbcIOTest.java
+++ 
b/sdks/java/io/jdbc/src/test/java/org/apache/beam/sdk/io/jdbc/JdbcIOTest.java
@@ -1114,6 +1114,7 @@ public class JdbcIOTest implements Serializable {
   }
 
   @Test
+  @SuppressWarnings("JavaUtilDate")
   public void testGetPreparedStatementSetCallerForLogicalTypes() throws 
Exception {
     FieldType fixedLengthStringType = 
LogicalTypes.fixedLengthString(JDBCType.VARCHAR, 4);
     Schema schema =
@@ -1171,7 +1172,7 @@ public class JdbcIOTest implements Serializable {
     Calendar cal = Calendar.getInstance(TimeZone.getTimeZone("UTC"));
     cal.setTimeInMillis(epochMilli);
 
-    verify(psMocked, times(1)).setTimestamp(3, new 
Timestamp(cal.getTime().getTime()), cal);
+    verify(psMocked, times(1)).setTimestamp(3, new 
Timestamp(cal.getTimeInMillis()), cal);
     verify(psMocked, times(1)).setString(4, row.getString(3));
     verify(psMocked, times(1)).setString(5, row.getString(4));
     verify(psMocked, times(1)).setObject(6, row.getLogicalTypeValue(5, 
UUID.class));
diff --git 
a/sdks/java/io/mongodb/src/main/java/org/apache/beam/sdk/io/mongodb/MongoDbGridFSIO.java
 
b/sdks/java/io/mongodb/src/main/java/org/apache/beam/sdk/io/mongodb/MongoDbGridFSIO.java
index 71f8b291e0d..05468a28863 100644
--- 
a/sdks/java/io/mongodb/src/main/java/org/apache/beam/sdk/io/mongodb/MongoDbGridFSIO.java
+++ 
b/sdks/java/io/mongodb/src/main/java/org/apache/beam/sdk/io/mongodb/MongoDbGridFSIO.java
@@ -141,7 +141,7 @@ public class MongoDbGridFSIO {
    */
   private static final Parser<String> TEXT_PARSER =
       (gridFSFile, downloadStream, callback) -> {
-        final Instant time = new Instant(gridFSFile.getUploadDate().getTime());
+        final Instant time = new 
Instant(gridFSFile.getUploadDate().toInstant().toEpochMilli());
         try (BufferedReader reader =
             new BufferedReader(new InputStreamReader(downloadStream, 
StandardCharsets.UTF_8))) {
           for (String line = reader.readLine(); line != null; line = 
reader.readLine()) {
diff --git 
a/sdks/java/io/mongodb/src/test/java/org/apache/beam/sdk/io/mongodb/MongoDBIOIT.java
 
b/sdks/java/io/mongodb/src/test/java/org/apache/beam/sdk/io/mongodb/MongoDBIOIT.java
index 73b9463e620..67e9ce053f9 100644
--- 
a/sdks/java/io/mongodb/src/test/java/org/apache/beam/sdk/io/mongodb/MongoDBIOIT.java
+++ 
b/sdks/java/io/mongodb/src/test/java/org/apache/beam/sdk/io/mongodb/MongoDBIOIT.java
@@ -24,7 +24,6 @@ import static org.junit.Assert.assertNotEquals;
 import com.mongodb.client.MongoClient;
 import com.mongodb.client.MongoClients;
 import java.time.Instant;
-import java.util.Date;
 import java.util.HashSet;
 import java.util.Map;
 import java.util.Set;
@@ -141,7 +140,7 @@ public class MongoDBIOIT {
   public static void setUp() {
     PipelineOptionsFactory.register(MongoDBPipelineOptions.class);
     options = 
TestPipeline.testingPipelineOptions().as(MongoDBPipelineOptions.class);
-    collection = String.format("test_%s", new Date().getTime());
+    collection = String.format("test_%s", 
java.time.Instant.now().toEpochMilli());
     if (StringUtils.isEmpty(options.getMongoDBUsername())) {
       mongoUrl =
           String.format("mongodb://%s:%s", options.getMongoDBHostName(), 
options.getMongoDBPort());
diff --git 
a/sdks/java/io/rabbitmq/src/main/java/org/apache/beam/sdk/io/rabbitmq/RabbitMqMessage.java
 
b/sdks/java/io/rabbitmq/src/main/java/org/apache/beam/sdk/io/rabbitmq/RabbitMqMessage.java
index bda291d5215..9936d9a9c6f 100644
--- 
a/sdks/java/io/rabbitmq/src/main/java/org/apache/beam/sdk/io/rabbitmq/RabbitMqMessage.java
+++ 
b/sdks/java/io/rabbitmq/src/main/java/org/apache/beam/sdk/io/rabbitmq/RabbitMqMessage.java
@@ -132,6 +132,7 @@ public class RabbitMqMessage implements Serializable {
   private final @Nullable String appId;
   private final @Nullable String clusterId;
 
+  @SuppressWarnings("JavaUtilDate")
   public RabbitMqMessage(byte[] body) {
     this.body = body;
     routingKey = "";
@@ -151,6 +152,7 @@ public class RabbitMqMessage implements Serializable {
     clusterId = null;
   }
 
+  @SuppressWarnings("JavaUtilDate")
   public RabbitMqMessage(String routingKey, GetResponse delivery) {
     this.routingKey = routingKey;
     delivery = serializableDeliveryOf(delivery);
@@ -171,6 +173,7 @@ public class RabbitMqMessage implements Serializable {
     clusterId = delivery.getProps().getClusterId();
   }
 
+  @SuppressWarnings("JavaUtilDate")
   public RabbitMqMessage(
       String routingKey,
       byte[] body,
diff --git 
a/sdks/java/io/snowflake/src/main/java/org/apache/beam/sdk/io/snowflake/SnowflakeIO.java
 
b/sdks/java/io/snowflake/src/main/java/org/apache/beam/sdk/io/snowflake/SnowflakeIO.java
index d245cf7210f..8a8e45c6f87 100644
--- 
a/sdks/java/io/snowflake/src/main/java/org/apache/beam/sdk/io/snowflake/SnowflakeIO.java
+++ 
b/sdks/java/io/snowflake/src/main/java/org/apache/beam/sdk/io/snowflake/SnowflakeIO.java
@@ -27,9 +27,9 @@ import java.io.IOException;
 import java.io.Serializable;
 import java.security.PrivateKey;
 import java.sql.SQLException;
-import java.text.SimpleDateFormat;
+import java.time.LocalDateTime;
+import java.time.ZoneId;
 import java.util.ArrayList;
-import java.util.Date;
 import java.util.List;
 import java.util.UUID;
 import java.util.concurrent.ConcurrentHashMap;
@@ -476,7 +476,8 @@ public class SnowflakeIO {
     private String makeTmpDirName() {
       return String.format(
           "sf_copy_csv_%s_%s",
-          new SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date()),
+          LocalDateTime.now(ZoneId.of("UTC"))
+              
.format(java.time.format.DateTimeFormatter.ofPattern("yyyyMMdd_HHmmss")),
           UUID.randomUUID().toString().subSequence(0, 8) // first 8 chars of 
UUID should be enough
           );
     }
diff --git 
a/sdks/java/testing/jpms-tests/src/test/java/org/apache/beam/sdk/jpmstests/JpmsIT.java
 
b/sdks/java/testing/jpms-tests/src/test/java/org/apache/beam/sdk/jpmstests/JpmsIT.java
index fe9e299b9c3..f9a8c945b0c 100644
--- 
a/sdks/java/testing/jpms-tests/src/test/java/org/apache/beam/sdk/jpmstests/JpmsIT.java
+++ 
b/sdks/java/testing/jpms-tests/src/test/java/org/apache/beam/sdk/jpmstests/JpmsIT.java
@@ -20,7 +20,8 @@ package org.apache.beam.sdk.jpmstests;
 import static 
org.apache.beam.sdk.testing.FileChecksumMatcher.fileContentsHaveChecksum;
 import static org.hamcrest.MatcherAssert.assertThat;
 
-import java.util.Date;
+import java.time.LocalDateTime;
+import java.time.ZoneId;
 import org.apache.beam.sdk.io.FileSystems;
 import org.apache.beam.sdk.io.fs.ResolveOptions.StandardResolveOptions;
 import org.apache.beam.sdk.jpmstests.WordCount.WordCountOptions;
@@ -55,7 +56,8 @@ public class JpmsIT {
     options.setOutput(
         FileSystems.matchNewResource(options.getTempRoot(), true)
             .resolve(
-                String.format("JpmsIT-%tF-%<tH-%<tM-%<tS-%<tL", new Date()),
+                String.format(
+                    "JpmsIT-%tF-%<tH-%<tM-%<tS-%<tL", 
LocalDateTime.now(ZoneId.of("UTC"))),
                 StandardResolveOptions.RESOLVE_DIRECTORY)
             .resolve("output", StandardResolveOptions.RESOLVE_DIRECTORY)
             .resolve("results", StandardResolveOptions.RESOLVE_FILE)
diff --git 
a/sdks/java/testing/tpcds/src/main/java/org/apache/beam/sdk/tpcds/BeamSqlEnvRunner.java
 
b/sdks/java/testing/tpcds/src/main/java/org/apache/beam/sdk/tpcds/BeamSqlEnvRunner.java
index fe8db05d2be..773f6f4e32c 100644
--- 
a/sdks/java/testing/tpcds/src/main/java/org/apache/beam/sdk/tpcds/BeamSqlEnvRunner.java
+++ 
b/sdks/java/testing/tpcds/src/main/java/org/apache/beam/sdk/tpcds/BeamSqlEnvRunner.java
@@ -131,6 +131,7 @@ public class BeamSqlEnvRunner {
    * @param numOfResults The number of results in the collection.
    * @throws Exception
    */
+  @SuppressWarnings("JavaUtilDate")
   private static void printExecutionSummary(
       CompletionService<TpcdsRunResult> completion, int numOfResults) throws 
Exception {
     List<List<String>> summaryRowsList = new ArrayList<>();
diff --git 
a/sdks/java/testing/tpcds/src/main/java/org/apache/beam/sdk/tpcds/SqlTransformRunner.java
 
b/sdks/java/testing/tpcds/src/main/java/org/apache/beam/sdk/tpcds/SqlTransformRunner.java
index a8f47955700..da317d3ddce 100644
--- 
a/sdks/java/testing/tpcds/src/main/java/org/apache/beam/sdk/tpcds/SqlTransformRunner.java
+++ 
b/sdks/java/testing/tpcds/src/main/java/org/apache/beam/sdk/tpcds/SqlTransformRunner.java
@@ -247,6 +247,7 @@ public class SqlTransformRunner {
    * @param results Tpcds run results
    * @throws Exception
    */
+  @SuppressWarnings("JavaUtilDate")
   private static void printExecutionSummary(List<TpcdsRunResult> results) 
throws Exception {
     List<List<String>> summaryRowsList = new ArrayList<>();
     for (TpcdsRunResult tpcdsRunResult : results) {
diff --git 
a/sdks/java/testing/tpcds/src/main/java/org/apache/beam/sdk/tpcds/TpcdsParametersReader.java
 
b/sdks/java/testing/tpcds/src/main/java/org/apache/beam/sdk/tpcds/TpcdsParametersReader.java
index 09f6376344f..60072ea916c 100644
--- 
a/sdks/java/testing/tpcds/src/main/java/org/apache/beam/sdk/tpcds/TpcdsParametersReader.java
+++ 
b/sdks/java/testing/tpcds/src/main/java/org/apache/beam/sdk/tpcds/TpcdsParametersReader.java
@@ -62,7 +62,6 @@ public class TpcdsParametersReader {
    * @param tpcdsOptions TpcdsOptions object constructed from user input
    * @return An array of query names, for example "1,2,14b" will be output as
    *     "query1,query2,query14b"
-   * @throws Exception
    */
   public static String[] getAndCheckQueryNames(TpcdsOptions tpcdsOptions) {
     if (tpcdsOptions.getQueries().equalsIgnoreCase("all")) {
@@ -109,7 +108,6 @@ public class TpcdsParametersReader {
    *
    * @param tpcdsOptions TpcdsOptions object constructed from user input.
    * @return The TpcParallel user entered.
-   * @throws Exception
    */
   public static int getAndCheckTpcParallel(TpcdsOptions tpcdsOptions) throws 
Exception {
     int nThreads = tpcdsOptions.getTpcParallel();
diff --git 
a/sdks/java/testing/tpcds/src/main/java/org/apache/beam/sdk/tpcds/TpcdsRunResult.java
 
b/sdks/java/testing/tpcds/src/main/java/org/apache/beam/sdk/tpcds/TpcdsRunResult.java
index 2d29bb6dacc..df2101c7364 100644
--- 
a/sdks/java/testing/tpcds/src/main/java/org/apache/beam/sdk/tpcds/TpcdsRunResult.java
+++ 
b/sdks/java/testing/tpcds/src/main/java/org/apache/beam/sdk/tpcds/TpcdsRunResult.java
@@ -48,11 +48,13 @@ public class TpcdsRunResult {
     return isSuccessful;
   }
 
+  @SuppressWarnings("JavaUtilDate")
   public Date getStartDate() {
     Timestamp startTimeStamp = new Timestamp(startTime);
     return new Date(startTimeStamp.getTime());
   }
 
+  @SuppressWarnings("JavaUtilDate")
   public Date getEndDate() {
     Timestamp endTimeStamp = new Timestamp(endTime);
     return new Date(endTimeStamp.getTime());

Reply via email to