You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@beam.apache.org by ai...@apache.org on 2022/06/08 23:31:10 UTC

[beam] branch master updated: Update all links to in progress jiras to issues (#21749)

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

aizhamal 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 4ffeae4d2b8 Update all links to in progress jiras to issues (#21749)
4ffeae4d2b8 is described below

commit 4ffeae4d2b800f2df36d2ea2eab549f2204d5691
Author: Danny McCormick <da...@google.com>
AuthorDate: Wed Jun 8 19:31:05 2022 -0400

    Update all links to in progress jiras to issues (#21749)
    
    * Update all links to in progress jiras to issues
    
    * Fix some broken links
    
    * Fix some broken links
    
    * Spotless format
    
    * Spotless apply
    
    * One more link
    
    * A few link fixes
    
    * Wording
---
 .../org/apache/beam/examples/common/ExampleUtils.java  |  2 +-
 .../apache/beam/examples/complete/AutoComplete.java    |  2 +-
 .../beam/examples/complete/TrafficMaxLaneFlow.java     |  2 +-
 .../apache/beam/examples/complete/TrafficRoutes.java   |  2 +-
 .../beam/examples/complete/game/StatefulTeamScore.java |  2 +-
 .../apache/beam/examples/complete/game/UserScore.java  |  2 +-
 .../beam/examples/complete/game/injector/Injector.java |  2 +-
 .../examples/complete/game/utils/WriteToBigQuery.java  |  2 +-
 .../beam/examples/complete/game/utils/WriteToText.java |  2 +-
 .../apache/beam/examples/cookbook/TriggerExample.java  |  2 +-
 .../org/apache/beam/examples/snippets/Snippets.java    |  4 ++--
 .../transforms/io/gcp/bigquery/BigQueryMyData.java     |  2 +-
 .../configuration/SubProcessConfiguration.java         |  2 +-
 .../subprocess/kernel/SubProcessCommandLineArgs.java   |  2 +-
 .../examples/subprocess/kernel/SubProcessKernel.java   |  2 +-
 .../beam/examples/subprocess/utils/ExecutableFile.java |  2 +-
 .../beam/examples/subprocess/utils/FileUtils.java      |  2 +-
 .../examples/complete/game/HourlyTeamScoreTest.java    |  2 +-
 .../transforms/python/elementwise/pardo-py.ipynb       |  2 +-
 gradle.properties                                      |  2 +-
 .../core/construction/AvroGenericCoderRegistrar.java   |  2 +-
 .../runners/core/construction/CoderTranslation.java    |  4 ++--
 .../core/construction/CoderTranslatorRegistrar.java    |  2 +-
 .../runners/core/construction/CombineTranslation.java  |  2 +-
 .../construction/CreatePCollectionViewTranslation.java |  2 +-
 .../core/construction/DefaultArtifactResolver.java     |  2 +-
 .../core/construction/DisplayDataTranslation.java      |  2 +-
 .../beam/runners/core/construction/Environments.java   |  2 +-
 .../beam/runners/core/construction/External.java       |  4 ++--
 .../runners/core/construction/ExternalTranslation.java |  2 +-
 .../runners/core/construction/FlattenTranslator.java   |  2 +-
 .../core/construction/ForwardingPTransform.java        |  4 ++--
 .../core/construction/GroupByKeyTranslation.java       |  2 +-
 .../core/construction/GroupIntoBatchesTranslation.java |  2 +-
 .../runners/core/construction/ImpulseTranslation.java  |  2 +-
 .../runners/core/construction/ModelCoderRegistrar.java |  4 ++--
 .../runners/core/construction/PTransformMatchers.java  |  2 +-
 .../core/construction/PTransformReplacements.java      |  2 +-
 .../core/construction/PTransformTranslation.java       |  4 ++--
 .../runners/core/construction/ParDoTranslation.java    |  2 +-
 .../runners/core/construction/ReadTranslation.java     |  2 +-
 .../core/construction/RehydratedComponents.java        |  2 +-
 .../runners/core/construction/ReplacementOutputs.java  |  2 +-
 .../core/construction/ReshuffleTranslation.java        |  2 +-
 .../core/construction/RunnerPCollectionView.java       |  2 +-
 .../beam/runners/core/construction/SdkComponents.java  |  2 +-
 .../core/construction/SerializablePipelineOptions.java |  2 +-
 .../runners/core/construction/SplittableParDo.java     |  2 +-
 .../core/construction/SplittableParDoNaiveBounded.java |  2 +-
 .../core/construction/TestStreamTranslation.java       |  2 +-
 .../apache/beam/runners/core/construction/Timer.java   |  4 ++--
 .../TransformPayloadTranslatorRegistrar.java           |  2 +-
 .../runners/core/construction/TriggerTranslation.java  |  4 ++--
 .../construction/UnboundedReadFromBoundedSource.java   |  4 ++--
 .../runners/core/construction/UnconsumedReads.java     |  2 +-
 .../core/construction/WindowIntoTranslation.java       |  2 +-
 .../core/construction/WriteFilesTranslation.java       |  4 ++--
 .../construction/graph/GreedyPCollectionFusers.java    |  2 +-
 .../core/construction/graph/GreedyPipelineFuser.java   |  2 +-
 .../core/construction/graph/GreedyStageFuser.java      |  2 +-
 .../beam/runners/core/construction/graph/Networks.java |  2 +-
 .../core/construction/graph/OutputDeduplicator.java    |  2 +-
 .../graph/ProjectionPushdownOptimizer.java             |  2 +-
 .../core/construction/graph/QueryablePipeline.java     |  2 +-
 .../construction/graph/SplittableParDoExpander.java    |  2 +-
 .../graph/TrivialNativeTransformExpander.java          |  2 +-
 .../construction/renderer/PipelineDotRenderer.java     |  2 +-
 .../renderer/PortablePipelineDotRenderer.java          |  2 +-
 .../core/construction/CoderTranslationTest.java        |  2 +-
 .../runners/core/construction/MorePipelineTest.java    |  2 +-
 .../core/construction/PTransformMatchersTest.java      |  2 +-
 .../core/construction/ParDoTranslationTest.java        |  2 +-
 .../core/construction/PipelineTranslationTest.java     |  2 +-
 .../core/construction/RehydratedComponentsTest.java    |  2 +-
 .../construction/UnsupportedOverrideFactoryTest.java   |  2 +-
 .../construction/WindowingStrategyTranslationTest.java |  2 +-
 .../construction/graph/OutputDeduplicatorTest.java     |  2 +-
 .../java/org/apache/beam/runners/core/DoFnRunners.java |  2 +-
 .../beam/runners/core/GlobalCombineFnRunners.java      |  2 +-
 .../beam/runners/core/GroupByKeyViaGroupByKeyOnly.java |  2 +-
 .../runners/core/InMemoryMultimapSideInputView.java    |  4 ++--
 .../beam/runners/core/InMemoryStateInternals.java      |  4 ++--
 .../beam/runners/core/InMemoryTimerInternals.java      |  2 +-
 .../beam/runners/core/LateDataDroppingDoFnRunner.java  |  2 +-
 .../org/apache/beam/runners/core/LateDataUtils.java    |  4 ++--
 .../beam/runners/core/MergingActiveWindowSet.java      |  2 +-
 ...tAndTimeBoundedSplittableProcessElementInvoker.java |  4 ++--
 .../org/apache/beam/runners/core/PaneInfoTracker.java  |  2 +-
 .../apache/beam/runners/core/PeekingReiterator.java    |  2 +-
 .../org/apache/beam/runners/core/ProcessFnRunner.java  |  2 +-
 .../beam/runners/core/ReduceFnContextFactory.java      |  2 +-
 .../org/apache/beam/runners/core/ReduceFnRunner.java   |  4 ++--
 .../org/apache/beam/runners/core/SideInputHandler.java |  4 ++--
 .../org/apache/beam/runners/core/SimpleDoFnRunner.java |  4 ++--
 .../core/SimplePushbackSideInputDoFnRunner.java        |  2 +-
 .../runners/core/SplittableParDoViaKeyedWorkItems.java |  2 +-
 .../org/apache/beam/runners/core/StateMerging.java     |  2 +-
 .../java/org/apache/beam/runners/core/StateTable.java  |  4 ++--
 .../java/org/apache/beam/runners/core/StateTags.java   |  2 +-
 .../apache/beam/runners/core/StatefulDoFnRunner.java   |  4 ++--
 .../org/apache/beam/runners/core/SystemReduceFn.java   |  2 +-
 .../beam/runners/core/TestInMemoryStateInternals.java  |  4 ++--
 .../org/apache/beam/runners/core/WatermarkHold.java    |  2 +-
 .../runners/core/metrics/DefaultMetricResults.java     |  2 +-
 .../runners/core/metrics/ExecutionStateTracker.java    |  2 +-
 .../beam/runners/core/metrics/MetricUpdates.java       |  2 +-
 .../runners/core/metrics/MetricsContainerImpl.java     |  2 +-
 .../apache/beam/runners/core/metrics/MetricsMap.java   |  2 +-
 .../beam/runners/core/metrics/MetricsPusher.java       |  2 +-
 .../runners/core/metrics/SimpleExecutionState.java     |  2 +-
 .../beam/runners/core/metrics/SimpleStateRegistry.java |  2 +-
 .../runners/core/triggers/AfterAllStateMachine.java    |  2 +-
 .../AfterDelayFromFirstElementStateMachine.java        |  4 ++--
 .../runners/core/triggers/AfterEachStateMachine.java   |  2 +-
 .../runners/core/triggers/AfterFirstStateMachine.java  |  2 +-
 .../core/triggers/AfterWatermarkStateMachine.java      |  2 +-
 .../core/triggers/DefaultTriggerStateMachine.java      |  2 +-
 .../core/triggers/ExecutableTriggerStateMachine.java   |  2 +-
 .../runners/core/triggers/OrFinallyStateMachine.java   |  2 +-
 .../runners/core/triggers/RepeatedlyStateMachine.java  |  2 +-
 .../runners/core/triggers/TriggerStateMachine.java     |  2 +-
 .../triggers/TriggerStateMachineContextFactory.java    |  2 +-
 ...TimeBoundedSplittableProcessElementInvokerTest.java |  2 +-
 .../org/apache/beam/runners/core/ReduceFnTester.java   |  2 +-
 .../apache/beam/runners/core/SimpleDoFnRunnerTest.java |  2 +-
 .../core/SimplePushbackSideInputDoFnRunnerTest.java    |  2 +-
 .../beam/runners/core/StatefulDoFnRunnerTest.java      |  2 +-
 .../runners/core/metrics/MonitoringInfoTestUtil.java   |  2 +-
 .../core/triggers/TriggerStateMachineTester.java       |  6 +++---
 runners/direct-java/build.gradle                       | 10 +++++-----
 .../runners/direct/BoundedReadEvaluatorFactory.java    |  4 ++--
 .../beam/runners/direct/CloningBundleFactory.java      |  2 +-
 .../apache/beam/runners/direct/CommittedResult.java    |  2 +-
 .../apache/beam/runners/direct/CompletionCallback.java |  2 +-
 .../direct/CopyOnAccessInMemoryStateInternals.java     |  4 ++--
 .../runners/direct/CreateViewNoopEvaluatorFactory.java |  6 +++---
 .../beam/runners/direct/DirectExecutionContext.java    |  4 ++--
 .../org/apache/beam/runners/direct/DirectGraph.java    |  2 +-
 .../apache/beam/runners/direct/DirectGraphVisitor.java |  4 ++--
 .../org/apache/beam/runners/direct/DirectMetrics.java  |  2 +-
 .../org/apache/beam/runners/direct/DirectRunner.java   |  2 +-
 .../beam/runners/direct/DirectTimerInternals.java      |  2 +-
 .../beam/runners/direct/DirectTransformExecutor.java   |  2 +-
 .../beam/runners/direct/DirectWriteViewVisitor.java    |  2 +-
 .../beam/runners/direct/DisplayDataValidator.java      |  2 +-
 .../apache/beam/runners/direct/EvaluationContext.java  |  4 ++--
 .../direct/ExecutorServiceParallelExecutor.java        |  2 +-
 .../direct/GroupAlsoByWindowEvaluatorFactory.java      |  4 ++--
 .../runners/direct/GroupByKeyOnlyEvaluatorFactory.java |  4 ++--
 .../direct/ImmutabilityCheckingBundleFactory.java      |  2 +-
 .../runners/direct/ImmutabilityEnforcementFactory.java |  4 ++--
 .../runners/direct/ImmutableListBundleFactory.java     |  2 +-
 .../runners/direct/KeyedPValueTrackingVisitor.java     |  4 ++--
 .../apache/beam/runners/direct/MultiStepCombine.java   |  4 ++--
 .../org/apache/beam/runners/direct/ParDoEvaluator.java |  4 ++--
 .../beam/runners/direct/ParDoEvaluatorFactory.java     |  2 +-
 .../beam/runners/direct/ParDoMultiOverrideFactory.java |  2 +-
 .../apache/beam/runners/direct/QuiescenceDriver.java   |  4 ++--
 .../beam/runners/direct/RootProviderRegistry.java      |  4 ++--
 .../apache/beam/runners/direct/SideInputContainer.java |  4 ++--
 .../SplittableProcessElementsEvaluatorFactory.java     |  2 +-
 .../runners/direct/StatefulParDoEvaluatorFactory.java  |  4 ++--
 .../beam/runners/direct/StepTransformResult.java       |  4 ++--
 .../runners/direct/TestStreamEvaluatorFactory.java     |  4 ++--
 .../runners/direct/TransformEvaluatorRegistry.java     |  4 ++--
 .../beam/runners/direct/TransformExecutorServices.java |  2 +-
 .../apache/beam/runners/direct/TransformResult.java    |  2 +-
 .../runners/direct/UnboundedReadEvaluatorFactory.java  |  4 ++--
 .../beam/runners/direct/ViewEvaluatorFactory.java      |  2 +-
 .../beam/runners/direct/WatermarkCallbackExecutor.java |  2 +-
 .../apache/beam/runners/direct/WatermarkManager.java   |  2 +-
 .../beam/runners/direct/WindowEvaluatorFactory.java    |  2 +-
 .../direct/BoundedReadEvaluatorFactoryTest.java        |  2 +-
 .../apache/beam/runners/direct/DirectRunnerTest.java   |  2 +-
 .../beam/runners/direct/DirectTimerInternalsTest.java  |  2 +-
 .../runners/direct/DirectTransformExecutorTest.java    |  2 +-
 .../beam/runners/direct/EvaluationContextTest.java     |  2 +-
 .../direct/ExecutorServiceParallelExecutorTest.java    |  4 ++--
 .../direct/StatefulParDoEvaluatorFactoryTest.java      |  2 +-
 .../runners/direct/TestStreamEvaluatorFactoryTest.java |  2 +-
 .../direct/UnboundedReadEvaluatorFactoryTest.java      |  2 +-
 .../beam/runners/direct/WatermarkManagerTest.java      |  4 ++--
 .../extensions/metrics/MetricsGraphiteSink.java        |  2 +-
 .../runners/extensions/metrics/MetricsHttpSink.java    |  4 ++--
 runners/flink/flink_runner.gradle                      |  6 +++---
 .../beam/runners/flink/CreateStreamingFlinkView.java   |  2 +-
 .../runners/flink/FlinkBatchPipelineTranslator.java    |  4 ++--
 .../flink/FlinkBatchPortablePipelineTranslator.java    |  4 ++--
 .../runners/flink/FlinkBatchTransformTranslators.java  |  4 ++--
 .../runners/flink/FlinkBatchTranslationContext.java    |  2 +-
 .../beam/runners/flink/FlinkExecutionEnvironments.java |  4 ++--
 .../org/apache/beam/runners/flink/FlinkJobInvoker.java |  2 +-
 .../beam/runners/flink/FlinkJobServerDriver.java       |  2 +-
 .../flink/FlinkPipelineExecutionEnvironment.java       |  2 +-
 .../apache/beam/runners/flink/FlinkPipelineRunner.java |  2 +-
 .../runners/flink/FlinkPortableClientEntryPoint.java   |  2 +-
 .../org/apache/beam/runners/flink/FlinkRunner.java     |  2 +-
 .../apache/beam/runners/flink/FlinkRunnerResult.java   |  2 +-
 .../flink/FlinkStreamingPipelineTranslator.java        |  4 ++--
 .../FlinkStreamingPortablePipelineTranslator.java      |  4 ++--
 .../flink/FlinkStreamingTransformTranslators.java      | 10 +++++-----
 .../flink/FlinkStreamingTranslationContext.java        |  2 +-
 .../beam/runners/flink/FlinkTransformOverrides.java    |  2 +-
 .../flink/PipelineTranslationModeOptimizer.java        |  4 ++--
 .../org/apache/beam/runners/flink/TestFlinkRunner.java |  2 +-
 .../beam/runners/flink/metrics/FileReporter.java       |  2 +-
 .../translation/functions/FlinkAssignContext.java      |  2 +-
 .../flink/translation/functions/FlinkDoFnFunction.java |  2 +-
 .../functions/FlinkExecutableStageFunction.java        |  6 +++---
 .../functions/FlinkExecutableStagePruningFunction.java |  2 +-
 .../functions/FlinkNonMergingReduceFunction.java       |  2 +-
 .../translation/functions/FlinkSideInputReader.java    |  2 +-
 .../functions/FlinkStatefulDoFnFunction.java           |  4 ++--
 .../translation/functions/ImpulseSourceFunction.java   |  2 +-
 .../translation/functions/SideInputInitializer.java    |  2 +-
 .../functions/SingleWindowFlinkCombineRunner.java      |  2 +-
 .../functions/SortingFlinkCombineRunner.java           |  2 +-
 .../flink/translation/types/CoderTypeInformation.java  |  2 +-
 .../flink/translation/types/CoderTypeSerializer.java   |  4 ++--
 .../translation/types/EncodedValueComparator.java      |  4 ++--
 .../translation/utils/CountingPipelineVisitor.java     |  2 +-
 .../flink/translation/wrappers/SourceInputFormat.java  |  4 ++--
 .../flink/translation/wrappers/SourceInputSplit.java   |  2 +-
 .../translation/wrappers/streaming/DoFnOperator.java   |  4 ++--
 .../streaming/ExecutableStageDoFnOperator.java         |  4 ++--
 .../wrappers/streaming/SplittableDoFnOperator.java     |  2 +-
 .../wrappers/streaming/WindowDoFnOperator.java         |  2 +-
 .../wrappers/streaming/io/DedupingOperator.java        |  2 +-
 .../wrappers/streaming/io/UnboundedSourceWrapper.java  |  4 ++--
 .../streaming/stableinput/BufferedElements.java        |  2 +-
 .../streaming/stableinput/BufferingDoFnRunner.java     |  4 ++--
 .../stableinput/KeyedBufferingElementsHandler.java     |  2 +-
 .../streaming/state/FlinkBroadcastStateInternals.java  |  2 +-
 .../wrappers/streaming/state/FlinkStateInternals.java  |  4 ++--
 .../flink/FlinkPipelineExecutionEnvironmentTest.java   |  2 +-
 .../apache/beam/runners/flink/FlinkSavepointTest.java  |  2 +-
 .../flink/FlinkStreamingTransformTranslatorsTest.java  |  2 +-
 .../apache/beam/runners/flink/FlinkSubmissionTest.java |  2 +-
 .../flink/streaming/FlinkStateInternalsTest.java       |  2 +-
 .../translation/functions/FlinkDoFnFunctionTest.java   |  2 +-
 .../functions/FlinkExecutableStageFunctionTest.java    |  2 +-
 .../functions/FlinkStatefulDoFnFunctionTest.java       |  2 +-
 .../functions/ImpulseSourceFunctionTest.java           |  2 +-
 .../translation/types/CoderTypeSerializerTest.java     |  2 +-
 .../translation/wrappers/SourceInputFormatTest.java    |  2 +-
 .../streaming/ExecutableStageDoFnOperatorTest.java     |  2 +-
 .../wrappers/streaming/WindowDoFnOperatorTest.java     |  2 +-
 .../streaming/io/UnboundedSourceWrapperTest.java       |  2 +-
 .../streaming/stableinput/BufferedElementsTest.java    |  2 +-
 .../streaming/stableinput/BufferingDoFnRunnerTest.java |  2 +-
 .../beam/runners/dataflow/BatchViewOverrides.java      |  8 ++++----
 .../beam/runners/dataflow/CreateDataflowView.java      |  2 +-
 .../apache/beam/runners/dataflow/DataflowClient.java   |  2 +-
 .../apache/beam/runners/dataflow/DataflowMetrics.java  |  2 +-
 .../runners/dataflow/DataflowPTransformMatchers.java   |  2 +-
 .../beam/runners/dataflow/DataflowPipelineJob.java     |  2 +-
 .../runners/dataflow/DataflowPipelineTranslator.java   |  4 ++--
 .../apache/beam/runners/dataflow/DataflowRunner.java   |  6 +++---
 .../beam/runners/dataflow/DataflowRunnerInfo.java      |  2 +-
 .../runners/dataflow/GroupIntoBatchesOverride.java     |  2 +-
 .../runners/dataflow/PrimitiveParDoSingleFactory.java  |  4 ++--
 .../beam/runners/dataflow/TestDataflowRunner.java      |  2 +-
 .../beam/runners/dataflow/TransformTranslator.java     |  2 +-
 .../beam/runners/dataflow/internal/IsmFormat.java      |  2 +-
 .../dataflow/options/DataflowPipelineOptions.java      |  2 +-
 .../dataflow/options/DefaultGcpRegionFactory.java      |  2 +-
 .../dataflow/util/AvroCoderCloudObjectTranslator.java  |  2 +-
 .../beam/runners/dataflow/util/CloudKnownType.java     |  2 +-
 .../apache/beam/runners/dataflow/util/CloudObject.java |  2 +-
 .../runners/dataflow/util/CloudObjectTranslators.java  |  4 ++--
 .../beam/runners/dataflow/util/CloudObjects.java       |  4 ++--
 .../util/CoderCloudObjectTranslatorRegistrar.java      |  2 +-
 .../runners/dataflow/util/DataflowTemplateJob.java     |  2 +-
 .../DefaultCoderCloudObjectTranslatorRegistrar.java    |  2 +-
 .../apache/beam/runners/dataflow/util/PackageUtil.java |  2 +-
 .../beam/runners/dataflow/util/RandomAccessData.java   |  2 +-
 .../util/SchemaCoderCloudObjectTranslator.java         |  2 +-
 .../util/SerializableCoderCloudObjectTranslator.java   |  2 +-
 .../org/apache/beam/runners/dataflow/util/Structs.java |  2 +-
 .../apache/beam/runners/dataflow/util/TimeUtil.java    |  2 +-
 .../beam/runners/dataflow/DataflowMetricsTest.java     |  2 +-
 .../dataflow/DataflowPipelineTranslatorTest.java       |  2 +-
 .../beam/runners/dataflow/util/CloudObjectsTest.java   |  2 +-
 .../dataflow/worker/ApplianceShuffleReader.java        |  2 +-
 .../dataflow/worker/ApplianceShuffleWriter.java        |  2 +-
 .../beam/runners/dataflow/worker/AvroByteReader.java   |  2 +-
 .../runners/dataflow/worker/AvroByteReaderFactory.java |  4 ++--
 .../runners/dataflow/worker/AvroByteSinkFactory.java   |  2 +-
 .../runners/dataflow/worker/BatchDataflowWorker.java   |  2 +-
 .../dataflow/worker/BatchModeExecutionContext.java     |  4 ++--
 .../dataflow/worker/BatchModeUngroupingParDoFn.java    |  2 +-
 .../dataflow/worker/BeamFnMapTaskExecutorFactory.java  |  4 ++--
 .../dataflow/worker/CombineValuesFnFactory.java        |  4 ++--
 .../beam/runners/dataflow/worker/ConcatReader.java     |  4 ++--
 .../runners/dataflow/worker/ConcatReaderFactory.java   |  4 ++--
 .../runners/dataflow/worker/CounterShortIdCache.java   |  4 ++--
 .../worker/CreateIsmShardKeyAndSortKeyDoFnFactory.java |  4 ++--
 .../worker/DataflowElementExecutionTracker.java        |  2 +-
 .../dataflow/worker/DataflowExecutionContext.java      |  2 +-
 .../worker/DataflowExecutionStateRegistry.java         |  2 +-
 .../dataflow/worker/DataflowMetricsContainer.java      |  4 ++--
 .../dataflow/worker/DataflowOperationContext.java      |  2 +-
 .../runners/dataflow/worker/DataflowOutputCounter.java |  2 +-
 .../worker/DataflowPortabilityPCollectionView.java     |  2 +-
 .../dataflow/worker/DataflowProcessFnRunner.java       |  2 +-
 .../runners/dataflow/worker/DataflowRunnerHarness.java |  2 +-
 .../dataflow/worker/DataflowSideInputReadCounter.java  |  4 ++--
 .../dataflow/worker/DataflowWorkProgressUpdater.java   |  2 +-
 .../dataflow/worker/DataflowWorkUnitClient.java        |  2 +-
 .../dataflow/worker/DataflowWorkerHarnessHelper.java   |  2 +-
 .../runners/dataflow/worker/DoFnInstanceManagers.java  |  2 +-
 .../runners/dataflow/worker/ExperimentContext.java     |  2 +-
 .../FetchAndFilterStreamingSideInputsOperation.java    |  4 ++--
 .../beam/runners/dataflow/worker/Filepatterns.java     |  2 +-
 .../runners/dataflow/worker/FnApiWindowMappingFn.java  |  2 +-
 .../worker/GroupAlsoByWindowParDoFnFactory.java        |  4 ++--
 .../dataflow/worker/GroupAlsoByWindowsParDoFn.java     |  2 +-
 .../runners/dataflow/worker/GroupingShuffleReader.java |  2 +-
 .../dataflow/worker/GroupingShuffleReaderFactory.java  |  6 +++---
 ...roupingShuffleReaderWithFaultyBytesReadCounter.java |  2 +-
 .../beam/runners/dataflow/worker/InMemoryReader.java   |  2 +-
 .../runners/dataflow/worker/InMemoryReaderFactory.java |  4 ++--
 .../worker/IntrinsicMapTaskExecutorFactory.java        |  2 +-
 .../apache/beam/runners/dataflow/worker/IsmReader.java |  2 +-
 .../beam/runners/dataflow/worker/IsmReaderFactory.java |  4 ++--
 .../beam/runners/dataflow/worker/IsmReaderImpl.java    |  2 +-
 .../runners/dataflow/worker/IsmSideInputReader.java    |  8 ++++----
 .../apache/beam/runners/dataflow/worker/IsmSink.java   |  2 +-
 .../beam/runners/dataflow/worker/IsmSinkFactory.java   |  2 +-
 .../dataflow/worker/KeyTokenInvalidException.java      |  2 +-
 .../worker/MetricTrackingWindmillServerStub.java       |  2 +-
 .../worker/MetricsToCounterUpdateConverter.java        |  2 +-
 .../dataflow/worker/NoOpSourceOperationExecutor.java   |  2 +-
 .../worker/PairWithConstantKeyDoFnFactory.java         |  4 ++--
 .../dataflow/worker/PartialGroupByKeyParDoFns.java     |  2 +-
 .../dataflow/worker/PartitioningShuffleReader.java     |  2 +-
 .../worker/PartitioningShuffleReaderFactory.java       |  4 ++--
 .../beam/runners/dataflow/worker/PubsubReader.java     |  4 ++--
 .../beam/runners/dataflow/worker/PubsubSink.java       |  4 ++--
 .../beam/runners/dataflow/worker/ReaderCache.java      |  2 +-
 .../beam/runners/dataflow/worker/ReaderFactory.java    |  2 +-
 .../beam/runners/dataflow/worker/ReaderRegistry.java   |  4 ++--
 .../worker/ReifyTimestampAndWindowsParDoFnFactory.java |  2 +-
 ...nnerHarnessCoderCloudObjectTranslatorRegistrar.java |  4 ++--
 .../runners/dataflow/worker/SdkHarnessRegistries.java  |  2 +-
 .../beam/runners/dataflow/worker/ShuffleLibrary.java   |  2 +-
 .../beam/runners/dataflow/worker/ShuffleSink.java      |  4 ++--
 .../runners/dataflow/worker/ShuffleSinkFactory.java    |  4 ++--
 .../dataflow/worker/SimpleDoFnRunnerFactory.java       |  2 +-
 .../beam/runners/dataflow/worker/SimpleParDoFn.java    |  4 ++--
 .../beam/runners/dataflow/worker/SinkFactory.java      |  2 +-
 .../beam/runners/dataflow/worker/SinkRegistry.java     |  4 ++--
 .../dataflow/worker/SourceTranslationUtils.java        |  2 +-
 .../dataflow/worker/SplittableProcessFnFactory.java    |  2 +-
 .../beam/runners/dataflow/worker/StateFetcher.java     |  4 ++--
 .../dataflow/worker/StreamingDataflowWorker.java       |  4 ++--
 .../StreamingKeyedWorkItemSideInputDoFnRunner.java     |  2 +-
 .../dataflow/worker/StreamingModeExecutionContext.java |  2 +-
 .../worker/StreamingPCollectionViewWriterParDoFn.java  |  2 +-
 .../dataflow/worker/StreamingSideInputFetcher.java     |  2 +-
 .../dataflow/worker/StreamingStepMetricsContainer.java |  2 +-
 .../worker/ToIsmRecordForMultimapDoFnFactory.java      |  4 ++--
 .../dataflow/worker/UngroupedShuffleReader.java        |  2 +-
 .../dataflow/worker/UngroupedShuffleReaderFactory.java |  4 ++--
 .../dataflow/worker/UngroupedWindmillReader.java       |  4 ++--
 .../runners/dataflow/worker/UserParDoFnFactory.java    |  4 ++--
 .../runners/dataflow/worker/ValuesDoFnFactory.java     |  2 +-
 .../runners/dataflow/worker/WindmillKeyedWorkItem.java |  4 ++--
 .../dataflow/worker/WindmillReaderIteratorBase.java    |  2 +-
 .../beam/runners/dataflow/worker/WindmillSink.java     |  4 ++--
 .../dataflow/worker/WindmillStateInternals.java        |  4 ++--
 .../runners/dataflow/worker/WindmillStateReader.java   |  4 ++--
 .../dataflow/worker/WindmillTimerInternals.java        |  2 +-
 .../dataflow/worker/WindowingWindmillReader.java       |  6 +++---
 .../runners/dataflow/worker/WorkItemStatusClient.java  |  4 ++--
 .../worker/WorkerCustomSourceOperationExecutor.java    |  4 ++--
 .../runners/dataflow/worker/WorkerCustomSources.java   |  4 ++--
 .../dataflow/worker/WorkerPipelineOptionsFactory.java  |  2 +-
 .../dataflow/worker/counters/CounterFactory.java       |  2 +-
 .../runners/dataflow/worker/counters/CounterName.java  |  2 +-
 .../runners/dataflow/worker/counters/CounterSet.java   |  2 +-
 .../counters/DataflowCounterUpdateExtractor.java       |  2 +-
 .../counters/DistributionCounterUpdateAggregator.java  |  2 +-
 .../worker/counters/MeanCounterUpdateAggregator.java   |  2 +-
 .../worker/counters/SumCounterUpdateAggregator.java    |  2 +-
 .../worker/fn/control/BeamFnMapTaskExecutor.java       |  4 ++--
 .../fn/control/DataflowSideInputHandlerFactory.java    |  2 +-
 ...tCountMonitoringInfoToCounterUpdateTransformer.java |  2 +-
 ...onTimeMonitoringInfoToCounterUpdateTransformer.java |  2 +-
 ...eCountMonitoringInfoToCounterUpdateTransformer.java |  2 +-
 .../fn/control/ProcessRemoteBundleOperation.java       |  2 +-
 .../fn/control/RegisterAndProcessBundleOperation.java  |  4 ++--
 ...butionMonitoringInfoToCounterUpdateTransformer.java |  2 +-
 .../UserMonitoringInfoToCounterUpdateTransformer.java  |  2 +-
 .../dataflow/worker/fn/data/BeamFnDataGrpcService.java |  2 +-
 .../worker/fn/data/RemoteGrpcPortReadOperation.java    |  2 +-
 .../worker/fn/data/RemoteGrpcPortWriteOperation.java   |  2 +-
 .../worker/fn/logging/BeamFnLoggingService.java        |  2 +-
 .../worker/fn/stream/ServerStreamObserverFactory.java  |  2 +-
 .../graph/CreateExecutableStageNodeFunction.java       |  2 +-
 .../worker/graph/DeduceFlattenLocationsFunction.java   |  2 +-
 .../beam/runners/dataflow/worker/graph/Edges.java      |  2 +-
 .../InsertFetchAndFilterStreamingSideInputNodes.java   |  4 ++--
 .../worker/graph/MapTaskToNetworkFunction.java         |  2 +-
 .../beam/runners/dataflow/worker/graph/Networks.java   |  2 +-
 .../beam/runners/dataflow/worker/graph/Nodes.java      |  2 +-
 .../dataflow/worker/graph/RegisterNodeFunction.java    |  2 +-
 .../graph/RemoveFlattenInstructionsFunction.java       |  2 +-
 .../graph/ReplacePgbkWithPrecombineFunction.java       |  2 +-
 .../worker/logging/DataflowWorkerLoggingHandler.java   |  2 +-
 .../logging/DataflowWorkerLoggingInitializer.java      |  2 +-
 .../worker/logging/DataflowWorkerLoggingMDC.java       |  2 +-
 .../logging/JulHandlerPrintStreamAdapterFactory.java   |  2 +-
 .../worker/options/StreamingDataflowWorkerOptions.java |  2 +-
 .../dataflow/worker/profiler/ScopedProfiler.java       |  2 +-
 .../runners/dataflow/worker/status/DebugCapture.java   |  2 +-
 .../dataflow/worker/status/WorkerStatusPages.java      |  2 +-
 .../dataflow/worker/util/BoundedQueueExecutor.java     |  2 +-
 .../runners/dataflow/worker/util/CloudSourceUtils.java |  2 +-
 .../runners/dataflow/worker/util/MemoryMonitor.java    |  2 +-
 .../runners/dataflow/worker/util/TimerOrElement.java   |  4 ++--
 .../worker/util/common/TaggedReiteratorList.java       |  2 +-
 .../util/common/worker/BatchingShuffleEntryReader.java |  2 +-
 .../util/common/worker/ByteArrayShufflePosition.java   |  2 +-
 .../util/common/worker/CachingShuffleBatchReader.java  |  2 +-
 .../common/worker/GroupingShuffleEntryIterator.java    |  2 +-
 .../common/worker/GroupingShuffleRangeTracker.java     |  4 ++--
 .../worker/util/common/worker/GroupingTables.java      |  2 +-
 .../worker/util/common/worker/MapTaskExecutor.java     |  2 +-
 .../util/common/worker/OutputObjectAndByteCounter.java |  2 +-
 .../worker/util/common/worker/ReadOperation.java       |  4 ++--
 .../worker/util/common/worker/ShuffleEntry.java        |  2 +-
 .../worker/util/common/worker/ShuffleReadCounter.java  |  2 +-
 .../worker/util/common/worker/WorkExecutor.java        |  2 +-
 .../worker/util/common/worker/WorkProgressUpdater.java |  4 ++--
 .../worker/util/common/worker/WriteOperation.java      |  2 +-
 .../dataflow/worker/windmill/GrpcWindmillServer.java   |  6 +++---
 .../dataflow/worker/windmill/WindmillServer.java       |  2 +-
 .../dataflow/worker/windmill/WindmillServerBase.java   |  2 +-
 .../dataflow/worker/windmill/WindmillServerStub.java   |  2 +-
 .../dataflow/worker/AvroByteReaderFactoryTest.java     |  2 +-
 .../runners/dataflow/worker/AvroByteReaderTest.java    |  2 +-
 .../dataflow/worker/CombineValuesFnFactoryTest.java    |  2 +-
 .../beam/runners/dataflow/worker/ConcatReaderTest.java |  2 +-
 .../worker/DataflowSideInputReadCounterTest.java       |  2 +-
 .../dataflow/worker/DefaultParDoFnFactoryTest.java     |  2 +-
 .../dataflow/worker/FnApiWindowMappingFnTest.java      |  2 +-
 .../worker/GroupAlsoByWindowParDoFnFactoryTest.java    |  2 +-
 .../dataflow/worker/GroupingShuffleReaderTest.java     |  4 ++--
 .../worker/IntrinsicMapTaskExecutorFactoryTest.java    |  4 ++--
 .../beam/runners/dataflow/worker/IsmReaderTest.java    |  2 +-
 .../worker/LazilyInitializedSideInputReaderTest.java   |  2 +-
 .../dataflow/worker/PartialGroupByKeyParDoFnsTest.java |  2 +-
 .../runners/dataflow/worker/ReaderFactoryTest.java     |  2 +-
 .../dataflow/worker/ShuffleReaderFactoryTest.java      |  2 +-
 .../dataflow/worker/ShuffleSinkFactoryTest.java        |  2 +-
 .../StreamingPCollectionViewWriterDoFnFactoryTest.java |  2 +-
 .../dataflow/worker/StreamingSideInputFetcherTest.java |  2 +-
 .../worker/StreamingStepMetricsContainerTest.java      |  2 +-
 .../dataflow/worker/UserParDoFnFactoryTest.java        |  2 +-
 .../dataflow/worker/WindmillStateInternalsTest.java    |  2 +-
 .../worker/fn/control/BeamFnMapTaskExecutorTest.java   |  2 +-
 .../control/DataflowSideInputHandlerFactoryTest.java   |  2 +-
 .../control/RegisterAndProcessBundleOperationTest.java |  2 +-
 .../SingularProcessBundleProgressTrackerTest.java      |  2 +-
 .../beam/runners/dataflow/worker/graph/NodesTest.java  |  2 +-
 .../dataflow/worker/util/ListOutputManager.java        |  6 +++---
 .../worker/util/common/worker/ExecutorTestUtils.java   |  2 +-
 .../worker/GroupingShuffleEntryIteratorTest.java       |  2 +-
 .../worker/util/common/worker/WriteOperationTest.java  |  2 +-
 .../worker/windmill/GrpcWindmillServerTest.java        |  2 +-
 .../fnexecution/artifact/ArtifactRetrievalService.java |  2 +-
 .../fnexecution/artifact/ArtifactStagingService.java   |  2 +-
 .../fnexecution/control/BundleCheckpointHandlers.java  |  4 ++--
 .../fnexecution/control/DefaultJobBundleFactory.java   |  4 ++--
 .../fnexecution/control/FnApiControlClient.java        |  2 +-
 .../control/FnApiControlClientPoolService.java         |  2 +-
 .../fnexecution/control/ProcessBundleDescriptors.java  |  4 ++--
 ...ReferenceCountingExecutableStageContextFactory.java |  2 +-
 .../beam/runners/fnexecution/control/RemoteBundle.java |  2 +-
 .../fnexecution/control/RemoteOutputReceiver.java      |  2 +-
 .../runners/fnexecution/control/SdkHarnessClient.java  |  4 ++--
 .../SingleEnvironmentInstanceJobBundleFactory.java     |  2 +-
 .../fnexecution/control/StageBundleFactory.java        |  2 +-
 .../fnexecution/control/TimerReceiverFactory.java      |  4 ++--
 .../beam/runners/fnexecution/data/GrpcDataService.java |  2 +-
 .../runners/fnexecution/environment/DockerCommand.java |  2 +-
 .../environment/DockerEnvironmentFactory.java          |  2 +-
 .../environment/EmbeddedEnvironmentFactory.java        |  4 ++--
 .../fnexecution/environment/ProcessManager.java        |  2 +-
 .../fnexecution/logging/GrpcLoggingService.java        |  2 +-
 .../provisioning/StaticGrpcProvisionService.java       |  2 +-
 .../fnexecution/state/InMemoryBagUserStateFactory.java |  4 ++--
 .../fnexecution/state/StateRequestHandlers.java        |  4 ++--
 .../translation/BatchSideInputHandlerFactory.java      |  2 +-
 .../translation/PipelineTranslatorUtils.java           |  4 ++--
 .../translation/StreamingSideInputHandlerFactory.java  |  4 ++--
 .../fnexecution/control/RemoteExecutionTest.java       |  2 +-
 .../fnexecution/control/SdkHarnessClientTest.java      |  2 +-
 .../fnexecution/state/GrpcStateServiceTest.java        |  2 +-
 .../fnexecution/state/StateRequestHandlersTest.java    |  2 +-
 .../beam/runners/fnexecution/wire/CommonCoderTest.java |  2 +-
 .../beam/runners/jobsubmission/InMemoryJobService.java |  2 +-
 .../beam/runners/jobsubmission/JobInvocation.java      |  2 +-
 .../apache/beam/runners/jobsubmission/JobInvoker.java  |  2 +-
 .../beam/runners/jobsubmission/JobServerDriver.java    |  2 +-
 .../jobsubmission/PortablePipelineJarCreator.java      |  4 ++--
 .../jobsubmission/PortablePipelineJarUtils.java        |  2 +-
 .../java/org/apache/beam/runners/jet/DAGBuilder.java   |  4 ++--
 .../org/apache/beam/runners/jet/JetGraphVisitor.java   |  2 +-
 .../org/apache/beam/runners/jet/JetPipelineResult.java |  2 +-
 .../beam/runners/jet/JetTransformTranslator.java       |  2 +-
 .../beam/runners/jet/JetTransformTranslators.java      |  4 ++--
 .../main/java/org/apache/beam/runners/jet/Utils.java   |  4 ++--
 .../beam/runners/jet/metrics/JetMetricResults.java     |  2 +-
 .../beam/runners/jet/processors/AbstractParDoP.java    |  4 ++--
 .../beam/runners/jet/processors/AssignWindowP.java     |  4 ++--
 .../beam/runners/jet/processors/BoundedSourceP.java    |  4 ++--
 .../apache/beam/runners/jet/processors/FlattenP.java   |  4 ++--
 .../apache/beam/runners/jet/processors/ImpulseP.java   |  4 ++--
 .../beam/runners/jet/processors/StatefulParDoP.java    |  4 ++--
 .../beam/runners/jet/processors/UnboundedSourceP.java  |  4 ++--
 .../org/apache/beam/runners/jet/processors/ViewP.java  |  4 ++--
 .../beam/runners/jet/processors/WindowGroupP.java      |  4 ++--
 .../org/apache/beam/runners/jet/TestJetRunner.java     |  2 +-
 .../java/org/apache/beam/runners/jet/TestStreamP.java  |  2 +-
 runners/portability/java/build.gradle                  | 18 +++++++++---------
 .../beam/runners/portability/CloseableResource.java    |  2 +-
 .../runners/portability/JobServicePipelineResult.java  |  2 +-
 .../beam/runners/portability/PortableMetrics.java      |  2 +-
 .../beam/runners/portability/PortableRunner.java       |  2 +-
 .../beam/runners/samza/SamzaExecutionContext.java      |  2 +-
 .../org/apache/beam/runners/samza/SamzaJobInvoker.java |  2 +-
 .../apache/beam/runners/samza/SamzaPipelineResult.java |  2 +-
 .../org/apache/beam/runners/samza/SamzaRunner.java     |  2 +-
 .../beam/runners/samza/SamzaRunnerOverrideConfigs.java |  2 +-
 .../runners/samza/adapter/BoundedSourceSystem.java     |  2 +-
 .../runners/samza/adapter/UnboundedSourceSystem.java   |  4 ++--
 .../runners/samza/container/BeamContainerRunner.java   |  4 ++--
 .../runners/samza/container/ContainerCfgLoader.java    |  2 +-
 .../runners/samza/metrics/SamzaMetricsContainer.java   |  2 +-
 .../beam/runners/samza/runtime/BundleManager.java      |  2 +-
 .../org/apache/beam/runners/samza/runtime/DoFnOp.java  |  4 ++--
 .../samza/runtime/DoFnRunnerWithKeyedInternals.java    |  4 ++--
 .../beam/runners/samza/runtime/GroupByKeyOp.java       |  2 +-
 .../beam/runners/samza/runtime/KeyedInternals.java     |  4 ++--
 .../beam/runners/samza/runtime/KeyedTimerData.java     |  4 ++--
 .../apache/beam/runners/samza/runtime/OpAdapter.java   |  2 +-
 .../apache/beam/runners/samza/runtime/OpMessage.java   |  2 +-
 .../beam/runners/samza/runtime/SamzaAssignContext.java |  2 +-
 .../beam/runners/samza/runtime/SamzaDoFnRunners.java   |  4 ++--
 .../samza/runtime/SamzaStoreStateInternals.java        |  4 ++--
 .../samza/runtime/SamzaTimerInternalsFactory.java      |  4 ++--
 .../runtime/SplittableParDoProcessKeyedElementsOp.java |  2 +-
 .../beam/runners/samza/translation/ConfigBuilder.java  |  2 +-
 .../beam/runners/samza/translation/ConfigContext.java  |  2 +-
 .../samza/translation/GroupByKeyTranslator.java        |  2 +-
 .../runners/samza/translation/ImpulseTranslator.java   |  2 +-
 .../runners/samza/translation/PViewToIdMapper.java     |  4 ++--
 .../samza/translation/ParDoBoundMultiTranslator.java   |  4 ++--
 .../samza/translation/PortableTranslationContext.java  |  4 ++--
 .../samza/translation/SamzaImpulseSystemFactory.java   |  2 +-
 .../samza/translation/SamzaPipelineTranslator.java     |  4 ++--
 .../translation/SamzaPortablePipelineTranslator.java   |  4 ++--
 .../translation/SamzaTestStreamSystemFactory.java      |  2 +-
 .../samza/translation/SamzaTransformOverrides.java     |  2 +-
 .../samza/translation/SplittableParDoTranslators.java  |  4 ++--
 .../runners/samza/translation/TranslationContext.java  |  4 ++--
 .../apache/beam/runners/samza/util/SamzaCoders.java    |  2 +-
 .../samza/util/SamzaPipelineTranslatorUtils.java       |  2 +-
 .../samza/adapter/UnboundedSourceSystemTest.java       |  2 +-
 .../samza/runtime/SamzaStoreStateInternalsTest.java    |  2 +-
 .../samza/runtime/SamzaTimerInternalsFactoryTest.java  |  4 ++--
 .../samza/translation/SamzaImpulseSystemTest.java      |  2 +-
 .../translation/streaming/DatasetSourceStreaming.java  |  2 +-
 .../translation/streaming/DatasetSourceStreaming.java  |  2 +-
 .../org/apache/beam/runners/spark/SparkJobInvoker.java |  2 +-
 .../beam/runners/spark/SparkNativePipelineVisitor.java |  4 ++--
 .../apache/beam/runners/spark/SparkPipelineResult.java |  4 ++--
 .../apache/beam/runners/spark/SparkPipelineRunner.java |  2 +-
 .../org/apache/beam/runners/spark/SparkRunner.java     |  2 +-
 .../apache/beam/runners/spark/SparkRunnerDebugger.java |  2 +-
 .../beam/runners/spark/SparkTransformOverrides.java    |  2 +-
 .../org/apache/beam/runners/spark/TestSparkRunner.java |  2 +-
 .../spark/aggregators/AggregatorsAccumulator.java      |  2 +-
 .../runners/spark/aggregators/NamedAggregators.java    |  2 +-
 .../apache/beam/runners/spark/coders/CoderHelpers.java |  2 +-
 .../spark/coders/SparkRunnerKryoRegistrator.java       |  2 +-
 .../runners/spark/coders/StatelessJavaSerializer.java  |  4 ++--
 .../org/apache/beam/runners/spark/io/CreateStream.java |  2 +-
 .../apache/beam/runners/spark/io/MicrobatchSource.java |  2 +-
 .../apache/beam/runners/spark/io/SourceDStream.java    |  2 +-
 .../org/apache/beam/runners/spark/io/SourceRDD.java    |  4 ++--
 .../beam/runners/spark/io/SparkUnboundedSource.java    |  2 +-
 .../beam/runners/spark/metrics/MetricsAccumulator.java |  2 +-
 .../beam/runners/spark/metrics/WithMetricsSupport.java |  4 ++--
 .../stateful/SparkGroupAlsoByWindowViaWindowSet.java   |  2 +-
 .../runners/spark/stateful/SparkStateInternals.java    |  2 +-
 .../runners/spark/stateful/SparkTimerInternals.java    |  2 +-
 .../runners/spark/stateful/StateSpecFunctions.java     |  4 ++--
 .../SparkStructuredStreamingPipelineResult.java        |  4 ++--
 .../SparkStructuredStreamingRunner.java                |  2 +-
 .../aggregators/AggregatorsAccumulator.java            |  2 +-
 .../aggregators/NamedAggregators.java                  |  2 +-
 .../metrics/MetricsAccumulator.java                    |  2 +-
 .../metrics/WithMetricsSupport.java                    |  4 ++--
 .../translation/AbstractTranslationContext.java        |  4 ++--
 .../translation/PipelineTranslator.java                |  2 +-
 .../translation/SparkTransformOverrides.java           |  2 +-
 .../translation/TransformTranslator.java               |  2 +-
 .../batch/CombinePerKeyTranslatorBatch.java            |  2 +-
 .../translation/batch/DoFnFunction.java                |  2 +-
 .../translation/batch/FlattenTranslatorBatch.java      |  2 +-
 .../translation/batch/ParDoTranslatorBatch.java        |  4 ++--
 .../translation/batch/PipelineTranslatorBatch.java     |  4 ++--
 .../translation/batch/WindowAssignTranslatorBatch.java |  2 +-
 .../batch/functions/SparkSideInputReader.java          |  4 ++--
 .../translation/helpers/EncoderHelpers.java            |  2 +-
 .../translation/helpers/MultiOutputCoder.java          |  4 ++--
 .../translation/helpers/SideInputBroadcast.java        |  2 +-
 .../streaming/PipelineTranslatorStreaming.java         |  4 ++--
 .../translation/utils/CachedSideInputReader.java       |  2 +-
 .../translation/utils/SideInputStorage.java            |  2 +-
 .../beam/runners/spark/translation/BoundedDataset.java |  2 +-
 .../runners/spark/translation/EvaluationContext.java   |  4 ++--
 .../translation/GroupNonMergingWindowsFunctions.java   |  2 +-
 .../runners/spark/translation/MultiDoFnFunction.java   |  2 +-
 .../SparkBatchPortablePipelineTranslator.java          |  4 ++--
 .../SparkExecutableStageExtractionFunction.java        |  2 +-
 .../translation/SparkExecutableStageFunction.java      |  4 ++--
 .../spark/translation/SparkPCollectionView.java        |  4 ++--
 .../SparkStreamingPortablePipelineTranslator.java      |  4 ++--
 .../spark/translation/SparkTranslationContext.java     |  4 ++--
 .../runners/spark/translation/TransformTranslator.java |  4 ++--
 .../runners/spark/translation/TranslationUtils.java    |  4 ++--
 .../translation/ValueAndCoderLazySerializable.java     |  2 +-
 .../spark/translation/streaming/Checkpoint.java        |  2 +-
 .../streaming/StreamingTransformTranslator.java        |  4 ++--
 .../translation/streaming/WatermarkSyncedDStream.java  |  4 ++--
 .../beam/runners/spark/util/CachedSideInputReader.java |  2 +-
 .../beam/runners/spark/util/GlobalWatermarkHolder.java |  6 +++---
 .../beam/runners/spark/util/SideInputBroadcast.java    |  2 +-
 .../beam/runners/spark/util/SideInputStorage.java      |  2 +-
 .../apache/beam/runners/spark/util/SparkCompat.java    |  4 ++--
 .../beam/runners/spark/util/SparkSideInputReader.java  |  4 ++--
 .../java/org/apache/beam/runners/spark/CacheTest.java  |  2 +-
 .../spark/coders/SparkRunnerKryoRegistratorTest.java   |  2 +-
 .../translation/SparkExecutableStageFunctionTest.java  |  2 +-
 .../spark/translation/TransformTranslatorTest.java     |  2 +-
 .../translation/ValueAndCoderLazySerializableTest.java |  2 +-
 .../streaming/ResumeFromCheckpointStreamingTest.java   |  2 +-
 .../streaming/TrackStreamingSourcesTest.java           |  2 +-
 .../runners/twister2/BeamBatchTSetEnvironment.java     |  2 +-
 .../apache/beam/runners/twister2/BeamBatchWorker.java  |  4 ++--
 .../twister2/Twister2PipelineExecutionEnvironment.java |  4 ++--
 .../beam/runners/twister2/Twister2PipelineResult.java  |  2 +-
 .../apache/beam/runners/twister2/Twister2Runner.java   |  4 ++--
 .../beam/runners/twister2/Twister2TestRunner.java      |  2 +-
 .../runners/twister2/Twister2TranslationContext.java   |  4 ++--
 .../translation/wrappers/Twister2BoundedSource.java    |  2 +-
 .../translation/wrappers/Twister2EmptySource.java      |  2 +-
 .../twister2/translators/BatchTransformTranslator.java |  2 +-
 .../translators/StreamTransformTranslator.java         |  2 +-
 .../translators/Twister2BatchPipelineTranslator.java   |  4 ++--
 .../translators/batch/AssignWindowTranslatorBatch.java |  2 +-
 .../translators/batch/FlattenTranslatorBatch.java      |  2 +-
 .../translators/batch/GroupByKeyTranslatorBatch.java   |  2 +-
 .../batch/PCollectionViewTranslatorBatch.java          |  2 +-
 .../batch/ParDoMultiOutputTranslatorBatch.java         |  4 ++--
 .../translators/functions/AssignWindowsFunction.java   |  2 +-
 .../translators/functions/ByteToElemFunction.java      |  2 +-
 .../translators/functions/ByteToWindowFunction.java    |  2 +-
 .../functions/ByteToWindowFunctionPrimitive.java       |  2 +-
 .../twister2/translators/functions/DoFnFunction.java   |  4 ++--
 .../translators/functions/ElemToBytesFunction.java     |  2 +-
 .../translators/functions/GroupByWindowFunction.java   |  2 +-
 .../translators/functions/MapToTupleFunction.java      |  2 +-
 .../translators/functions/OutputTagFilter.java         |  2 +-
 .../translators/functions/Twister2SinkFunction.java    |  2 +-
 .../functions/internal/SystemReduceFnBuffering.java    |  2 +-
 .../beam/runners/twister2/utils/TranslationUtils.java  |  2 +-
 .../runners/twister2/utils/Twister2AssignContext.java  |  2 +-
 .../twister2/utils/Twister2SideInputReader.java        |  4 ++--
 .../build-tools/src/main/resources/beam/checkstyle.xml |  5 ++---
 .../src/main/java/org/apache/beam/sdk/Pipeline.java    |  2 +-
 .../java/org/apache/beam/sdk/coders/AtomicCoder.java   |  2 +-
 .../java/org/apache/beam/sdk/coders/AvroCoder.java     |  2 +-
 .../org/apache/beam/sdk/coders/CoderProviders.java     |  2 +-
 .../java/org/apache/beam/sdk/coders/CoderRegistry.java |  2 +-
 .../java/org/apache/beam/sdk/coders/DefaultCoder.java  |  4 ++--
 .../java/org/apache/beam/sdk/coders/NullableCoder.java |  2 +-
 .../org/apache/beam/sdk/coders/RowCoderGenerator.java  |  2 +-
 .../apache/beam/sdk/coders/StringDelegateCoder.java    |  2 +-
 .../beam/sdk/expansion/ExternalTransformRegistrar.java |  2 +-
 .../src/main/java/org/apache/beam/sdk/io/AvroIO.java   |  2 +-
 .../org/apache/beam/sdk/io/AvroSchemaIOProvider.java   |  2 +-
 .../src/main/java/org/apache/beam/sdk/io/AvroSink.java |  2 +-
 .../main/java/org/apache/beam/sdk/io/AvroSource.java   |  2 +-
 .../java/org/apache/beam/sdk/io/BlockBasedSource.java  |  2 +-
 .../beam/sdk/io/BoundedReadFromUnboundedSource.java    |  2 +-
 .../org/apache/beam/sdk/io/ClassLoaderFileSystem.java  |  2 +-
 .../java/org/apache/beam/sdk/io/CompressedSource.java  |  2 +-
 .../apache/beam/sdk/io/ConstantAvroDestination.java    |  2 +-
 .../java/org/apache/beam/sdk/io/CountingSource.java    |  2 +-
 .../org/apache/beam/sdk/io/DefaultFilenamePolicy.java  |  2 +-
 .../apache/beam/sdk/io/DynamicFileDestinations.java    |  2 +-
 .../java/org/apache/beam/sdk/io/FileBasedSink.java     |  2 +-
 .../java/org/apache/beam/sdk/io/FileBasedSource.java   |  2 +-
 .../src/main/java/org/apache/beam/sdk/io/FileIO.java   |  2 +-
 .../main/java/org/apache/beam/sdk/io/FileSystems.java  |  2 +-
 .../java/org/apache/beam/sdk/io/GenerateSequence.java  |  2 +-
 .../java/org/apache/beam/sdk/io/LocalFileSystem.java   |  4 ++--
 .../java/org/apache/beam/sdk/io/OffsetBasedSource.java |  2 +-
 .../src/main/java/org/apache/beam/sdk/io/Read.java     |  2 +-
 .../beam/sdk/io/SerializableAvroCodecFactory.java      |  2 +-
 .../main/java/org/apache/beam/sdk/io/TFRecordIO.java   |  2 +-
 .../src/main/java/org/apache/beam/sdk/io/TextIO.java   |  2 +-
 .../org/apache/beam/sdk/io/TextRowCountEstimator.java  |  2 +-
 .../src/main/java/org/apache/beam/sdk/io/TextSink.java |  2 +-
 .../main/java/org/apache/beam/sdk/io/TextSource.java   |  2 +-
 .../main/java/org/apache/beam/sdk/io/WriteFiles.java   |  4 ++--
 .../org/apache/beam/sdk/io/fs/ResourceIdTester.java    |  2 +-
 .../apache/beam/sdk/io/range/ByteKeyRangeTracker.java  |  2 +-
 .../apache/beam/sdk/io/range/OffsetRangeTracker.java   |  2 +-
 .../java/org/apache/beam/sdk/metrics/MetricResult.java |  2 +-
 .../apache/beam/sdk/options/ExperimentalOptions.java   |  2 +-
 .../beam/sdk/options/PipelineOptionsFactory.java       |  4 ++--
 .../beam/sdk/options/PipelineOptionsValidator.java     |  2 +-
 .../beam/sdk/options/ProxyInvocationHandler.java       |  2 +-
 .../org/apache/beam/sdk/options/ValueProvider.java     |  2 +-
 .../apache/beam/sdk/runners/PTransformOverride.java    |  2 +-
 .../beam/sdk/runners/PTransformOverrideFactory.java    |  2 +-
 .../apache/beam/sdk/runners/TransformHierarchy.java    |  2 +-
 .../org/apache/beam/sdk/schemas/AutoValueSchema.java   |  2 +-
 .../org/apache/beam/sdk/schemas/AvroRecordSchema.java  |  2 +-
 .../org/apache/beam/sdk/schemas/CachingFactory.java    |  2 +-
 .../apache/beam/sdk/schemas/FieldAccessDescriptor.java |  2 +-
 .../apache/beam/sdk/schemas/FieldTypeDescriptors.java  |  2 +-
 .../beam/sdk/schemas/FieldValueTypeInformation.java    |  2 +-
 .../apache/beam/sdk/schemas/FromRowUsingCreator.java   |  2 +-
 .../beam/sdk/schemas/GetterBasedSchemaProvider.java    |  2 +-
 .../org/apache/beam/sdk/schemas/JavaBeanSchema.java    |  2 +-
 .../main/java/org/apache/beam/sdk/schemas/Schema.java  |  2 +-
 .../java/org/apache/beam/sdk/schemas/SchemaCoder.java  |  2 +-
 .../apache/beam/sdk/schemas/SchemaCoderHelpers.java    |  2 +-
 .../org/apache/beam/sdk/schemas/SchemaRegistry.java    |  2 +-
 .../org/apache/beam/sdk/schemas/SchemaTranslation.java |  2 +-
 .../java/org/apache/beam/sdk/schemas/SchemaUtils.java  |  2 +-
 .../beam/sdk/schemas/SetterBasedCreatorFactory.java    |  2 +-
 .../beam/sdk/schemas/annotations/DefaultSchema.java    |  4 ++--
 .../beam/sdk/schemas/annotations/SchemaCreate.java     |  2 +-
 .../beam/sdk/schemas/annotations/SchemaFieldName.java  |  2 +-
 .../sdk/schemas/annotations/SchemaFieldNumber.java     |  2 +-
 .../beam/sdk/schemas/annotations/SchemaIgnore.java     |  2 +-
 .../org/apache/beam/sdk/schemas/logicaltypes/Date.java |  2 +-
 .../apache/beam/sdk/schemas/logicaltypes/DateTime.java |  2 +-
 .../beam/sdk/schemas/logicaltypes/EnumerationType.java |  2 +-
 .../beam/sdk/schemas/logicaltypes/MicrosInstant.java   |  2 +-
 .../beam/sdk/schemas/logicaltypes/NanosDuration.java   |  2 +-
 .../beam/sdk/schemas/logicaltypes/NanosInstant.java    |  2 +-
 .../beam/sdk/schemas/logicaltypes/OneOfType.java       |  2 +-
 .../schemas/logicaltypes/PassThroughLogicalType.java   |  2 +-
 .../org/apache/beam/sdk/schemas/logicaltypes/Time.java |  2 +-
 .../schemas/parser/FieldAccessDescriptorParser.java    |  2 +-
 .../apache/beam/sdk/schemas/transforms/AddFields.java  |  2 +-
 .../org/apache/beam/sdk/schemas/transforms/Cast.java   |  2 +-
 .../apache/beam/sdk/schemas/transforms/CoGroup.java    |  2 +-
 .../apache/beam/sdk/schemas/transforms/Convert.java    |  2 +-
 .../apache/beam/sdk/schemas/transforms/DropFields.java |  2 +-
 .../org/apache/beam/sdk/schemas/transforms/Filter.java |  2 +-
 .../org/apache/beam/sdk/schemas/transforms/Group.java  |  2 +-
 .../org/apache/beam/sdk/schemas/transforms/Join.java   |  2 +-
 .../beam/sdk/schemas/transforms/RenameFields.java      |  2 +-
 .../beam/sdk/schemas/transforms/SchemaAggregateFn.java |  2 +-
 .../org/apache/beam/sdk/schemas/transforms/Select.java |  2 +-
 .../apache/beam/sdk/schemas/utils/AutoValueUtils.java  |  2 +-
 .../beam/sdk/schemas/utils/AvroByteBuddyUtils.java     |  2 +-
 .../org/apache/beam/sdk/schemas/utils/AvroUtils.java   |  2 +-
 .../apache/beam/sdk/schemas/utils/ByteBuddyUtils.java  |  2 +-
 .../apache/beam/sdk/schemas/utils/ConvertHelpers.java  |  2 +-
 .../apache/beam/sdk/schemas/utils/JavaBeanUtils.java   |  2 +-
 .../org/apache/beam/sdk/schemas/utils/POJOUtils.java   |  4 ++--
 .../apache/beam/sdk/schemas/utils/ReflectUtils.java    |  2 +-
 .../apache/beam/sdk/schemas/utils/SchemaZipFold.java   |  2 +-
 .../beam/sdk/schemas/utils/SelectByteBuddyHelpers.java |  2 +-
 .../apache/beam/sdk/schemas/utils/SelectHelpers.java   |  2 +-
 .../beam/sdk/schemas/utils/StaticSchemaInference.java  |  2 +-
 .../main/java/org/apache/beam/sdk/state/StateSpec.java |  2 +-
 .../java/org/apache/beam/sdk/state/StateSpecs.java     |  2 +-
 .../java/org/apache/beam/sdk/testing/Annotations.java  |  2 +-
 .../org/apache/beam/sdk/testing/CoderProperties.java   |  2 +-
 .../org/apache/beam/sdk/testing/CombineFnTester.java   |  2 +-
 .../apache/beam/sdk/testing/FileChecksumMatcher.java   |  2 +-
 .../java/org/apache/beam/sdk/testing/JsonMatcher.java  |  2 +-
 .../main/java/org/apache/beam/sdk/testing/PAssert.java |  6 +++---
 .../org/apache/beam/sdk/testing/PaneExtractors.java    |  2 +-
 .../apache/beam/sdk/testing/SerializableMatchers.java  | 14 +++++++-------
 .../org/apache/beam/sdk/testing/SourceTestUtils.java   |  2 +-
 .../org/apache/beam/sdk/testing/SuccessOrFailure.java  |  2 +-
 .../java/org/apache/beam/sdk/testing/TestPipeline.java |  2 +-
 .../java/org/apache/beam/sdk/testing/TestStream.java   |  2 +-
 .../org/apache/beam/sdk/testing/WindowSupplier.java    |  2 +-
 .../beam/sdk/transforms/ApproximateQuantiles.java      |  2 +-
 .../java/org/apache/beam/sdk/transforms/Combine.java   |  2 +-
 .../org/apache/beam/sdk/transforms/CombineFns.java     |  4 ++--
 .../java/org/apache/beam/sdk/transforms/Create.java    |  2 +-
 .../java/org/apache/beam/sdk/transforms/Distinct.java  |  2 +-
 .../main/java/org/apache/beam/sdk/transforms/DoFn.java |  2 +-
 .../beam/sdk/transforms/DoFnOutputReceivers.java       |  2 +-
 .../beam/sdk/transforms/DoFnSchemaInformation.java     |  2 +-
 .../org/apache/beam/sdk/transforms/DoFnTester.java     |  2 +-
 .../apache/beam/sdk/transforms/FlatMapElements.java    |  2 +-
 .../apache/beam/sdk/transforms/GroupIntoBatches.java   |  2 +-
 .../apache/beam/sdk/transforms/InferableFunction.java  |  2 +-
 .../java/org/apache/beam/sdk/transforms/Latest.java    |  2 +-
 .../org/apache/beam/sdk/transforms/MapElements.java    |  2 +-
 .../main/java/org/apache/beam/sdk/transforms/Max.java  |  2 +-
 .../main/java/org/apache/beam/sdk/transforms/Min.java  |  2 +-
 .../java/org/apache/beam/sdk/transforms/ParDo.java     |  2 +-
 .../java/org/apache/beam/sdk/transforms/Partition.java |  2 +-
 .../apache/beam/sdk/transforms/PeriodicSequence.java   |  2 +-
 .../java/org/apache/beam/sdk/transforms/Regex.java     |  2 +-
 .../java/org/apache/beam/sdk/transforms/Reify.java     |  2 +-
 .../org/apache/beam/sdk/transforms/Requirements.java   |  2 +-
 .../java/org/apache/beam/sdk/transforms/Sample.java    |  2 +-
 .../beam/sdk/transforms/SerializableFunctions.java     |  2 +-
 .../org/apache/beam/sdk/transforms/SimpleFunction.java |  2 +-
 .../java/org/apache/beam/sdk/transforms/ToString.java  |  2 +-
 .../main/java/org/apache/beam/sdk/transforms/Top.java  |  2 +-
 .../main/java/org/apache/beam/sdk/transforms/View.java |  6 +++---
 .../main/java/org/apache/beam/sdk/transforms/Wait.java |  2 +-
 .../java/org/apache/beam/sdk/transforms/Watch.java     |  4 ++--
 .../org/apache/beam/sdk/transforms/WithFailures.java   |  2 +-
 .../java/org/apache/beam/sdk/transforms/WithKeys.java  |  2 +-
 .../org/apache/beam/sdk/transforms/WithTimestamps.java |  6 +++---
 .../beam/sdk/transforms/display/DisplayData.java       |  2 +-
 .../apache/beam/sdk/transforms/join/CoGbkResult.java   |  2 +-
 .../apache/beam/sdk/transforms/join/UnionCoder.java    |  2 +-
 .../reflect/ByteBuddyDoFnInvokerFactory.java           |  2 +-
 .../reflect/ByteBuddyOnTimerInvokerFactory.java        |  2 +-
 .../beam/sdk/transforms/reflect/DoFnSignature.java     |  2 +-
 .../beam/sdk/transforms/reflect/DoFnSignatures.java    |  2 +-
 .../transforms/splittabledofn/ByteKeyRangeTracker.java |  2 +-
 .../splittabledofn/GrowableOffsetRangeTracker.java     |  2 +-
 .../transforms/splittabledofn/OffsetRangeTracker.java  |  2 +-
 .../transforms/splittabledofn/RestrictionTracker.java  |  2 +-
 .../sdk/transforms/splittabledofn/SplitResult.java     |  2 +-
 .../transforms/splittabledofn/WatermarkEstimators.java |  2 +-
 .../beam/sdk/transforms/windowing/AfterPane.java       |  2 +-
 .../sdk/transforms/windowing/AfterProcessingTime.java  |  2 +-
 .../windowing/AfterSynchronizedProcessingTime.java     |  2 +-
 .../beam/sdk/transforms/windowing/AfterWatermark.java  |  2 +-
 .../beam/sdk/transforms/windowing/GlobalWindows.java   |  2 +-
 .../windowing/MergeOverlappingIntervalWindows.java     |  2 +-
 .../apache/beam/sdk/transforms/windowing/Never.java    |  2 +-
 .../sdk/transforms/windowing/TimestampCombiner.java    |  2 +-
 .../apache/beam/sdk/transforms/windowing/Trigger.java  |  2 +-
 .../apache/beam/sdk/transforms/windowing/Window.java   |  2 +-
 .../main/java/org/apache/beam/sdk/util/ApiSurface.java |  6 +++---
 .../org/apache/beam/sdk/util/AppliedCombineFn.java     |  2 +-
 .../main/java/org/apache/beam/sdk/util/CoderUtils.java |  4 ++--
 .../sdk/util/EmptyOnDeserializationThreadLocal.java    |  2 +-
 .../beam/sdk/util/ExposedByteArrayOutputStream.java    |  2 +-
 .../beam/sdk/util/FilePatternMatchingShardedFile.java  |  2 +-
 .../java/org/apache/beam/sdk/util/FluentBackoff.java   |  2 +-
 .../java/org/apache/beam/sdk/util/InstanceBuilder.java |  2 +-
 .../java/org/apache/beam/sdk/util/MoreFutures.java     |  2 +-
 .../org/apache/beam/sdk/util/MutationDetectors.java    |  2 +-
 .../main/java/org/apache/beam/sdk/util/NameUtils.java  |  2 +-
 .../main/java/org/apache/beam/sdk/util/NoopLock.java   |  2 +-
 .../org/apache/beam/sdk/util/NumberedShardedFile.java  |  2 +-
 .../java/org/apache/beam/sdk/util/Preconditions.java   |  2 +-
 .../java/org/apache/beam/sdk/util/ReleaseInfo.java     |  2 +-
 .../main/java/org/apache/beam/sdk/util/RowJson.java    |  2 +-
 .../apache/beam/sdk/util/SerializableThrowable.java    |  2 +-
 .../org/apache/beam/sdk/util/SerializableUtils.java    |  2 +-
 .../main/java/org/apache/beam/sdk/util/ShardedKey.java |  2 +-
 .../java/org/apache/beam/sdk/util/StreamUtils.java     |  2 +-
 .../org/apache/beam/sdk/util/UserCodeException.java    |  2 +-
 .../main/java/org/apache/beam/sdk/util/ZipFiles.java   |  2 +-
 .../beam/sdk/util/common/ElementByteSizeObserver.java  |  2 +-
 .../apache/beam/sdk/util/common/ReflectHelpers.java    |  2 +-
 .../java/org/apache/beam/sdk/values/PCollection.java   |  2 +-
 .../org/apache/beam/sdk/values/PCollectionList.java    |  2 +-
 .../apache/beam/sdk/values/PCollectionRowTuple.java    |  2 +-
 .../org/apache/beam/sdk/values/PCollectionTuple.java   |  2 +-
 .../org/apache/beam/sdk/values/PCollectionView.java    |  2 +-
 .../org/apache/beam/sdk/values/PCollectionViews.java   |  2 +-
 .../main/java/org/apache/beam/sdk/values/PValue.java   |  2 +-
 .../java/org/apache/beam/sdk/values/PValueBase.java    |  2 +-
 .../main/java/org/apache/beam/sdk/values/PValues.java  |  2 +-
 .../src/main/java/org/apache/beam/sdk/values/Row.java  |  2 +-
 .../main/java/org/apache/beam/sdk/values/RowUtils.java |  2 +-
 .../org/apache/beam/sdk/values/RowWithGetters.java     |  2 +-
 .../org/apache/beam/sdk/values/TimestampedValue.java   |  2 +-
 .../org/apache/beam/sdk/values/TypeDescriptor.java     |  2 +-
 .../org/apache/beam/sdk/values/TypeDescriptors.java    |  2 +-
 .../java/org/apache/beam/sdk/values/TypeParameter.java |  2 +-
 .../test/java/org/apache/beam/sdk/PipelineTest.java    |  2 +-
 .../test/java/org/apache/beam/sdk/io/AvroIOTest.java   |  2 +-
 .../apache/beam/sdk/io/DefaultFilenamePolicyTest.java  |  2 +-
 .../java/org/apache/beam/sdk/io/FileBasedSinkTest.java |  8 ++++----
 .../java/org/apache/beam/sdk/io/FileSystemsTest.java   |  2 +-
 .../org/apache/beam/sdk/io/LocalFileSystemTest.java    |  4 ++--
 .../org/apache/beam/sdk/io/LocalResourceIdTest.java    | 14 +++++++-------
 .../src/test/java/org/apache/beam/sdk/io/ReadTest.java |  2 +-
 .../java/org/apache/beam/sdk/io/TFRecordIOTest.java    |  2 +-
 .../java/org/apache/beam/sdk/io/TextIOReadTest.java    |  2 +-
 .../java/org/apache/beam/sdk/io/TextIOWriteTest.java   |  2 +-
 .../beam/sdk/options/PipelineOptionsFactoryTest.java   |  4 ++--
 .../beam/sdk/options/ProxyInvocationHandlerTest.java   |  6 +++---
 .../org/apache/beam/sdk/schemas/SchemaCoderTest.java   |  2 +-
 .../apache/beam/sdk/schemas/SchemaRegistryTest.java    |  2 +-
 .../beam/sdk/schemas/transforms/CoGroupTest.java       |  2 +-
 .../apache/beam/sdk/schemas/transforms/GroupTest.java  |  2 +-
 .../beam/sdk/schemas/transforms/JoinTestUtils.java     |  2 +-
 .../apache/beam/sdk/schemas/utils/AvroUtilsTest.java   |  2 +-
 .../beam/sdk/schemas/utils/JavaBeanUtilsTest.java      |  2 +-
 .../apache/beam/sdk/schemas/utils/POJOUtilsTest.java   |  2 +-
 .../beam/sdk/testing/FileChecksumMatcherTest.java      |  6 +++---
 .../java/org/apache/beam/sdk/testing/PAssertTest.java  |  2 +-
 .../org/apache/beam/sdk/transforms/CombineTest.java    |  4 ++--
 .../org/apache/beam/sdk/transforms/GroupByKeyTest.java |  2 +-
 .../java/org/apache/beam/sdk/transforms/KeysTest.java  |  4 ++--
 .../org/apache/beam/sdk/transforms/KvSwapTest.java     |  2 +-
 .../apache/beam/sdk/transforms/ParDoLifecycleTest.java |  2 +-
 .../java/org/apache/beam/sdk/transforms/ParDoTest.java |  2 +-
 .../apache/beam/sdk/transforms/SplittableDoFnTest.java |  6 +++---
 .../java/org/apache/beam/sdk/transforms/TopTest.java   |  4 ++--
 .../org/apache/beam/sdk/transforms/ValuesTest.java     |  4 ++--
 .../beam/sdk/transforms/reflect/DoFnInvokersTest.java  |  2 +-
 .../reflect/DoFnSignaturesSplittableDoFnTest.java      |  2 +-
 .../splittabledofn/GrowableOffsetRangeTrackerTest.java |  2 +-
 .../splittabledofn/OffsetRangeTrackerTest.java         |  2 +-
 .../java/org/apache/beam/sdk/util/ApiSurfaceTest.java  |  2 +-
 .../sdk/util/FilePatternMatchingShardedFileTest.java   |  2 +-
 .../org/apache/beam/sdk/util/InstanceBuilderTest.java  |  2 +-
 .../apache/beam/sdk/util/NumberedShardedFileTest.java  |  2 +-
 .../test/java/org/apache/beam/sdk/values/RowTest.java  |  2 +-
 .../beam/sdk/expansion/service/ExpansionService.java   |  2 +-
 .../sdk/expansion/service/ExpansionServiceTest.java    |  2 +-
 .../beam/sdk/expansion/service/ExternalTest.java       |  2 +-
 .../euphoria/core/client/operator/AssignEventTime.java |  4 ++--
 .../euphoria/core/client/operator/CountByKey.java      |  4 ++--
 .../euphoria/core/client/operator/Distinct.java        |  4 ++--
 .../euphoria/core/client/operator/Filter.java          |  4 ++--
 .../euphoria/core/client/operator/FlatMap.java         |  2 +-
 .../euphoria/core/client/operator/FullJoin.java        |  2 +-
 .../extensions/euphoria/core/client/operator/Join.java |  2 +-
 .../euphoria/core/client/operator/LeftJoin.java        |  2 +-
 .../euphoria/core/client/operator/MapElements.java     |  2 +-
 .../euphoria/core/client/operator/ReduceByKey.java     |  4 ++--
 .../euphoria/core/client/operator/ReduceWindow.java    |  4 ++--
 .../euphoria/core/client/operator/RightJoin.java       |  2 +-
 .../euphoria/core/client/operator/SumByKey.java        |  4 ++--
 .../euphoria/core/client/operator/TopPerKey.java       |  2 +-
 .../euphoria/core/client/operator/Union.java           |  2 +-
 .../euphoria/core/client/operator/WindowBuilder.java   |  2 +-
 .../euphoria/core/client/operator/base/Builders.java   |  4 ++--
 .../euphoria/core/client/type/TypeUtils.java           |  2 +-
 .../core/translate/BroadcastHashJoinTranslator.java    |  2 +-
 .../core/translate/CompositeOperatorTranslator.java    |  2 +-
 .../extensions/euphoria/core/translate/ExtractKey.java |  2 +-
 .../euphoria/core/translate/JoinTranslator.java        |  2 +-
 .../core/translate/LazyAccumulatorProvider.java        |  2 +-
 .../euphoria/core/translate/OperatorTransform.java     |  2 +-
 .../euphoria/core/translate/OperatorTranslator.java    |  2 +-
 .../euphoria/core/translate/ReduceByKeyTranslator.java |  4 ++--
 .../euphoria/core/translate/SingleValueContext.java    |  2 +-
 .../core/translate/TimestampExtractTransform.java      |  2 +-
 .../euphoria/core/translate/UnionTranslator.java       |  2 +-
 .../core/translate/collector/AdaptableCollector.java   |  2 +-
 .../core/translate/collector/SingleValueCollector.java |  2 +-
 .../translate/provider/GenericTranslatorProvider.java  |  2 +-
 .../extensions/euphoria/core/util/InstanceUtils.java   |  2 +-
 .../extensions/euphoria/core/client/lib/SplitTest.java |  2 +-
 .../euphoria/core/client/operator/CountByKeyTest.java  |  2 +-
 .../euphoria/core/client/operator/DistinctTest.java    |  2 +-
 .../euphoria/core/client/operator/FilterTest.java      |  2 +-
 .../euphoria/core/client/operator/FlatMapTest.java     |  2 +-
 .../euphoria/core/client/operator/JoinTest.java        |  2 +-
 .../euphoria/core/client/operator/MapElementsTest.java |  2 +-
 .../euphoria/core/client/operator/ReduceByKeyTest.java |  2 +-
 .../core/client/operator/ReduceWindowTest.java         |  2 +-
 .../euphoria/core/client/operator/SumByKeyTest.java    |  2 +-
 .../euphoria/core/client/operator/TopPerKeyTest.java   |  2 +-
 .../euphoria/core/client/operator/UnionTest.java       |  2 +-
 .../core/client/type/TypePropagationAssert.java        |  2 +-
 .../euphoria/core/docs/DocumentationExamplesTest.java  |  2 +-
 .../euphoria/core/testkit/BroadcastHashJoinTest.java   |  2 +-
 .../translate/collector/SingleValueCollectorTest.java  |  2 +-
 .../core/translate/provider/ProviderTestUtils.java     |  2 +-
 .../sdk/extensions/gcp/auth/NoopCredentialFactory.java |  2 +-
 .../beam/sdk/extensions/gcp/options/GcpOptions.java    |  2 +-
 .../extensions/gcp/options/GoogleApiDebugOptions.java  |  2 +-
 .../beam/sdk/extensions/gcp/storage/GcsFileSystem.java |  2 +-
 .../beam/sdk/extensions/gcp/util/CustomHttpErrors.java |  2 +-
 .../apache/beam/sdk/extensions/gcp/util/GcsUtil.java   |  2 +-
 .../gcp/util/RetryHttpRequestInitializer.java          |  2 +-
 .../gcp/util/UploadIdResponseInterceptor.java          |  2 +-
 .../beam/sdk/extensions/gcp/util/gcsfs/GcsPath.java    |  2 +-
 .../apache/beam/sdk/extensions/jackson/AsJsons.java    |  2 +-
 .../apache/beam/sdk/extensions/jackson/ParseJsons.java |  2 +-
 .../apache/beam/sdk/extensions/ml/AnnotateImages.java  |  2 +-
 .../apache/beam/sdk/extensions/ml/AnnotateText.java    |  2 +-
 .../extensions/ml/AnnotateVideoBytesWithContextFn.java |  2 +-
 .../apache/beam/sdk/extensions/ml/AnnotateVideoFn.java |  2 +-
 .../sdk/extensions/ml/AnnotateVideoFromBytesFn.java    |  2 +-
 .../beam/sdk/extensions/ml/AnnotateVideoFromURIFn.java |  2 +-
 .../extensions/ml/AnnotateVideoURIWithContextFn.java   |  2 +-
 .../beam/sdk/extensions/ml/DLPDeidentifyText.java      |  2 +-
 .../apache/beam/sdk/extensions/ml/DLPInspectText.java  |  2 +-
 .../beam/sdk/extensions/ml/DLPReidentifyText.java      |  2 +-
 .../sdk/extensions/protobuf/ProtoByteBuddyUtils.java   |  4 ++--
 .../beam/sdk/extensions/protobuf/ProtoCoder.java       |  2 +-
 .../beam/sdk/extensions/protobuf/ProtoDomain.java      |  4 ++--
 .../extensions/protobuf/ProtoDynamicMessageSchema.java |  4 ++--
 .../sdk/extensions/protobuf/ProtoMessageSchema.java    |  8 ++++----
 .../extensions/protobuf/ProtoSchemaLogicalTypes.java   |  2 +-
 .../sdk/extensions/protobuf/ProtoSchemaTranslator.java |  2 +-
 .../beam/sdk/extensions/protobuf/ProtobufUtil.java     |  2 +-
 .../protobuf/ProtoDynamicMessageSchemaTest.java        |  2 +-
 .../extensions/protobuf/ProtoSchemaTranslatorTest.java |  2 +-
 .../beam/sdk/extensions/python/bootstrap_beam_venv.py  |  2 +-
 .../expansion/ExternalSchemaIOTransformRegistrar.java  |  2 +-
 .../sdk/extensions/sketching/SketchFrequencies.java    |  2 +-
 .../sdk/extensions/sketching/TDigestQuantiles.java     |  2 +-
 .../extensions/sorter/BufferedExternalSorterTest.java  |  2 +-
 .../beam/sdk/extensions/sorter/SorterTestUtils.java    |  2 +-
 .../sql/meta/provider/datacatalog/SchemaUtils.java     |  4 ++--
 .../meta/provider/hcatalog/HCatalogTableProvider.java  |  2 +-
 .../sql/meta/provider/hcatalog/package-info.java       |  3 +--
 .../extensions/sql/jdbc/BeamSqlLineTestingUtils.java   |  2 +-
 .../org/apache/beam/sdk/extensions/sql/BeamSqlCli.java |  2 +-
 .../sdk/extensions/sql/example/model/Customer.java     |  2 +-
 .../sdk/extensions/sql/impl/BeamCalciteSchema.java     |  2 +-
 .../extensions/sql/impl/BeamCalciteSchemaFactory.java  |  2 +-
 .../beam/sdk/extensions/sql/impl/BeamCalciteTable.java |  4 ++--
 .../beam/sdk/extensions/sql/impl/BeamSqlEnv.java       |  4 ++--
 .../sdk/extensions/sql/impl/CalciteQueryPlanner.java   |  4 ++--
 .../beam/sdk/extensions/sql/impl/JdbcConnection.java   |  2 +-
 .../beam/sdk/extensions/sql/impl/JdbcDriver.java       |  4 ++--
 .../beam/sdk/extensions/sql/impl/QueryPlanner.java     |  2 +-
 .../sdk/extensions/sql/impl/ScalarFunctionImpl.java    |  4 ++--
 .../sdk/extensions/sql/impl/TVFSlidingWindowFn.java    |  2 +-
 .../sdk/extensions/sql/impl/TableResolutionUtils.java  |  2 +-
 .../apache/beam/sdk/extensions/sql/impl/UdafImpl.java  |  4 ++--
 .../apache/beam/sdk/extensions/sql/impl/UdfImpl.java   |  2 +-
 .../sql/impl/UdfImplReflectiveFunctionBase.java        |  2 +-
 .../beam/sdk/extensions/sql/impl/cep/CEPLiteral.java   |  2 +-
 .../beam/sdk/extensions/sql/impl/cep/CEPPattern.java   |  2 +-
 .../beam/sdk/extensions/sql/impl/cep/CEPUtils.java     |  2 +-
 .../apache/beam/sdk/extensions/sql/impl/nfa/NFA.java   |  2 +-
 .../sql/impl/parser/SqlCreateExternalTable.java        |  2 +-
 .../extensions/sql/impl/parser/SqlSetOptionBeam.java   |  2 +-
 .../sdk/extensions/sql/impl/planner/BeamRuleSets.java  |  2 +-
 .../extensions/sql/impl/planner/RelMdNodeStats.java    |  2 +-
 .../extensions/sql/impl/rel/AbstractBeamCalcRel.java   |  2 +-
 .../extensions/sql/impl/rel/BeamAggregationRel.java    |  4 ++--
 .../beam/sdk/extensions/sql/impl/rel/BeamCalcRel.java  |  4 ++--
 .../sdk/extensions/sql/impl/rel/BeamCoGBKJoinRel.java  |  2 +-
 .../sql/impl/rel/BeamEnumerableConverter.java          |  2 +-
 .../extensions/sql/impl/rel/BeamLogicalConvention.java |  2 +-
 .../beam/sdk/extensions/sql/impl/rel/BeamMatchRel.java |  4 ++--
 .../beam/sdk/extensions/sql/impl/rel/BeamRelNode.java  |  2 +-
 .../sql/impl/rel/BeamSetOperatorRelBase.java           |  4 ++--
 .../beam/sdk/extensions/sql/impl/rel/BeamSortRel.java  |  4 ++--
 .../sdk/extensions/sql/impl/rel/BeamSqlRelUtils.java   |  2 +-
 .../sql/impl/rel/BeamTableFunctionScanRel.java         |  4 ++--
 .../sdk/extensions/sql/impl/rel/BeamUncollectRel.java  |  2 +-
 .../sdk/extensions/sql/impl/rel/BeamUnnestRel.java     |  2 +-
 .../sdk/extensions/sql/impl/rel/BeamWindowRel.java     |  4 ++--
 .../sql/impl/rule/BeamAggregateProjectMergeRule.java   |  2 +-
 .../extensions/sql/impl/rule/BeamAggregationRule.java  |  4 ++--
 .../sql/impl/rule/BeamBasicAggregationRule.java        |  2 +-
 .../extensions/sql/impl/rule/BeamIOPushDownRule.java   |  2 +-
 .../sql/impl/rule/BeamTableFunctionScanRule.java       |  2 +-
 .../extensions/sql/impl/rule/JoinRelOptRuleCall.java   |  2 +-
 .../sdk/extensions/sql/impl/schema/BeamTableUtils.java |  2 +-
 .../sql/impl/transform/BeamBuiltinAggregations.java    |  4 ++--
 .../impl/transform/BeamBuiltinAnalyticFunctions.java   |  4 ++--
 .../sql/impl/transform/BeamJoinTransforms.java         |  2 +-
 .../sql/impl/transform/BeamSetOperatorsTransforms.java |  2 +-
 .../transform/agg/AggregationCombineFnAdapter.java     |  4 ++--
 .../sql/impl/transform/agg/CovarianceFn.java           |  4 ++--
 .../extensions/sql/impl/transform/agg/VarianceFn.java  |  2 +-
 .../sql/impl/udf/BeamBuiltinFunctionProvider.java      |  2 +-
 .../sql/impl/udf/BuiltinTrigonometricFunctions.java    |  2 +-
 .../sql/meta/provider/FullNameTableProvider.java       |  2 +-
 .../sql/meta/provider/ReadOnlyTableProvider.java       |  2 +-
 .../meta/provider/SchemaIOTableProviderWrapper.java    |  2 +-
 .../extensions/sql/meta/provider/TableProvider.java    |  2 +-
 .../extensions/sql/meta/provider/UdfUdafProvider.java  |  2 +-
 .../meta/provider/bigquery/BeamBigQuerySqlDialect.java |  2 +-
 .../meta/provider/bigquery/BeamSqlUnparseContext.java  |  4 ++--
 .../sql/meta/provider/bigquery/BigQueryFilter.java     |  2 +-
 .../sql/meta/provider/bigquery/BigQueryTable.java      |  4 ++--
 .../sql/meta/provider/kafka/BeamKafkaTable.java        |  2 +-
 .../sql/meta/provider/mongodb/MongoDbTable.java        |  2 +-
 .../sql/meta/provider/test/TestTableFilter.java        |  2 +-
 .../sql/meta/provider/test/TestTableProvider.java      |  4 ++--
 .../sql/meta/provider/test/TestTableUtils.java         |  2 +-
 .../sql/meta/provider/test/TestUnboundedTable.java     |  2 +-
 .../extensions/sql/meta/provider/text/TextTable.java   |  2 +-
 .../sql/meta/provider/text/TextTableProvider.java      |  2 +-
 .../extensions/sql/meta/store/InMemoryMetaStore.java   |  2 +-
 .../beam/sdk/extensions/sql/BeamComplexTypeTest.java   |  6 +++---
 .../extensions/sql/BeamSqlDslSqlStdOperatorsTest.java  |  4 ++--
 .../meta/provider/pubsub/PubsubTableProviderIT.java    |  2 +-
 .../beam/sdk/extensions/sql/zetasql/DateTimeUtils.java |  2 +-
 .../beam/sdk/extensions/sql/zetasql/QueryTrait.java    |  2 +-
 .../beam/sdk/extensions/sql/zetasql/SqlAnalyzer.java   |  2 +-
 .../sdk/extensions/sql/zetasql/TableResolution.java    |  2 +-
 .../sdk/extensions/sql/zetasql/ZetaSQLPlannerImpl.java |  2 +-
 .../extensions/sql/zetasql/ZetaSQLQueryPlanner.java    |  4 ++--
 .../sql/zetasql/ZetaSqlBeamTranslationUtils.java       |  2 +-
 .../sql/zetasql/ZetaSqlCalciteTranslationUtils.java    |  2 +-
 .../zetasql/translation/AggregateScanConverter.java    |  2 +-
 .../translation/ArrayScanColumnRefToUncollect.java     |  2 +-
 .../sql/zetasql/translation/ExpressionConverter.java   |  2 +-
 .../translation/LimitOffsetScanToLimitConverter.java   |  2 +-
 .../LimitOffsetScanToOrderByLimitConverter.java        |  2 +-
 .../zetasql/translation/QueryStatementConverter.java   |  2 +-
 .../zetasql/translation/SqlNullIfOperatorRewriter.java |  2 +-
 .../sql/zetasql/translation/SqlOperators.java          |  2 +-
 .../zetasql/translation/SqlWindowTableFunction.java    |  2 +-
 .../sql/zetasql/translation/TVFScanConverter.java      |  2 +-
 .../sql/zetasql/translation/WithRefScanConverter.java  |  2 +-
 .../sql/zetasql/unnest/BeamZetaSqlUncollectRel.java    |  2 +-
 .../sql/zetasql/unnest/BeamZetaSqlUnnestRel.java       |  2 +-
 .../extensions/sql/zetasql/ZetaSQLPushDownTest.java    |  2 +-
 .../beam/sdk/extensions/zetasketch/HllCount.java       |  2 +-
 .../extensions/zetasketch/HllCountMergePartialFn.java  |  2 +-
 .../beam/sdk/fn/data/BeamFnDataOutboundAggregator.java |  2 +-
 .../beam/sdk/fn/data/BeamFnDataOutboundObserver.java   |  2 +-
 .../fn/server/GrpcContextHeaderAccessorProvider.java   |  2 +-
 .../org/apache/beam/sdk/fn/server/GrpcFnServer.java    |  4 ++--
 .../org/apache/beam/sdk/fn/server/ServerFactory.java   |  2 +-
 .../sdk/fn/splittabledofn/RestrictionTrackers.java     |  2 +-
 .../org/apache/beam/sdk/fn/stream/DataStreams.java     |  4 ++--
 .../org/apache/beam/sdk/fn/test/TestExecutors.java     |  2 +-
 .../sdk/fn/splittabledofn/RestrictionTrackersTest.java |  2 +-
 .../apache/beam/fn/harness/AssignWindowsRunner.java    |  2 +-
 .../apache/beam/fn/harness/BeamFnDataReadRunner.java   |  4 ++--
 .../apache/beam/fn/harness/BeamFnDataWriteRunner.java  |  4 ++--
 .../org/apache/beam/fn/harness/CombineRunners.java     |  4 ++--
 .../java/org/apache/beam/fn/harness/FlattenRunner.java |  2 +-
 .../org/apache/beam/fn/harness/FnApiDoFnRunner.java    |  4 ++--
 .../java/org/apache/beam/fn/harness/FnHarness.java     |  2 +-
 .../java/org/apache/beam/fn/harness/MapFnRunners.java  |  2 +-
 .../beam/fn/harness/PTransformRunnerFactory.java       |  2 +-
 .../beam/fn/harness/PrecombineGroupingTable.java       |  2 +-
 .../org/apache/beam/fn/harness/ToStringFnRunner.java   |  2 +-
 .../apache/beam/fn/harness/WindowMappingFnRunner.java  |  2 +-
 .../apache/beam/fn/harness/WindowMergingFnRunner.java  |  2 +-
 .../beam/fn/harness/control/FinalizeBundleHandler.java |  2 +-
 .../beam/fn/harness/control/ProcessBundleHandler.java  |  4 ++--
 .../fn/harness/data/PCollectionConsumerRegistry.java   |  4 ++--
 .../org/apache/beam/fn/harness/state/BagUserState.java |  4 ++--
 .../fn/harness/state/BeamFnStateGrpcClientCache.java   |  2 +-
 .../beam/fn/harness/state/FnApiStateAccessor.java      |  4 ++--
 .../beam/fn/harness/state/IterableSideInput.java       |  2 +-
 .../beam/fn/harness/state/MultimapSideInput.java       |  4 ++--
 .../beam/fn/harness/state/MultimapUserState.java       |  4 ++--
 .../apache/beam/fn/harness/state/SideInputSpec.java    |  2 +-
 .../beam/fn/harness/state/StateBackedIterable.java     |  2 +-
 .../beam/fn/harness/state/StateFetchingIterators.java  |  2 +-
 .../apache/beam/fn/harness/status/MemoryMonitor.java   |  2 +-
 .../apache/beam/fn/harness/FnApiDoFnRunnerTest.java    |  4 ++--
 .../fn/harness/control/ProcessBundleHandlerTest.java   |  2 +-
 .../harness/data/PCollectionConsumerRegistryTest.java  |  2 +-
 .../beam/fn/harness/state/StateBackedIterableTest.java |  2 +-
 .../org/apache/beam/sdk/io/aws/coders/AwsCoders.java   |  2 +-
 .../apache/beam/sdk/io/aws/dynamodb/DynamoDBIO.java    |  2 +-
 .../org/apache/beam/sdk/io/aws/s3/S3FileSystem.java    |  2 +-
 .../sdk/io/aws/s3/S3ReadableSeekableByteChannel.java   |  2 +-
 .../org/apache/beam/sdk/io/aws/s3/S3ResourceId.java    |  2 +-
 .../beam/sdk/io/aws/s3/S3WritableByteChannel.java      |  2 +-
 .../beam/sdk/io/aws/sns/PublishResultCoders.java       |  2 +-
 .../java/org/apache/beam/sdk/io/aws/sns/SnsIO.java     |  2 +-
 .../apache/beam/sdk/io/aws/sqs/SqsCheckpointMark.java  |  2 +-
 .../apache/beam/sdk/io/aws/sqs/SqsConfiguration.java   |  2 +-
 .../java/org/apache/beam/sdk/io/aws/sqs/SqsIO.java     |  2 +-
 .../apache/beam/sdk/io/aws/sqs/SqsUnboundedReader.java |  2 +-
 .../apache/beam/sdk/io/aws/sqs/SqsUnboundedSource.java |  2 +-
 .../apache/beam/sdk/io/aws2/dynamodb/DynamoDBIO.java   |  2 +-
 .../org/apache/beam/sdk/io/aws2/kinesis/KinesisIO.java |  2 +-
 .../apache/beam/sdk/io/aws2/kinesis/KinesisReader.java |  2 +-
 .../apache/beam/sdk/io/aws2/kinesis/KinesisRecord.java |  2 +-
 .../apache/beam/sdk/io/aws2/kinesis/KinesisSource.java |  2 +-
 .../beam/sdk/io/aws2/kinesis/ShardCheckpoint.java      |  2 +-
 .../beam/sdk/io/aws2/kinesis/ShardReadersPool.java     |  2 +-
 .../sdk/io/aws2/kinesis/SimplifiedKinesisClient.java   |  2 +-
 .../apache/beam/sdk/io/aws2/kinesis/StartingPoint.java |  2 +-
 .../org/apache/beam/sdk/io/aws2/kinesis/TimeUtil.java  |  2 +-
 .../org/apache/beam/sdk/io/aws2/s3/S3FileSystem.java   |  2 +-
 .../sdk/io/aws2/s3/S3ReadableSeekableByteChannel.java  |  2 +-
 .../org/apache/beam/sdk/io/aws2/s3/S3ResourceId.java   |  2 +-
 .../beam/sdk/io/aws2/s3/S3WritableByteChannel.java     |  2 +-
 .../java/org/apache/beam/sdk/io/aws2/sns/SnsIO.java    |  6 +++---
 .../apache/beam/sdk/io/aws2/sns/SnsResponseCoder.java  |  2 +-
 .../apache/beam/sdk/io/aws2/sqs/SqsCheckpointMark.java |  2 +-
 .../java/org/apache/beam/sdk/io/aws2/sqs/SqsIO.java    |  2 +-
 .../beam/sdk/io/aws2/sqs/SqsUnboundedReader.java       |  2 +-
 .../beam/sdk/io/aws2/sqs/SqsUnboundedSource.java       |  2 +-
 .../apache/beam/sdk/io/aws2/s3/MatchResultMatcher.java |  2 +-
 .../apache/beam/sdk/io/aws2/s3/S3FileSystemTest.java   |  2 +-
 .../apache/beam/sdk/io/aws2/s3/S3ResourceIdTest.java   |  2 +-
 .../beam/sdk/io/aws2/s3/S3WritableByteChannelTest.java |  2 +-
 .../apache/beam/sdk/io/aws2/s3/SSECustomerKeyTest.java |  2 +-
 .../main/java/org/apache/beam/sdk/io/amqp/AmqpIO.java  |  2 +-
 .../beam/sdk/io/azure/blobstore/AzfsResourceId.java    |  2 +-
 .../io/azure/blobstore/AzureBlobStoreFileSystem.java   |  2 +-
 .../DefaultBlobstoreClientBuilderFactory.java          |  2 +-
 .../apache/beam/sdk/io/azure/options/AzureModule.java  |  2 +-
 .../org/apache/beam/sdk/io/cassandra/CassandraIO.java  |  4 ++--
 .../beam/sdk/io/cassandra/ConnectionManager.java       |  2 +-
 .../beam/sdk/io/cassandra/DefaultObjectMapper.java     |  2 +-
 .../sdk/io/cassandra/DefaultObjectMapperFactory.java   |  4 ++--
 .../java/org/apache/beam/sdk/io/cassandra/ReadFn.java  |  4 ++--
 .../org/apache/beam/sdk/io/cassandra/RingRange.java    |  2 +-
 .../apache/beam/sdk/io/cassandra/CassandraIOTest.java  |  2 +-
 .../apache/beam/sdk/io/clickhouse/ClickHouseIO.java    |  2 +-
 .../beam/sdk/io/clickhouse/ClickHouseWriter.java       |  2 +-
 .../org/apache/beam/sdk/io/clickhouse/TableSchema.java |  2 +-
 .../beam/sdk/io/clickhouse/BaseClickHouseTest.java     |  2 +-
 .../beam/sdk/io/contextualtextio/ContextualTextIO.java |  2 +-
 .../io/contextualtextio/ContextualTextIOSource.java    |  2 +-
 .../sdk/io/contextualtextio/RecordWithMetadata.java    |  2 +-
 .../beam/io/debezium/DebeziumTransformRegistrar.java   |  2 +-
 .../beam/sdk/io/elasticsearch/ElasticsearchIO.java     |  2 +-
 .../beam/sdk/io/gcp/bigquery/BigQueryHelpers.java      |  6 +++---
 .../apache/beam/sdk/io/gcp/bigquery/BigQueryIO.java    |  2 +-
 .../sdk/io/gcp/bigquery/BigQuerySchemaIOProvider.java  |  2 +-
 .../BigQuerySchemaTransformReadConfiguration.java      |  2 +-
 .../bigquery/BigQuerySchemaTransformReadProvider.java  |  2 +-
 .../bigquery/BigQuerySchemaTransformWriteProvider.java |  2 +-
 .../beam/sdk/io/gcp/bigquery/BigQueryServicesImpl.java |  2 +-
 .../apache/beam/sdk/io/gcp/bigquery/BigQueryUtils.java |  2 +-
 .../beam/sdk/io/gcp/bigtable/BigtableConfig.java       |  2 +-
 .../apache/beam/sdk/io/gcp/bigtable/BigtableIO.java    |  2 +-
 .../beam/sdk/io/gcp/bigtable/BigtableReadOptions.java  |  2 +-
 .../beam/sdk/io/gcp/bigtable/BigtableServiceImpl.java  |  2 +-
 .../beam/sdk/io/gcp/bigtable/BigtableWriteResult.java  |  2 +-
 .../io/gcp/datastore/DataStoreV1SchemaIOProvider.java  |  2 +-
 .../apache/beam/sdk/io/gcp/datastore/DatastoreV1.java  |  2 +-
 .../apache/beam/sdk/io/gcp/datastore/EntityToRow.java  |  2 +-
 .../apache/beam/sdk/io/gcp/datastore/RowToEntity.java  |  2 +-
 .../org/apache/beam/sdk/io/gcp/healthcare/FhirIO.java  |  2 +-
 .../org/apache/beam/sdk/io/gcp/healthcare/HL7v2IO.java |  2 +-
 .../beam/sdk/io/gcp/healthcare/HL7v2Message.java       |  2 +-
 .../beam/sdk/io/gcp/healthcare/HealthcareIOError.java  |  2 +-
 .../sdk/io/gcp/healthcare/HealthcareIOErrorCoder.java  |  2 +-
 .../io/gcp/healthcare/HealthcareIOErrorToTableRow.java |  2 +-
 .../sdk/io/gcp/healthcare/HttpHealthcareApiClient.java |  2 +-
 .../beam/sdk/io/gcp/healthcare/JsonArrayCoder.java     |  2 +-
 .../beam/sdk/io/gcp/pubsub/AddTimestampAttribute.java  |  2 +-
 .../apache/beam/sdk/io/gcp/pubsub/ExternalWrite.java   |  2 +-
 .../sdk/io/gcp/pubsub/PubSubPayloadTranslation.java    |  4 ++--
 .../apache/beam/sdk/io/gcp/pubsub/PubsubClient.java    |  2 +-
 .../beam/sdk/io/gcp/pubsub/PubsubGrpcClient.java       |  2 +-
 .../org/apache/beam/sdk/io/gcp/pubsub/PubsubIO.java    |  2 +-
 .../beam/sdk/io/gcp/pubsub/PubsubJsonClient.java       |  2 +-
 .../apache/beam/sdk/io/gcp/pubsub/PubsubMessage.java   |  2 +-
 .../beam/sdk/io/gcp/pubsub/PubsubMessageToRow.java     |  2 +-
 .../PubsubMessageWithAttributesAndMessageIdCoder.java  |  2 +-
 .../gcp/pubsub/PubsubMessageWithAttributesCoder.java   |  2 +-
 .../io/gcp/pubsub/PubsubMessageWithMessageIdCoder.java |  2 +-
 .../beam/sdk/io/gcp/pubsub/PubsubSchemaIOProvider.java |  2 +-
 .../beam/sdk/io/gcp/pubsub/PubsubTestClient.java       |  2 +-
 .../beam/sdk/io/gcp/pubsub/PubsubUnboundedSink.java    |  2 +-
 .../beam/sdk/io/gcp/pubsub/PubsubUnboundedSource.java  |  2 +-
 .../org/apache/beam/sdk/io/gcp/pubsub/TestPubsub.java  |  2 +-
 .../beam/sdk/io/gcp/pubsub/TestPubsubSignal.java       |  2 +-
 .../io/gcp/pubsublite/UuidDeduplicationOptions.java    |  2 +-
 .../sdk/io/gcp/pubsublite/internal/PubsubLiteSink.java |  2 +-
 .../beam/sdk/io/gcp/pubsublite/internal/Uuid.java      |  2 +-
 .../beam/sdk/io/gcp/spanner/BatchSpannerRead.java      |  2 +-
 .../beam/sdk/io/gcp/spanner/CreateTransactionFn.java   |  2 +-
 .../beam/sdk/io/gcp/spanner/NaiveSpannerRead.java      |  2 +-
 .../apache/beam/sdk/io/gcp/spanner/ReadOperation.java  |  2 +-
 .../beam/sdk/io/gcp/spanner/ReadSpannerSchema.java     |  2 +-
 .../beam/sdk/io/gcp/spanner/SpannerAccessor.java       |  2 +-
 .../apache/beam/sdk/io/gcp/spanner/SpannerConfig.java  |  2 +-
 .../org/apache/beam/sdk/io/gcp/spanner/SpannerIO.java  |  2 +-
 .../apache/beam/sdk/io/gcp/spanner/SpannerSchema.java  |  2 +-
 .../apache/beam/sdk/io/gcp/spanner/StructUtils.java    |  2 +-
 .../apache/beam/sdk/io/gcp/spanner/Transaction.java    |  2 +-
 .../changestreams/dofn/DetectNewPartitionsDoFn.java    |  4 ++--
 .../restriction/DetectNewPartitionsRangeTracker.java   |  2 +-
 .../ReadChangeStreamPartitionRangeTracker.java         |  2 +-
 .../restriction/TimestampRangeTracker.java             |  2 +-
 .../apache/beam/sdk/io/gcp/testing/BigqueryClient.java |  2 +-
 .../beam/sdk/io/gcp/testing/BigqueryMatcher.java       |  2 +-
 .../beam/sdk/io/gcp/testing/FakeBigQueryServices.java  |  2 +-
 .../beam/sdk/io/gcp/testing/FakeDatasetService.java    |  2 +-
 .../apache/beam/sdk/io/gcp/testing/FakeJobService.java |  2 +-
 .../io/gcp/bigquery/BeamRowToStorageApiProtoTest.java  |  2 +-
 .../beam/sdk/io/gcp/bigquery/BigQueryIOWriteTest.java  |  2 +-
 .../io/gcp/bigquery/TableRowToStorageApiProtoIT.java   |  2 +-
 .../io/gcp/bigquery/TableRowToStorageApiProtoTest.java |  2 +-
 ...FirestoreV1FnBatchWriteWithDeadLetterQueueTest.java |  2 +-
 .../FirestoreV1FnBatchWriteWithSummaryTest.java        |  2 +-
 .../beam/sdk/io/gcp/firestore/RpcQosOptionsTest.java   |  2 +-
 .../beam/sdk/io/hadoop/SerializableConfiguration.java  |  2 +-
 .../beam/sdk/io/hdfs/HadoopFileSystemModule.java       |  2 +-
 .../beam/sdk/io/hdfs/HadoopFileSystemOptions.java      |  2 +-
 .../org/apache/beam/sdk/io/hdfs/HadoopResourceId.java  |  2 +-
 .../beam/sdk/io/hadoop/format/HadoopFormatIO.java      |  4 ++--
 .../beam/sdk/io/hadoop/format/HadoopFormats.java       |  2 +-
 .../sdk/io/hadoop/format/HadoopFormatIOReadTest.java   |  2 +-
 .../java/org/apache/beam/sdk/io/hbase/HBaseIO.java     |  2 +-
 .../org/apache/beam/sdk/io/hcatalog/HCatToRow.java     |  2 +-
 .../beam/sdk/io/hcatalog/HCatalogBeamSchema.java       |  2 +-
 .../org/apache/beam/sdk/io/hcatalog/HCatalogIO.java    |  5 ++---
 .../org/apache/beam/sdk/io/hcatalog/HCatalogUtils.java |  2 +-
 .../apache/beam/sdk/io/hcatalog/PartitionPollerFn.java |  2 +-
 .../apache/beam/sdk/io/hcatalog/PartitionReaderFn.java |  2 +-
 .../org/apache/beam/sdk/io/hcatalog/SchemaUtils.java   |  2 +-
 .../org/apache/beam/sdk/io/hcatalog/package-info.java  |  3 +--
 .../org/apache/beam/sdk/io/influxdb/InfluxDbIO.java    |  2 +-
 .../main/java/org/apache/beam/sdk/io/jdbc/JdbcIO.java  |  4 ++--
 .../apache/beam/sdk/io/jdbc/JdbcSchemaIOProvider.java  |  2 +-
 .../java/org/apache/beam/sdk/io/jdbc/JdbcUtil.java     |  2 +-
 .../java/org/apache/beam/sdk/io/jdbc/LogicalTypes.java |  2 +-
 .../java/org/apache/beam/sdk/io/jdbc/SchemaUtil.java   |  2 +-
 .../main/java/org/apache/beam/sdk/io/jms/JmsIO.java    |  2 +-
 .../java/org/apache/beam/sdk/io/jms/JmsRecord.java     |  2 +-
 .../java/org/apache/beam/sdk/io/jms/JmsIOTest.java     |  2 +-
 .../ConfluentSchemaRegistryDeserializerProvider.java   |  8 ++++----
 .../apache/beam/sdk/io/kafka/KafkaCheckpointMark.java  |  2 +-
 .../apache/beam/sdk/io/kafka/KafkaCommitOffset.java    |  4 ++--
 .../apache/beam/sdk/io/kafka/KafkaExactlyOnceSink.java |  4 ++--
 .../java/org/apache/beam/sdk/io/kafka/KafkaIO.java     |  4 ++--
 .../java/org/apache/beam/sdk/io/kafka/KafkaRecord.java |  2 +-
 .../org/apache/beam/sdk/io/kafka/KafkaRecordCoder.java |  4 ++--
 .../beam/sdk/io/kafka/KafkaSourceDescriptor.java       |  2 +-
 .../apache/beam/sdk/io/kafka/KafkaUnboundedReader.java |  4 ++--
 .../apache/beam/sdk/io/kafka/KafkaUnboundedSource.java |  2 +-
 .../java/org/apache/beam/sdk/io/kafka/KafkaWriter.java |  2 +-
 .../beam/sdk/io/kafka/LocalDeserializerProvider.java   |  2 +-
 .../apache/beam/sdk/io/kafka/ProducerRecordCoder.java  |  4 ++--
 .../org/apache/beam/sdk/io/kafka/ProducerSpEL.java     |  2 +-
 .../apache/beam/sdk/io/kafka/ReadFromKafkaDoFn.java    |  4 ++--
 ...onfluentSchemaRegistryDeserializerProviderTest.java |  2 +-
 .../apache/beam/sdk/io/kafka/KafkaIOExternalTest.java  |  2 +-
 .../org/apache/beam/sdk/io/kafka/KafkaIOUtilsTest.java |  2 +-
 .../apache/beam/sdk/io/kafka/KafkaRecordCoderTest.java |  2 +-
 .../beam/sdk/io/kafka/ProducerRecordCoderTest.java     |  2 +-
 .../beam/sdk/io/kafka/ReadFromKafkaDoFnTest.java       |  2 +-
 .../java/org/apache/beam/sdk/io/kinesis/KinesisIO.java |  2 +-
 .../org/apache/beam/sdk/io/kinesis/KinesisReader.java  |  2 +-
 .../org/apache/beam/sdk/io/kinesis/KinesisRecord.java  |  2 +-
 .../org/apache/beam/sdk/io/kinesis/KinesisSource.java  |  2 +-
 .../beam/sdk/io/kinesis/KinesisTransformRegistrar.java |  2 +-
 .../apache/beam/sdk/io/kinesis/ShardCheckpoint.java    |  2 +-
 .../apache/beam/sdk/io/kinesis/ShardReadersPool.java   |  2 +-
 .../beam/sdk/io/kinesis/SimplifiedKinesisClient.java   |  2 +-
 .../org/apache/beam/sdk/io/kinesis/StartingPoint.java  |  2 +-
 .../main/java/org/apache/beam/sdk/io/kudu/KuduIO.java  |  4 ++--
 .../java/org/apache/beam/sdk/io/kudu/KuduService.java  |  2 +-
 .../org/apache/beam/sdk/io/kudu/KuduServiceImpl.java   |  4 ++--
 .../java/org/apache/beam/sdk/io/mongodb/FindQuery.java |  2 +-
 .../apache/beam/sdk/io/mongodb/MongoDbGridFSIO.java    |  2 +-
 .../java/org/apache/beam/sdk/io/mongodb/MongoDbIO.java |  2 +-
 .../java/org/apache/beam/sdk/io/mongodb/SSLUtils.java  |  2 +-
 .../beam/sdk/io/mongodb/UpdateConfiguration.java       |  2 +-
 .../main/java/org/apache/beam/sdk/io/mqtt/MqttIO.java  |  2 +-
 .../java/org/apache/beam/sdk/io/mqtt/MqttIOTest.java   |  4 ++--
 .../java/org/apache/beam/sdk/io/parquet/ParquetIO.java |  4 ++--
 .../org/apache/beam/sdk/io/rabbitmq/RabbitMqIO.java    |  2 +-
 .../apache/beam/sdk/io/rabbitmq/RabbitMqMessage.java   |  2 +-
 .../sdk/io/redis/RedisConnectionConfiguration.java     |  2 +-
 .../java/org/apache/beam/sdk/io/redis/RedisIO.java     |  2 +-
 .../org/apache/beam/sdk/io/snowflake/SnowflakeIO.java  |  2 +-
 .../crosslanguage/CrossLanguageConfiguration.java      |  2 +-
 .../sdk/io/snowflake/crosslanguage/WriteBuilder.java   |  2 +-
 .../beam/sdk/io/snowflake/data/SnowflakeColumn.java    |  2 +-
 .../sdk/io/snowflake/data/SnowflakeTableSchema.java    |  2 +-
 .../sdk/io/snowflake/data/text/SnowflakeBinary.java    |  2 +-
 .../sdk/io/snowflake/data/text/SnowflakeVarchar.java   |  2 +-
 .../services/SnowflakeBatchServiceConfig.java          |  2 +-
 .../snowflake/services/SnowflakeBatchServiceImpl.java  |  2 +-
 .../services/SnowflakeStreamingServiceImpl.java        |  2 +-
 .../apache/beam/sdk/io/solr/AuthorizedSolrClient.java  |  4 ++--
 .../main/java/org/apache/beam/sdk/io/solr/SolrIO.java  |  4 ++--
 .../java/org/apache/beam/sdk/io/solr/SolrIOTest.java   |  2 +-
 .../org/apache/beam/sdk/io/solr/SolrIOTestUtils.java   |  2 +-
 .../apache/beam/sdk/io/splunk/HttpEventPublisher.java  |  2 +-
 .../apache/beam/sdk/io/splunk/SplunkEventWriter.java   |  2 +-
 .../java/org/apache/beam/sdk/io/splunk/SplunkIO.java   |  2 +-
 .../beam/sdk/io/synthetic/SyntheticBoundedSource.java  |  2 +-
 .../apache/beam/sdk/io/synthetic/SyntheticOptions.java |  2 +-
 .../beam/sdk/io/synthetic/SyntheticSourceOptions.java  |  2 +-
 .../sdk/io/synthetic/SyntheticUnboundedSource.java     |  2 +-
 .../beam/sdk/io/synthetic/BundleSplitterTest.java      |  2 +-
 .../org/apache/beam/sdk/io/thrift/ThriftCoder.java     |  2 +-
 .../java/org/apache/beam/sdk/io/thrift/ThriftIO.java   |  2 +-
 .../java/org/apache/beam/sdk/io/tika/ParseResult.java  |  2 +-
 .../main/java/org/apache/beam/sdk/io/tika/TikaIO.java  |  2 +-
 .../java/org/apache/beam/sdk/io/xml/JAXBCoder.java     |  2 +-
 .../main/java/org/apache/beam/sdk/io/xml/XmlIO.java    |  2 +-
 .../java/org/apache/beam/sdk/io/xml/XmlSource.java     |  2 +-
 .../sdk/testing/expansion/TestExpansionService.java    |  2 +-
 .../org/apache/beam/sdk/loadtests/CombineLoadTest.java |  2 +-
 .../java/org/apache/beam/sdk/loadtests/LoadTest.java   |  2 +-
 .../beam/sdk/loadtests/SyntheticDataPublisher.java     |  4 ++--
 .../main/java/org/apache/beam/sdk/nexmark/Main.java    |  4 ++--
 .../main/java/org/apache/beam/sdk/nexmark/Monitor.java |  2 +-
 .../apache/beam/sdk/nexmark/NexmarkConfiguration.java  |  2 +-
 .../org/apache/beam/sdk/nexmark/NexmarkLauncher.java   |  6 +++---
 .../org/apache/beam/sdk/nexmark/NexmarkQueryName.java  |  2 +-
 .../java/org/apache/beam/sdk/nexmark/NexmarkUtils.java |  2 +-
 .../org/apache/beam/sdk/nexmark/model/Auction.java     |  2 +-
 .../org/apache/beam/sdk/nexmark/model/AuctionBid.java  |  2 +-
 .../java/org/apache/beam/sdk/nexmark/model/Bid.java    |  2 +-
 .../java/org/apache/beam/sdk/nexmark/model/Done.java   |  2 +-
 .../java/org/apache/beam/sdk/nexmark/model/Event.java  |  2 +-
 .../apache/beam/sdk/nexmark/model/IdNameReserve.java   |  2 +-
 .../apache/beam/sdk/nexmark/model/NameCityStateId.java |  2 +-
 .../java/org/apache/beam/sdk/nexmark/model/Person.java |  2 +-
 .../apache/beam/sdk/nexmark/model/sql/SelectEvent.java |  2 +-
 .../beam/sdk/nexmark/queries/BoundedSideInputJoin.java |  2 +-
 .../apache/beam/sdk/nexmark/queries/NexmarkQuery.java  |  2 +-
 .../beam/sdk/nexmark/queries/NexmarkQueryModel.java    |  2 +-
 .../sdk/nexmark/queries/NexmarkQueryTransform.java     |  2 +-
 .../beam/sdk/nexmark/queries/NexmarkQueryUtil.java     |  2 +-
 .../org/apache/beam/sdk/nexmark/queries/Query0.java    |  2 +-
 .../org/apache/beam/sdk/nexmark/queries/Query10.java   |  2 +-
 .../org/apache/beam/sdk/nexmark/queries/Query13.java   |  2 +-
 .../org/apache/beam/sdk/nexmark/queries/Query3.java    |  2 +-
 .../apache/beam/sdk/nexmark/queries/Query3Model.java   |  2 +-
 .../apache/beam/sdk/nexmark/queries/Query4Model.java   |  2 +-
 .../apache/beam/sdk/nexmark/queries/Query5Model.java   |  2 +-
 .../apache/beam/sdk/nexmark/queries/Query6Model.java   |  2 +-
 .../apache/beam/sdk/nexmark/queries/Query7Model.java   |  2 +-
 .../apache/beam/sdk/nexmark/queries/Query8Model.java   |  2 +-
 .../org/apache/beam/sdk/nexmark/queries/Query9.java    |  2 +-
 .../beam/sdk/nexmark/queries/SessionSideInputJoin.java |  2 +-
 .../sdk/nexmark/queries/SessionSideInputJoinModel.java |  2 +-
 .../apache/beam/sdk/nexmark/queries/WinningBids.java   |  2 +-
 .../beam/sdk/nexmark/queries/WinningBidsSimulator.java |  2 +-
 .../nexmark/queries/sql/SqlBoundedSideInputJoin.java   |  2 +-
 .../apache/beam/sdk/nexmark/queries/sql/SqlQuery0.java |  2 +-
 .../beam/sdk/nexmark/sources/UnboundedEventSource.java |  2 +-
 .../org/apache/beam/sdk/nexmark/NexmarkUtilsTest.java  |  2 +-
 .../sdk/nexmark/queries/BoundedSideInputJoinTest.java  |  2 +-
 .../sdk/nexmark/queries/SessionSideInputJoinTest.java  |  2 +-
 .../queries/sql/SqlBoundedSideInputJoinTest.java       |  2 +-
 .../sdk/testutils/publishing/InfluxDBPublisher.java    |  2 +-
 .../sdk/testutils/publishing/InfluxDBSettings.java     |  2 +-
 .../beam/sdk/testing/watermarks/WatermarkLatency.java  |  2 +-
 sdks/python/apache_beam/coders/typecoders.py           |  4 ++--
 sdks/python/apache_beam/dataframe/frames.py            | 12 ++++++------
 .../transforms/aggregation/combineglobally_test.py     |  2 +-
 .../apache_beam/runners/portability/portable_runner.py |  8 ++++----
 .../runners/portability/samza_runner_test.py           |  2 +-
 sdks/python/apache_beam/runners/worker/statecache.py   |  2 +-
 sdks/python/apache_beam/transforms/stats.py            |  2 +-
 website/CONTRIBUTE.md                                  |  2 +-
 website/www/site/content/en/contribute/_index.md       |  2 +-
 .../dsls/dataframes/differences-from-pandas.md         |  8 ++++----
 .../www/site/content/en/documentation/io/built-in.md   |  8 ++++----
 .../en/documentation/io/built-in/google-bigquery.md    |  2 +-
 .../content/en/documentation/io/built-in/snowflake.md  |  8 ++++----
 .../site/content/en/documentation/patterns/overview.md |  2 +-
 .../site/content/en/documentation/programming-guide.md | 12 ++++++------
 .../en/documentation/sdks/go-cross-compilation.md      |  2 +-
 .../en/documentation/sdks/java/testing/nexmark.md      |  4 ++--
 .../python/aggregation/approximatequantiles.md         |  2 +-
 .../transforms/python/aggregation/approximateunique.md |  2 +-
 .../python/aggregation/combinewithcontext.md           |  2 +-
 .../transforms/python/elementwise/pardo.md             |  2 +-
 .../transforms/python/elementwise/reify.md             |  2 +-
 .../transforms/python/elementwise/withkeys.md          |  2 +-
 .../en/documentation/transforms/python/other/create.md |  2 +-
 .../documentation/transforms/python/other/flatten.md   |  2 +-
 .../documentation/transforms/python/other/passert.md   |  2 +-
 .../documentation/transforms/python/other/reshuffle.md |  2 +-
 .../en/documentation/transforms/python/other/view.md   |  2 +-
 .../transforms/python/other/windowinto.md              |  2 +-
 .../content/en/get-started/mobile-gaming-example.md    |  2 +-
 .../www/site/content/en/get-started/quickstart-java.md | 12 ++++++------
 .../site/content/en/get-started/wordcount-example.md   |  6 +++---
 .../www/site/content/en/roadmap/connectors-java-sdk.md |  2 +-
 website/www/site/content/en/roadmap/euphoria.md        |  2 +-
 1486 files changed, 1873 insertions(+), 1877 deletions(-)

diff --git a/examples/java/src/main/java/org/apache/beam/examples/common/ExampleUtils.java b/examples/java/src/main/java/org/apache/beam/examples/common/ExampleUtils.java
index 41e05796ab6..a8901aa6411 100644
--- a/examples/java/src/main/java/org/apache/beam/examples/common/ExampleUtils.java
+++ b/examples/java/src/main/java/org/apache/beam/examples/common/ExampleUtils.java
@@ -63,7 +63,7 @@ import org.joda.time.Duration;
  * <p>It is used to run Beam examples.
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class ExampleUtils {
 
diff --git a/examples/java/src/main/java/org/apache/beam/examples/complete/AutoComplete.java b/examples/java/src/main/java/org/apache/beam/examples/complete/AutoComplete.java
index f204cb4fd8c..268298d42c8 100644
--- a/examples/java/src/main/java/org/apache/beam/examples/complete/AutoComplete.java
+++ b/examples/java/src/main/java/org/apache/beam/examples/complete/AutoComplete.java
@@ -96,7 +96,7 @@ import org.joda.time.Duration;
  * received.
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class AutoComplete {
 
diff --git a/examples/java/src/main/java/org/apache/beam/examples/complete/TrafficMaxLaneFlow.java b/examples/java/src/main/java/org/apache/beam/examples/complete/TrafficMaxLaneFlow.java
index d42d1a3e658..647904b1c0d 100644
--- a/examples/java/src/main/java/org/apache/beam/examples/complete/TrafficMaxLaneFlow.java
+++ b/examples/java/src/main/java/org/apache/beam/examples/complete/TrafficMaxLaneFlow.java
@@ -87,7 +87,7 @@ import org.joda.time.format.DateTimeFormatter;
  * and then exits.
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class TrafficMaxLaneFlow {
 
diff --git a/examples/java/src/main/java/org/apache/beam/examples/complete/TrafficRoutes.java b/examples/java/src/main/java/org/apache/beam/examples/complete/TrafficRoutes.java
index 22d9cfb2007..228e161c502 100644
--- a/examples/java/src/main/java/org/apache/beam/examples/complete/TrafficRoutes.java
+++ b/examples/java/src/main/java/org/apache/beam/examples/complete/TrafficRoutes.java
@@ -92,7 +92,7 @@ import org.joda.time.format.DateTimeFormatter;
  * and then exits.
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class TrafficRoutes {
 
diff --git a/examples/java/src/main/java/org/apache/beam/examples/complete/game/StatefulTeamScore.java b/examples/java/src/main/java/org/apache/beam/examples/complete/game/StatefulTeamScore.java
index c402450a3e4..8fe87c454d2 100644
--- a/examples/java/src/main/java/org/apache/beam/examples/complete/game/StatefulTeamScore.java
+++ b/examples/java/src/main/java/org/apache/beam/examples/complete/game/StatefulTeamScore.java
@@ -77,7 +77,7 @@ import org.joda.time.Instant;
  * the same topic to which the Injector is publishing.
  */
 @SuppressWarnings({
-  "nullness", // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness", // TODO(https://github.com/apache/beam/issues/20497)
   "unused" // TODO(BEAM-13271): Remove when new version of errorprone is released (2.11.0)
 })
 public class StatefulTeamScore extends LeaderBoard {
diff --git a/examples/java/src/main/java/org/apache/beam/examples/complete/game/UserScore.java b/examples/java/src/main/java/org/apache/beam/examples/complete/game/UserScore.java
index 425bfcf6a61..b1aedacecfb 100644
--- a/examples/java/src/main/java/org/apache/beam/examples/complete/game/UserScore.java
+++ b/examples/java/src/main/java/org/apache/beam/examples/complete/game/UserScore.java
@@ -71,7 +71,7 @@ import org.slf4j.LoggerFactory;
  * data.
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class UserScore {
 
diff --git a/examples/java/src/main/java/org/apache/beam/examples/complete/game/injector/Injector.java b/examples/java/src/main/java/org/apache/beam/examples/complete/game/injector/Injector.java
index 98464cce9eb..c46440517df 100644
--- a/examples/java/src/main/java/org/apache/beam/examples/complete/game/injector/Injector.java
+++ b/examples/java/src/main/java/org/apache/beam/examples/complete/game/injector/Injector.java
@@ -76,7 +76,7 @@ import org.apache.beam.vendor.guava.v26_0_jre.com.google.common.collect.Immutabl
  * }</pre>
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 class Injector {
   private static Pubsub pubsub;
diff --git a/examples/java/src/main/java/org/apache/beam/examples/complete/game/utils/WriteToBigQuery.java b/examples/java/src/main/java/org/apache/beam/examples/complete/game/utils/WriteToBigQuery.java
index 6b2b6406f6d..dadc974e62c 100644
--- a/examples/java/src/main/java/org/apache/beam/examples/complete/game/utils/WriteToBigQuery.java
+++ b/examples/java/src/main/java/org/apache/beam/examples/complete/game/utils/WriteToBigQuery.java
@@ -40,7 +40,7 @@ import org.apache.beam.sdk.values.PDone;
  * field names and types, as well as lambda functions that describe how to generate their values.
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class WriteToBigQuery<InputT> extends PTransform<PCollection<InputT>, PDone> {
 
diff --git a/examples/java/src/main/java/org/apache/beam/examples/complete/game/utils/WriteToText.java b/examples/java/src/main/java/org/apache/beam/examples/complete/game/utils/WriteToText.java
index 1389391b917..68b07728871 100644
--- a/examples/java/src/main/java/org/apache/beam/examples/complete/game/utils/WriteToText.java
+++ b/examples/java/src/main/java/org/apache/beam/examples/complete/game/utils/WriteToText.java
@@ -48,7 +48,7 @@ import org.joda.time.format.DateTimeFormatter;
  * well as lambda functions that describe how to generate their values.
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class WriteToText<InputT> extends PTransform<PCollection<InputT>, PDone> {
 
diff --git a/examples/java/src/main/java/org/apache/beam/examples/cookbook/TriggerExample.java b/examples/java/src/main/java/org/apache/beam/examples/cookbook/TriggerExample.java
index 5be53561569..3e5dfd4a6eb 100644
--- a/examples/java/src/main/java/org/apache/beam/examples/cookbook/TriggerExample.java
+++ b/examples/java/src/main/java/org/apache/beam/examples/cookbook/TriggerExample.java
@@ -123,7 +123,7 @@ import org.joda.time.Instant;
  * and then exits.
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class TriggerExample {
   // Numeric value of fixed window duration, in minutes
diff --git a/examples/java/src/main/java/org/apache/beam/examples/snippets/Snippets.java b/examples/java/src/main/java/org/apache/beam/examples/snippets/Snippets.java
index 0fa11de8fdf..2091d572bf5 100644
--- a/examples/java/src/main/java/org/apache/beam/examples/snippets/Snippets.java
+++ b/examples/java/src/main/java/org/apache/beam/examples/snippets/Snippets.java
@@ -116,8 +116,8 @@ import org.slf4j.LoggerFactory;
 
 /** Code snippets used in webdocs. */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
-  "nullness", // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
+  "nullness", // TODO(https://github.com/apache/beam/issues/20497)
   "unused" // TODO(BEAM-13271): Remove when new version of errorprone is released (2.11.0)
 })
 public class Snippets {
diff --git a/examples/java/src/main/java/org/apache/beam/examples/snippets/transforms/io/gcp/bigquery/BigQueryMyData.java b/examples/java/src/main/java/org/apache/beam/examples/snippets/transforms/io/gcp/bigquery/BigQueryMyData.java
index aefd10c2e1d..5641415d7a4 100644
--- a/examples/java/src/main/java/org/apache/beam/examples/snippets/transforms/io/gcp/bigquery/BigQueryMyData.java
+++ b/examples/java/src/main/java/org/apache/beam/examples/snippets/transforms/io/gcp/bigquery/BigQueryMyData.java
@@ -34,7 +34,7 @@ import org.apache.beam.sdk.coders.AvroCoder;
 import org.apache.beam.sdk.coders.DefaultCoder;
 
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 class BigQueryMyData {
 
diff --git a/examples/java/src/main/java/org/apache/beam/examples/subprocess/configuration/SubProcessConfiguration.java b/examples/java/src/main/java/org/apache/beam/examples/subprocess/configuration/SubProcessConfiguration.java
index 2da98155993..8e28ee19728 100644
--- a/examples/java/src/main/java/org/apache/beam/examples/subprocess/configuration/SubProcessConfiguration.java
+++ b/examples/java/src/main/java/org/apache/beam/examples/subprocess/configuration/SubProcessConfiguration.java
@@ -23,7 +23,7 @@ import java.io.Serializable;
  * Configuration file used to setup the Process kernel for execution of the external library Values
  * are copied from the Options to all them to be Serializable.
  */
-@SuppressWarnings({"serial", "nullness"}) // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+@SuppressWarnings({"serial", "nullness"}) // TODO(https://github.com/apache/beam/issues/20497)
 public class SubProcessConfiguration implements Serializable {
 
   // Source GCS directory where the C++ library is located gs://bucket/tests
diff --git a/examples/java/src/main/java/org/apache/beam/examples/subprocess/kernel/SubProcessCommandLineArgs.java b/examples/java/src/main/java/org/apache/beam/examples/subprocess/kernel/SubProcessCommandLineArgs.java
index db6dd5188ee..aa06a631c03 100644
--- a/examples/java/src/main/java/org/apache/beam/examples/subprocess/kernel/SubProcessCommandLineArgs.java
+++ b/examples/java/src/main/java/org/apache/beam/examples/subprocess/kernel/SubProcessCommandLineArgs.java
@@ -22,7 +22,7 @@ import org.apache.beam.vendor.guava.v26_0_jre.com.google.common.collect.Lists;
 
 /** Parameters to the sub-process, has tuple of ordinal position and the value. */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class SubProcessCommandLineArgs {
 
diff --git a/examples/java/src/main/java/org/apache/beam/examples/subprocess/kernel/SubProcessKernel.java b/examples/java/src/main/java/org/apache/beam/examples/subprocess/kernel/SubProcessKernel.java
index 3aa4830e70f..6853e2aaf9e 100644
--- a/examples/java/src/main/java/org/apache/beam/examples/subprocess/kernel/SubProcessKernel.java
+++ b/examples/java/src/main/java/org/apache/beam/examples/subprocess/kernel/SubProcessKernel.java
@@ -34,7 +34,7 @@ import org.slf4j.LoggerFactory;
  * This is the process kernel which deals with exec of the subprocess. It also deals with all I/O.
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class SubProcessKernel {
 
diff --git a/examples/java/src/main/java/org/apache/beam/examples/subprocess/utils/ExecutableFile.java b/examples/java/src/main/java/org/apache/beam/examples/subprocess/utils/ExecutableFile.java
index 74dd152eec3..036b3d25ca0 100644
--- a/examples/java/src/main/java/org/apache/beam/examples/subprocess/utils/ExecutableFile.java
+++ b/examples/java/src/main/java/org/apache/beam/examples/subprocess/utils/ExecutableFile.java
@@ -24,7 +24,7 @@ import org.apache.beam.sdk.coders.DefaultCoder;
 /** Contains the configuration for the external library. */
 @DefaultCoder(AvroCoder.class)
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class ExecutableFile {
 
diff --git a/examples/java/src/main/java/org/apache/beam/examples/subprocess/utils/FileUtils.java b/examples/java/src/main/java/org/apache/beam/examples/subprocess/utils/FileUtils.java
index fda4f3e542a..398acb7c35f 100644
--- a/examples/java/src/main/java/org/apache/beam/examples/subprocess/utils/FileUtils.java
+++ b/examples/java/src/main/java/org/apache/beam/examples/subprocess/utils/FileUtils.java
@@ -37,7 +37,7 @@ import org.slf4j.LoggerFactory;
 
 /** Utilities for dealing with movement of files from object stores and workers. */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class FileUtils {
 
diff --git a/examples/java/src/test/java/org/apache/beam/examples/complete/game/HourlyTeamScoreTest.java b/examples/java/src/test/java/org/apache/beam/examples/complete/game/HourlyTeamScoreTest.java
index 78a976b4061..1d89351adcf 100644
--- a/examples/java/src/test/java/org/apache/beam/examples/complete/game/HourlyTeamScoreTest.java
+++ b/examples/java/src/test/java/org/apache/beam/examples/complete/game/HourlyTeamScoreTest.java
@@ -48,7 +48,7 @@ import org.junit.runners.JUnit4;
  */
 @RunWith(JUnit4.class)
 @SuppressWarnings({
-  "rawtypes" // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes" // TODO(https://github.com/apache/beam/issues/20447)
 })
 public class HourlyTeamScoreTest implements Serializable {
 
diff --git a/examples/notebooks/documentation/transforms/python/elementwise/pardo-py.ipynb b/examples/notebooks/documentation/transforms/python/elementwise/pardo-py.ipynb
index b74887aea3c..f4984dc36b9 100644
--- a/examples/notebooks/documentation/transforms/python/elementwise/pardo-py.ipynb
+++ b/examples/notebooks/documentation/transforms/python/elementwise/pardo-py.ipynb
@@ -365,7 +365,7 @@
     "\n",
     "> *Known issues:*\n",
     ">\n",
-    "> * [[BEAM-7340]](https://issues.apache.org/jira/browse/BEAM-7340)\n",
+    "> * [[BEAM-7340]](https://github.com/apache/beam/issues/19394)\n",
     ">   `DoFn.teardown()` metrics are lost."
    ]
   },
diff --git a/gradle.properties b/gradle.properties
index d1528eb2cd0..605777d31c2 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -28,7 +28,7 @@ signing.gnupg.useLegacyGpg=true
 # project version defined here in the `apply` function in
 # buildSrc/src/main/groovy/org/apache/beam/gradle/BeamModulePlugin.groovy.
 # To build a custom Beam version make sure you change it in both places, see
-# https://issues.apache.org/jira/browse/BEAM-14051.
+# https://github.com/apache/beam/issues/21302.
 version=2.40.0-SNAPSHOT
 sdk_version=2.40.0.dev
 
diff --git a/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/AvroGenericCoderRegistrar.java b/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/AvroGenericCoderRegistrar.java
index cd255e2e1f7..1ccd57935b6 100644
--- a/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/AvroGenericCoderRegistrar.java
+++ b/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/AvroGenericCoderRegistrar.java
@@ -26,7 +26,7 @@ import org.apache.beam.vendor.guava.v26_0_jre.com.google.common.collect.Immutabl
 /** Coder registrar for AvroGenericCoder. */
 @AutoService(CoderTranslatorRegistrar.class)
 @SuppressWarnings({
-  "rawtypes" // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes" // TODO(https://github.com/apache/beam/issues/20447)
 })
 public class AvroGenericCoderRegistrar implements CoderTranslatorRegistrar {
   public static final String AVRO_CODER_URN = "beam:coder:avro:generic:v1";
diff --git a/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/CoderTranslation.java b/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/CoderTranslation.java
index b8dee02d917..bef7f0c1968 100644
--- a/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/CoderTranslation.java
+++ b/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/CoderTranslation.java
@@ -36,8 +36,8 @@ import org.apache.beam.vendor.guava.v26_0_jre.com.google.common.collect.Immutabl
 
 /** Converts to and from Beam Runner API representations of {@link Coder Coders}. */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class CoderTranslation {
 
diff --git a/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/CoderTranslatorRegistrar.java b/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/CoderTranslatorRegistrar.java
index 6a6ae6ec509..551ac6fd0c3 100644
--- a/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/CoderTranslatorRegistrar.java
+++ b/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/CoderTranslatorRegistrar.java
@@ -22,7 +22,7 @@ import org.apache.beam.sdk.coders.Coder;
 
 /** A registrar of {@link Coder} URNs to the associated {@link CoderTranslator}. */
 @SuppressWarnings({
-  "rawtypes" // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes" // TODO(https://github.com/apache/beam/issues/20447)
 })
 public interface CoderTranslatorRegistrar {
   /**
diff --git a/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/CombineTranslation.java b/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/CombineTranslation.java
index 8b58acd58ad..1da089bc0fd 100644
--- a/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/CombineTranslation.java
+++ b/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/CombineTranslation.java
@@ -49,7 +49,7 @@ import org.apache.beam.vendor.guava.v26_0_jre.com.google.common.collect.Iterable
  * RunnerApi.CombinePayload} protos.
  */
 @SuppressWarnings({
-  "rawtypes" // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes" // TODO(https://github.com/apache/beam/issues/20447)
 })
 public class CombineTranslation {
 
diff --git a/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/CreatePCollectionViewTranslation.java b/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/CreatePCollectionViewTranslation.java
index f3b842074c0..23a69a18f69 100644
--- a/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/CreatePCollectionViewTranslation.java
+++ b/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/CreatePCollectionViewTranslation.java
@@ -45,7 +45,7 @@ import org.apache.beam.vendor.grpc.v1p43p2.com.google.protobuf.ByteString;
  */
 @Deprecated
 @SuppressWarnings({
-  "rawtypes" // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes" // TODO(https://github.com/apache/beam/issues/20447)
 })
 public class CreatePCollectionViewTranslation {
 
diff --git a/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/DefaultArtifactResolver.java b/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/DefaultArtifactResolver.java
index 007a86c413e..0996022a52d 100644
--- a/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/DefaultArtifactResolver.java
+++ b/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/DefaultArtifactResolver.java
@@ -35,7 +35,7 @@ import org.apache.beam.vendor.guava.v26_0_jre.com.google.common.collect.Lists;
  * same artifact.
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class DefaultArtifactResolver implements ArtifactResolver {
   public static final ArtifactResolver INSTANCE = new DefaultArtifactResolver();
diff --git a/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/DisplayDataTranslation.java b/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/DisplayDataTranslation.java
index 4b354697f98..b64904ed6fd 100644
--- a/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/DisplayDataTranslation.java
+++ b/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/DisplayDataTranslation.java
@@ -31,7 +31,7 @@ import org.apache.beam.vendor.guava.v26_0_jre.com.google.common.collect.Immutabl
 
 /** Utilities for going to/from DisplayData protos. */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class DisplayDataTranslation {
   public static final String LABELLED = "beam:display_data:labelled:v1";
diff --git a/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/Environments.java b/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/Environments.java
index 73acbec451a..ddf01cd5350 100644
--- a/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/Environments.java
+++ b/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/Environments.java
@@ -62,7 +62,7 @@ import org.checkerframework.checker.nullness.qual.Nullable;
 
 /** Utilities for interacting with portability {@link Environment environments}. */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class Environments {
 
diff --git a/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/External.java b/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/External.java
index aafb2cd71fa..720f1ee8b51 100644
--- a/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/External.java
+++ b/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/External.java
@@ -72,8 +72,8 @@ import org.checkerframework.checker.nullness.qual.Nullable;
  */
 @Experimental(Kind.PORTABILITY)
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class External {
   private static final String EXPANDED_TRANSFORM_BASE_NAME = "external";
diff --git a/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/ExternalTranslation.java b/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/ExternalTranslation.java
index 3c51515392c..7348d368a42 100644
--- a/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/ExternalTranslation.java
+++ b/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/ExternalTranslation.java
@@ -33,7 +33,7 @@ import org.checkerframework.checker.nullness.qual.Nullable;
 
 /** Translating External transforms to proto. */
 @SuppressWarnings({
-  "rawtypes" // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes" // TODO(https://github.com/apache/beam/issues/20447)
 })
 public class ExternalTranslation {
   public static final String EXTERNAL_TRANSFORM_URN = "beam:transform:external:v1";
diff --git a/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/FlattenTranslator.java b/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/FlattenTranslator.java
index b2b1f81c334..37c09663c5a 100644
--- a/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/FlattenTranslator.java
+++ b/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/FlattenTranslator.java
@@ -32,7 +32,7 @@ import org.apache.beam.sdk.transforms.windowing.Window.Assign;
  * Utility methods for translating a {@link Assign} to and from {@link RunnerApi} representations.
  */
 @SuppressWarnings({
-  "rawtypes" // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes" // TODO(https://github.com/apache/beam/issues/20447)
 })
 public class FlattenTranslator implements TransformPayloadTranslator<Flatten.PCollections<?>> {
 
diff --git a/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/ForwardingPTransform.java b/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/ForwardingPTransform.java
index e03a92dafd4..3e49900843c 100644
--- a/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/ForwardingPTransform.java
+++ b/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/ForwardingPTransform.java
@@ -34,8 +34,8 @@ import org.apache.beam.sdk.values.TupleTag;
  * #delegate()}, which returns the object to forward calls to, and {@link #expand(PInput)}.
  */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public abstract class ForwardingPTransform<InputT extends PInput, OutputT extends POutput>
     extends PTransform<InputT, OutputT> {
diff --git a/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/GroupByKeyTranslation.java b/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/GroupByKeyTranslation.java
index c717761b250..e6bbbf0767a 100644
--- a/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/GroupByKeyTranslation.java
+++ b/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/GroupByKeyTranslation.java
@@ -32,7 +32,7 @@ import org.apache.beam.sdk.transforms.PTransform;
  * representations.
  */
 @SuppressWarnings({
-  "rawtypes" // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes" // TODO(https://github.com/apache/beam/issues/20447)
 })
 public class GroupByKeyTranslation {
 
diff --git a/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/GroupIntoBatchesTranslation.java b/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/GroupIntoBatchesTranslation.java
index 86f6f87461f..88b0c5c9d69 100644
--- a/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/GroupIntoBatchesTranslation.java
+++ b/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/GroupIntoBatchesTranslation.java
@@ -29,7 +29,7 @@ import org.apache.beam.sdk.transforms.PTransform;
 import org.apache.beam.vendor.guava.v26_0_jre.com.google.common.collect.ImmutableMap;
 
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
 })
 public class GroupIntoBatchesTranslation {
   /**
diff --git a/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/ImpulseTranslation.java b/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/ImpulseTranslation.java
index fb44b8d1cc2..3de0ce9de8a 100644
--- a/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/ImpulseTranslation.java
+++ b/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/ImpulseTranslation.java
@@ -32,7 +32,7 @@ import org.apache.beam.sdk.transforms.PTransform;
  * Utility methods for translating a {@link Impulse} to and from {@link RunnerApi} representations.
  */
 @SuppressWarnings({
-  "rawtypes" // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes" // TODO(https://github.com/apache/beam/issues/20447)
 })
 public class ImpulseTranslation {
   private static class ImpulseTranslator implements TransformPayloadTranslator<Impulse> {
diff --git a/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/ModelCoderRegistrar.java b/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/ModelCoderRegistrar.java
index eb94476d2b7..8078b7c1a59 100644
--- a/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/ModelCoderRegistrar.java
+++ b/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/ModelCoderRegistrar.java
@@ -47,10 +47,10 @@ import org.apache.beam.vendor.guava.v26_0_jre.com.google.common.collect.Sets;
 /** The {@link CoderTranslatorRegistrar} for coders which are shared across languages. */
 @AutoService(CoderTranslatorRegistrar.class)
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
   "nullness",
   "keyfor"
-}) // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+}) // TODO(https://github.com/apache/beam/issues/20497)
 public class ModelCoderRegistrar implements CoderTranslatorRegistrar {
 
   // The URNs for coders which are shared across languages
diff --git a/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/PTransformMatchers.java b/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/PTransformMatchers.java
index bee5246bc45..bf3f135dae5 100644
--- a/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/PTransformMatchers.java
+++ b/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/PTransformMatchers.java
@@ -49,7 +49,7 @@ import org.checkerframework.checker.nullness.qual.Nullable;
  * UrnPTransformMatcher.
  */
 @SuppressWarnings({
-  "rawtypes" // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes" // TODO(https://github.com/apache/beam/issues/20447)
 })
 public class PTransformMatchers {
 
diff --git a/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/PTransformReplacements.java b/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/PTransformReplacements.java
index 0ecb0f8856f..37a2e4b385c 100644
--- a/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/PTransformReplacements.java
+++ b/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/PTransformReplacements.java
@@ -28,7 +28,7 @@ import org.apache.beam.sdk.values.TupleTag;
 import org.apache.beam.vendor.guava.v26_0_jre.com.google.common.collect.Iterables;
 
 /** */
-@SuppressWarnings({"nullness", "keyfor"}) // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+@SuppressWarnings({"nullness", "keyfor"}) // TODO(https://github.com/apache/beam/issues/20497)
 public class PTransformReplacements {
   /**
    * Gets the singleton input of an {@link AppliedPTransform}, ignoring any additional inputs
diff --git a/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/PTransformTranslation.java b/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/PTransformTranslation.java
index bb823cdb98e..9010b7203c8 100644
--- a/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/PTransformTranslation.java
+++ b/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/PTransformTranslation.java
@@ -60,10 +60,10 @@ import org.checkerframework.checker.nullness.qual.Nullable;
  * buffers}.
  */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
   "nullness",
   "keyfor"
-}) // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+}) // TODO(https://github.com/apache/beam/issues/20497)
 public class PTransformTranslation {
   // We specifically copy the values here so that they can be used in switch case statements
   // and we validate that the value matches the actual URN in the static block below.
diff --git a/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/ParDoTranslation.java b/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/ParDoTranslation.java
index ffab927ffcf..20472fa1eff 100644
--- a/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/ParDoTranslation.java
+++ b/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/ParDoTranslation.java
@@ -87,7 +87,7 @@ import org.apache.beam.vendor.guava.v26_0_jre.com.google.common.collect.Sets;
 
 /** Utilities for interacting with {@link ParDo} instances and {@link ParDoPayload} protos. */
 @SuppressWarnings({
-  "rawtypes" // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes" // TODO(https://github.com/apache/beam/issues/20447)
 })
 public class ParDoTranslation {
   /**
diff --git a/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/ReadTranslation.java b/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/ReadTranslation.java
index 9a86186ff25..59a13ec0425 100644
--- a/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/ReadTranslation.java
+++ b/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/ReadTranslation.java
@@ -46,7 +46,7 @@ import org.apache.beam.vendor.guava.v26_0_jre.com.google.common.collect.Immutabl
  * ReadPayload} protos.
  */
 @SuppressWarnings({
-  "rawtypes" // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes" // TODO(https://github.com/apache/beam/issues/20447)
 })
 public class ReadTranslation {
   private static final String JAVA_SERIALIZED_BOUNDED_SOURCE = "beam:java:boundedsource:v1";
diff --git a/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/RehydratedComponents.java b/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/RehydratedComponents.java
index a5db0cdbb9b..5d59855d75c 100644
--- a/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/RehydratedComponents.java
+++ b/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/RehydratedComponents.java
@@ -43,7 +43,7 @@ import org.checkerframework.checker.nullness.qual.Nullable;
  * {@link PCollection} and nice-to-have for other objects.
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class RehydratedComponents {
   private final Components components;
diff --git a/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/ReplacementOutputs.java b/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/ReplacementOutputs.java
index e32edf7a261..553f05f0d26 100644
--- a/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/ReplacementOutputs.java
+++ b/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/ReplacementOutputs.java
@@ -34,7 +34,7 @@ import org.apache.beam.vendor.guava.v26_0_jre.com.google.common.collect.Iterable
 
 /** Utility methods for creating {@link ReplacementOutput} for known styles of {@link POutput}. */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class ReplacementOutputs {
   private ReplacementOutputs() {}
diff --git a/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/ReshuffleTranslation.java b/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/ReshuffleTranslation.java
index 99388b5c22b..98d39c8ff0a 100644
--- a/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/ReshuffleTranslation.java
+++ b/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/ReshuffleTranslation.java
@@ -32,7 +32,7 @@ import org.apache.beam.sdk.transforms.Reshuffle;
  * representations.
  */
 @SuppressWarnings({
-  "rawtypes" // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes" // TODO(https://github.com/apache/beam/issues/20447)
 })
 public class ReshuffleTranslation {
 
diff --git a/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/RunnerPCollectionView.java b/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/RunnerPCollectionView.java
index 07363022c9c..1e9af091dee 100644
--- a/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/RunnerPCollectionView.java
+++ b/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/RunnerPCollectionView.java
@@ -34,7 +34,7 @@ import org.checkerframework.checker.nullness.qual.Nullable;
 
 /** A {@link PCollectionView} created from the components of a {@link SideInput}. */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class RunnerPCollectionView<T> extends PValueBase implements PCollectionView<T> {
   private final TupleTag<Iterable<WindowedValue<?>>> tag;
diff --git a/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/SdkComponents.java b/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/SdkComponents.java
index 8c5444b7ccc..07195a7bb47 100644
--- a/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/SdkComponents.java
+++ b/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/SdkComponents.java
@@ -51,7 +51,7 @@ import org.apache.beam.vendor.guava.v26_0_jre.com.google.common.collect.Maps;
 import org.checkerframework.checker.nullness.qual.Nullable;
 
 /** SDK objects that will be represented at some later point within a {@link Components} object. */
-@SuppressWarnings({"nullness", "keyfor"}) // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+@SuppressWarnings({"nullness", "keyfor"}) // TODO(https://github.com/apache/beam/issues/20497)
 public class SdkComponents {
   private final String newIdPrefix;
   private final RunnerApi.Components.Builder componentsBuilder = RunnerApi.Components.newBuilder();
diff --git a/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/SerializablePipelineOptions.java b/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/SerializablePipelineOptions.java
index 9e59f0ae866..e2a1257cbaa 100644
--- a/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/SerializablePipelineOptions.java
+++ b/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/SerializablePipelineOptions.java
@@ -59,7 +59,7 @@ public class SerializablePipelineOptions implements Serializable {
   private void readObject(ObjectInputStream is) throws IOException, ClassNotFoundException {
     is.defaultReadObject();
     this.options = deserializeFromJson(serializedPipelineOptions);
-    // TODO https://issues.apache.org/jira/browse/BEAM-2712: remove this call.
+    // TODO https://github.com/apache/beam/issues/18430: remove this call.
     FileSystems.setDefaultPipelineOptions(options);
   }
 
diff --git a/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/SplittableParDo.java b/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/SplittableParDo.java
index 214f02f8e00..1cdee8d1cd8 100644
--- a/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/SplittableParDo.java
+++ b/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/SplittableParDo.java
@@ -99,7 +99,7 @@ import org.joda.time.Instant;
  * ParDo.of(splittable DoFn)}, but not for direct use by pipeline writers.
  */
 @SuppressWarnings({
-  "rawtypes" // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes" // TODO(https://github.com/apache/beam/issues/20447)
 })
 public class SplittableParDo<InputT, OutputT, RestrictionT, WatermarkEstimatorStateT>
     extends PTransform<PCollection<InputT>, PCollectionTuple> {
diff --git a/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/SplittableParDoNaiveBounded.java b/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/SplittableParDoNaiveBounded.java
index c0eea3ddd6c..01fb3e0ff33 100644
--- a/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/SplittableParDoNaiveBounded.java
+++ b/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/SplittableParDoNaiveBounded.java
@@ -62,7 +62,7 @@ import org.joda.time.Instant;
  * {@link ProcessKeyedElements} using a simple {@link Reshuffle} and {@link ParDo}.
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class SplittableParDoNaiveBounded {
   /** Overrides a {@link ProcessKeyedElements} into {@link SplittableProcessNaive}. */
diff --git a/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/TestStreamTranslation.java b/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/TestStreamTranslation.java
index 32f3155f504..c8a20c907e6 100644
--- a/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/TestStreamTranslation.java
+++ b/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/TestStreamTranslation.java
@@ -45,7 +45,7 @@ import org.joda.time.Instant;
  * representations.
  */
 @SuppressWarnings({
-  "rawtypes" // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes" // TODO(https://github.com/apache/beam/issues/20447)
 })
 public class TestStreamTranslation {
 
diff --git a/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/Timer.java b/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/Timer.java
index 9b8161b65f7..42c5ce8cb8e 100644
--- a/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/Timer.java
+++ b/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/Timer.java
@@ -50,8 +50,8 @@ import org.joda.time.Instant;
  */
 @AutoValue
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public abstract class Timer<K> {
 
diff --git a/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/TransformPayloadTranslatorRegistrar.java b/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/TransformPayloadTranslatorRegistrar.java
index a0266555369..3e6cbc14819 100644
--- a/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/TransformPayloadTranslatorRegistrar.java
+++ b/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/TransformPayloadTranslatorRegistrar.java
@@ -23,7 +23,7 @@ import org.apache.beam.sdk.transforms.PTransform;
 
 /** A registrar of TransformPayloadTranslator. */
 @SuppressWarnings({
-  "rawtypes" // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes" // TODO(https://github.com/apache/beam/issues/20447)
 })
 public interface TransformPayloadTranslatorRegistrar {
   Map<? extends Class<? extends PTransform>, ? extends TransformPayloadTranslator>
diff --git a/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/TriggerTranslation.java b/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/TriggerTranslation.java
index 60b9fe749f8..31871b17479 100644
--- a/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/TriggerTranslation.java
+++ b/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/TriggerTranslation.java
@@ -47,8 +47,8 @@ import org.joda.time.Instant;
 
 /** Utilities for working with {@link TriggerTranslation Triggers}. */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class TriggerTranslation implements Serializable {
 
diff --git a/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/UnboundedReadFromBoundedSource.java b/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/UnboundedReadFromBoundedSource.java
index d46c887d21c..0761b45086a 100644
--- a/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/UnboundedReadFromBoundedSource.java
+++ b/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/UnboundedReadFromBoundedSource.java
@@ -71,7 +71,7 @@ import org.slf4j.LoggerFactory;
  * Read.Bounded into a Read.Unbounded.
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class UnboundedReadFromBoundedSource<T> extends PTransform<PBegin, PCollection<T>> {
 
@@ -173,7 +173,7 @@ public class UnboundedReadFromBoundedSource<T> extends PTransform<PBegin, PColle
     }
 
     @SuppressWarnings({
-      "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+      "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
       "unchecked"
     })
     @Override
diff --git a/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/UnconsumedReads.java b/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/UnconsumedReads.java
index 29347897a3c..b1afed1ef55 100644
--- a/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/UnconsumedReads.java
+++ b/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/UnconsumedReads.java
@@ -34,7 +34,7 @@ import org.apache.beam.sdk.values.PValue;
  * {@link PTransform}.
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class UnconsumedReads {
   public static void ensureAllReadsConsumed(Pipeline pipeline) {
diff --git a/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/WindowIntoTranslation.java b/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/WindowIntoTranslation.java
index 86fdbefa01f..1277fb7ce2b 100644
--- a/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/WindowIntoTranslation.java
+++ b/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/WindowIntoTranslation.java
@@ -40,7 +40,7 @@ import org.checkerframework.checker.nullness.qual.Nullable;
  * representations.
  */
 @SuppressWarnings({
-  "rawtypes" // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes" // TODO(https://github.com/apache/beam/issues/20447)
 })
 public class WindowIntoTranslation {
 
diff --git a/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/WriteFilesTranslation.java b/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/WriteFilesTranslation.java
index 211a52a8fab..46964ff4faa 100644
--- a/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/WriteFilesTranslation.java
+++ b/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/WriteFilesTranslation.java
@@ -55,8 +55,8 @@ import org.apache.beam.vendor.guava.v26_0_jre.com.google.common.collect.Lists;
  * representations.
  */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class WriteFilesTranslation {
 
diff --git a/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/graph/GreedyPCollectionFusers.java b/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/graph/GreedyPCollectionFusers.java
index 6f37f7710b4..0b71c20cbc7 100644
--- a/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/graph/GreedyPCollectionFusers.java
+++ b/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/graph/GreedyPCollectionFusers.java
@@ -41,7 +41,7 @@ import org.slf4j.LoggerFactory;
  * A Fuser that constructs a fused pipeline by fusing as many PCollections into a stage as possible.
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 class GreedyPCollectionFusers {
   private static final Logger LOG = LoggerFactory.getLogger(GreedyPCollectionFusers.class);
diff --git a/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/graph/GreedyPipelineFuser.java b/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/graph/GreedyPipelineFuser.java
index 4435203885b..d00f2c1c16f 100644
--- a/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/graph/GreedyPipelineFuser.java
+++ b/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/graph/GreedyPipelineFuser.java
@@ -56,7 +56,7 @@ import org.slf4j.LoggerFactory;
 // The use of NavigableSets everywhere provides consistent ordering but may be overkill for this
 // cause.
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class GreedyPipelineFuser {
   private static final Logger LOG = LoggerFactory.getLogger(GreedyPipelineFuser.class);
diff --git a/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/graph/GreedyStageFuser.java b/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/graph/GreedyStageFuser.java
index c70f356ede3..eb02aad3a98 100644
--- a/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/graph/GreedyStageFuser.java
+++ b/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/graph/GreedyStageFuser.java
@@ -47,7 +47,7 @@ import org.slf4j.LoggerFactory;
  * materialized, and its consumers execute in independent stages.
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class GreedyStageFuser {
   // TODO: Provide a way to merge in a compatible subgraph (e.g. one where all of the siblings
diff --git a/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/graph/Networks.java b/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/graph/Networks.java
index 0fff44704be..fcb781fd42a 100644
--- a/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/graph/Networks.java
+++ b/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/graph/Networks.java
@@ -48,7 +48,7 @@ import org.apache.beam.vendor.guava.v26_0_jre.com.google.common.graph.NetworkBui
 
 /** Static utility methods for {@link Network} instances that are directed. */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class Networks {
   /**
diff --git a/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/graph/OutputDeduplicator.java b/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/graph/OutputDeduplicator.java
index 960724c4ad6..cb8cbeb3298 100644
--- a/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/graph/OutputDeduplicator.java
+++ b/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/graph/OutputDeduplicator.java
@@ -47,7 +47,7 @@ import org.checkerframework.checker.nullness.qual.Nullable;
  * PCollections} which are produced by multiple independently executable stages.
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 class OutputDeduplicator {
 
diff --git a/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/graph/ProjectionPushdownOptimizer.java b/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/graph/ProjectionPushdownOptimizer.java
index 4b6669ae587..b7d0470b6dc 100644
--- a/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/graph/ProjectionPushdownOptimizer.java
+++ b/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/graph/ProjectionPushdownOptimizer.java
@@ -55,7 +55,7 @@ public class ProjectionPushdownOptimizer {
    * PCollections/fields.
    *
    * <p>Currently only supports pushdown on {@link ProjectionProducer} instances that are applied
-   * directly to {@link PBegin} (https://issues.apache.org/jira/browse/BEAM-13658).
+   * directly to {@link PBegin} (https://github.com/apache/beam/issues/21359).
    */
   public static void optimize(Pipeline pipeline) {
     // Compute which Schema fields are (or conversely, are not) accessed in a pipeline.
diff --git a/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/graph/QueryablePipeline.java b/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/graph/QueryablePipeline.java
index fbd669a0932..b2602ce83b4 100644
--- a/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/graph/QueryablePipeline.java
+++ b/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/graph/QueryablePipeline.java
@@ -74,7 +74,7 @@ import org.apache.beam.vendor.guava.v26_0_jre.com.google.common.graph.NetworkBui
  * A {@link Pipeline} which has additional methods to relate nodes in the graph relative to each
  * other.
  */
-@SuppressWarnings({"nullness", "keyfor"}) // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+@SuppressWarnings({"nullness", "keyfor"}) // TODO(https://github.com/apache/beam/issues/20497)
 public class QueryablePipeline {
   // TODO: Is it better to have the signatures here require nodes in almost all contexts, or should
   // they all take strings? Nodes gives some degree of type signalling that names might not, but
diff --git a/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/graph/SplittableParDoExpander.java b/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/graph/SplittableParDoExpander.java
index 7b486ea1ca5..434fd2c2ab7 100644
--- a/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/graph/SplittableParDoExpander.java
+++ b/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/graph/SplittableParDoExpander.java
@@ -43,7 +43,7 @@ import org.apache.beam.vendor.guava.v26_0_jre.com.google.common.collect.Maps;
  * />
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class SplittableParDoExpander {
 
diff --git a/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/graph/TrivialNativeTransformExpander.java b/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/graph/TrivialNativeTransformExpander.java
index 259b34eeea2..6d7cd25349b 100644
--- a/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/graph/TrivialNativeTransformExpander.java
+++ b/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/graph/TrivialNativeTransformExpander.java
@@ -28,7 +28,7 @@ import org.slf4j.LoggerFactory;
  * equivalent.
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class TrivialNativeTransformExpander {
   private static final Logger LOG = LoggerFactory.getLogger(TrivialNativeTransformExpander.class);
diff --git a/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/renderer/PipelineDotRenderer.java b/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/renderer/PipelineDotRenderer.java
index e4799ed47f1..cf1af51a706 100644
--- a/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/renderer/PipelineDotRenderer.java
+++ b/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/renderer/PipelineDotRenderer.java
@@ -28,7 +28,7 @@ import org.apache.beam.sdk.values.PValue;
 
 /** A DOT renderer for BEAM {@link Pipeline} DAG. */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class PipelineDotRenderer implements Pipeline.PipelineVisitor {
   public static String toDotString(Pipeline pipeline) {
diff --git a/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/renderer/PortablePipelineDotRenderer.java b/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/renderer/PortablePipelineDotRenderer.java
index dc35b11cf9f..070e975ddd5 100644
--- a/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/renderer/PortablePipelineDotRenderer.java
+++ b/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/renderer/PortablePipelineDotRenderer.java
@@ -29,7 +29,7 @@ import org.apache.beam.runners.core.construction.graph.QueryablePipeline;
  * A DOT renderer for BEAM portable {@link org.apache.beam.model.pipeline.v1.RunnerApi.Pipeline}.
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 class PortablePipelineDotRenderer {
   private final StringBuilder dotBuilder = new StringBuilder();
diff --git a/runners/core-construction-java/src/test/java/org/apache/beam/runners/core/construction/CoderTranslationTest.java b/runners/core-construction-java/src/test/java/org/apache/beam/runners/core/construction/CoderTranslationTest.java
index f759ebede63..5c28b27148f 100644
--- a/runners/core-construction-java/src/test/java/org/apache/beam/runners/core/construction/CoderTranslationTest.java
+++ b/runners/core-construction-java/src/test/java/org/apache/beam/runners/core/construction/CoderTranslationTest.java
@@ -69,7 +69,7 @@ import org.junit.runners.Parameterized.Parameters;
 
 /** Tests for {@link CoderTranslation}. */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
 })
 public class CoderTranslationTest {
   private static final Set<Coder<?>> KNOWN_CODERS =
diff --git a/runners/core-construction-java/src/test/java/org/apache/beam/runners/core/construction/MorePipelineTest.java b/runners/core-construction-java/src/test/java/org/apache/beam/runners/core/construction/MorePipelineTest.java
index 267b4d580da..193b495f5e5 100644
--- a/runners/core-construction-java/src/test/java/org/apache/beam/runners/core/construction/MorePipelineTest.java
+++ b/runners/core-construction-java/src/test/java/org/apache/beam/runners/core/construction/MorePipelineTest.java
@@ -53,7 +53,7 @@ import org.junit.runners.JUnit4;
 /** Tests for Pipeline. */
 @RunWith(JUnit4.class)
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
 })
 public class MorePipelineTest {
 
diff --git a/runners/core-construction-java/src/test/java/org/apache/beam/runners/core/construction/PTransformMatchersTest.java b/runners/core-construction-java/src/test/java/org/apache/beam/runners/core/construction/PTransformMatchersTest.java
index 185b52d4d74..094c9c8c68b 100644
--- a/runners/core-construction-java/src/test/java/org/apache/beam/runners/core/construction/PTransformMatchersTest.java
+++ b/runners/core-construction-java/src/test/java/org/apache/beam/runners/core/construction/PTransformMatchersTest.java
@@ -82,7 +82,7 @@ import org.junit.runners.JUnit4;
 /** Tests for {@link PTransformMatcher}. */
 @RunWith(JUnit4.class)
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
   "unused" // TODO(BEAM-13271): Remove when new version of errorprone is released (2.11.0)
 })
 public class PTransformMatchersTest implements Serializable {
diff --git a/runners/core-construction-java/src/test/java/org/apache/beam/runners/core/construction/ParDoTranslationTest.java b/runners/core-construction-java/src/test/java/org/apache/beam/runners/core/construction/ParDoTranslationTest.java
index 73b6c0f5e2e..c207b288546 100644
--- a/runners/core-construction-java/src/test/java/org/apache/beam/runners/core/construction/ParDoTranslationTest.java
+++ b/runners/core-construction-java/src/test/java/org/apache/beam/runners/core/construction/ParDoTranslationTest.java
@@ -82,7 +82,7 @@ import org.junit.runners.Parameterized.Parameters;
 /** Tests for {@link ParDoTranslation}. */
 @RunWith(Enclosed.class)
 @SuppressWarnings({
-  "rawtypes" // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes" // TODO(https://github.com/apache/beam/issues/20447)
 })
 public class ParDoTranslationTest {
 
diff --git a/runners/core-construction-java/src/test/java/org/apache/beam/runners/core/construction/PipelineTranslationTest.java b/runners/core-construction-java/src/test/java/org/apache/beam/runners/core/construction/PipelineTranslationTest.java
index f38fad94f10..29ffd392edd 100644
--- a/runners/core-construction-java/src/test/java/org/apache/beam/runners/core/construction/PipelineTranslationTest.java
+++ b/runners/core-construction-java/src/test/java/org/apache/beam/runners/core/construction/PipelineTranslationTest.java
@@ -74,7 +74,7 @@ import org.junit.runners.Parameterized.Parameters;
 /** Tests for {@link PipelineTranslation}. */
 @RunWith(Parameterized.class)
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
 })
 public class PipelineTranslationTest {
   @Parameter(0)
diff --git a/runners/core-construction-java/src/test/java/org/apache/beam/runners/core/construction/RehydratedComponentsTest.java b/runners/core-construction-java/src/test/java/org/apache/beam/runners/core/construction/RehydratedComponentsTest.java
index c50882e9243..5dfd521c8f0 100644
--- a/runners/core-construction-java/src/test/java/org/apache/beam/runners/core/construction/RehydratedComponentsTest.java
+++ b/runners/core-construction-java/src/test/java/org/apache/beam/runners/core/construction/RehydratedComponentsTest.java
@@ -40,7 +40,7 @@ import org.junit.runners.JUnit4;
  */
 @RunWith(JUnit4.class)
 @SuppressWarnings({
-  "rawtypes" // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes" // TODO(https://github.com/apache/beam/issues/20447)
 })
 public class RehydratedComponentsTest {
 
diff --git a/runners/core-construction-java/src/test/java/org/apache/beam/runners/core/construction/UnsupportedOverrideFactoryTest.java b/runners/core-construction-java/src/test/java/org/apache/beam/runners/core/construction/UnsupportedOverrideFactoryTest.java
index e94422164cb..6e8d64a64f8 100644
--- a/runners/core-construction-java/src/test/java/org/apache/beam/runners/core/construction/UnsupportedOverrideFactoryTest.java
+++ b/runners/core-construction-java/src/test/java/org/apache/beam/runners/core/construction/UnsupportedOverrideFactoryTest.java
@@ -29,7 +29,7 @@ import org.junit.runners.JUnit4;
 /** Tests for {@link UnsupportedOverrideFactory}. */
 @RunWith(JUnit4.class)
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
 })
 public class UnsupportedOverrideFactoryTest {
   @Rule public ExpectedException thrown = ExpectedException.none();
diff --git a/runners/core-construction-java/src/test/java/org/apache/beam/runners/core/construction/WindowingStrategyTranslationTest.java b/runners/core-construction-java/src/test/java/org/apache/beam/runners/core/construction/WindowingStrategyTranslationTest.java
index 77737683278..f73694fc6d6 100644
--- a/runners/core-construction-java/src/test/java/org/apache/beam/runners/core/construction/WindowingStrategyTranslationTest.java
+++ b/runners/core-construction-java/src/test/java/org/apache/beam/runners/core/construction/WindowingStrategyTranslationTest.java
@@ -63,7 +63,7 @@ import org.junit.runners.Parameterized.Parameters;
 /** Unit tests for {@link WindowingStrategy}. */
 @RunWith(Enclosed.class)
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
 })
 public class WindowingStrategyTranslationTest {
   // Each spec activates tests of all subsets of its fields
diff --git a/runners/core-construction-java/src/test/java/org/apache/beam/runners/core/construction/graph/OutputDeduplicatorTest.java b/runners/core-construction-java/src/test/java/org/apache/beam/runners/core/construction/graph/OutputDeduplicatorTest.java
index c62554a6058..2a40b56cf5f 100644
--- a/runners/core-construction-java/src/test/java/org/apache/beam/runners/core/construction/graph/OutputDeduplicatorTest.java
+++ b/runners/core-construction-java/src/test/java/org/apache/beam/runners/core/construction/graph/OutputDeduplicatorTest.java
@@ -50,7 +50,7 @@ import org.junit.runners.JUnit4;
 /** Tests for {@link OutputDeduplicator}. */
 @RunWith(JUnit4.class)
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
 })
 public class OutputDeduplicatorTest {
   @Test
diff --git a/runners/core-java/src/main/java/org/apache/beam/runners/core/DoFnRunners.java b/runners/core-java/src/main/java/org/apache/beam/runners/core/DoFnRunners.java
index c2ae8cfb943..a02b11d5c63 100644
--- a/runners/core-java/src/main/java/org/apache/beam/runners/core/DoFnRunners.java
+++ b/runners/core-java/src/main/java/org/apache/beam/runners/core/DoFnRunners.java
@@ -38,7 +38,7 @@ import org.checkerframework.checker.nullness.qual.Nullable;
 
 /** Static utility methods that provide {@link DoFnRunner} implementations. */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class DoFnRunners {
   /** Information about how to create output receivers and output to them. */
diff --git a/runners/core-java/src/main/java/org/apache/beam/runners/core/GlobalCombineFnRunners.java b/runners/core-java/src/main/java/org/apache/beam/runners/core/GlobalCombineFnRunners.java
index 0dd54c42e4e..ea0ea3e47e9 100644
--- a/runners/core-java/src/main/java/org/apache/beam/runners/core/GlobalCombineFnRunners.java
+++ b/runners/core-java/src/main/java/org/apache/beam/runners/core/GlobalCombineFnRunners.java
@@ -32,7 +32,7 @@ import org.apache.beam.vendor.guava.v26_0_jre.com.google.common.collect.Iterable
  * combine functions.
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class GlobalCombineFnRunners {
   /** Returns a {@link GlobalCombineFnRunner} from a {@link GlobalCombineFn}. */
diff --git a/runners/core-java/src/main/java/org/apache/beam/runners/core/GroupByKeyViaGroupByKeyOnly.java b/runners/core-java/src/main/java/org/apache/beam/runners/core/GroupByKeyViaGroupByKeyOnly.java
index a10a0fac484..f4d861107b2 100644
--- a/runners/core-java/src/main/java/org/apache/beam/runners/core/GroupByKeyViaGroupByKeyOnly.java
+++ b/runners/core-java/src/main/java/org/apache/beam/runners/core/GroupByKeyViaGroupByKeyOnly.java
@@ -107,7 +107,7 @@ public class GroupByKeyViaGroupByKeyOnly<K, V>
       extends PTransform<PCollection<KV<K, V>>, PCollection<KV<K, Iterable<WindowedValue<V>>>>> {
 
     @SuppressWarnings({
-      "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+      "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
       "unchecked"
     })
     @Override
diff --git a/runners/core-java/src/main/java/org/apache/beam/runners/core/InMemoryMultimapSideInputView.java b/runners/core-java/src/main/java/org/apache/beam/runners/core/InMemoryMultimapSideInputView.java
index b281a512d67..9ce1157c169 100644
--- a/runners/core-java/src/main/java/org/apache/beam/runners/core/InMemoryMultimapSideInputView.java
+++ b/runners/core-java/src/main/java/org/apache/beam/runners/core/InMemoryMultimapSideInputView.java
@@ -32,8 +32,8 @@ import org.checkerframework.checker.nullness.qual.Nullable;
 
 /** An in-memory representation of {@link MultimapView}. */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class InMemoryMultimapSideInputView<K, V> implements Materializations.MultimapView<K, V> {
   /** An empty {@link MultimapView}. */
diff --git a/runners/core-java/src/main/java/org/apache/beam/runners/core/InMemoryStateInternals.java b/runners/core-java/src/main/java/org/apache/beam/runners/core/InMemoryStateInternals.java
index cd1f9824ac3..063a6e2b685 100644
--- a/runners/core-java/src/main/java/org/apache/beam/runners/core/InMemoryStateInternals.java
+++ b/runners/core-java/src/main/java/org/apache/beam/runners/core/InMemoryStateInternals.java
@@ -66,8 +66,8 @@ import org.joda.time.Instant;
  * for running tests that need state.
  */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class InMemoryStateInternals<K> implements StateInternals {
 
diff --git a/runners/core-java/src/main/java/org/apache/beam/runners/core/InMemoryTimerInternals.java b/runners/core-java/src/main/java/org/apache/beam/runners/core/InMemoryTimerInternals.java
index 863a92b591a..5d1a9be8757 100644
--- a/runners/core-java/src/main/java/org/apache/beam/runners/core/InMemoryTimerInternals.java
+++ b/runners/core-java/src/main/java/org/apache/beam/runners/core/InMemoryTimerInternals.java
@@ -35,7 +35,7 @@ import org.joda.time.Instant;
 
 /** {@link TimerInternals} with all watermarks and processing clock simulated in-memory. */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class InMemoryTimerInternals implements TimerInternals {
 
diff --git a/runners/core-java/src/main/java/org/apache/beam/runners/core/LateDataDroppingDoFnRunner.java b/runners/core-java/src/main/java/org/apache/beam/runners/core/LateDataDroppingDoFnRunner.java
index 805735a19d4..15653817612 100644
--- a/runners/core-java/src/main/java/org/apache/beam/runners/core/LateDataDroppingDoFnRunner.java
+++ b/runners/core-java/src/main/java/org/apache/beam/runners/core/LateDataDroppingDoFnRunner.java
@@ -44,7 +44,7 @@ import org.joda.time.Instant;
  * @param <OutputT> output value element type
  * @param <W> window type
  */
-@SuppressWarnings({"nullness", "keyfor"}) // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+@SuppressWarnings({"nullness", "keyfor"}) // TODO(https://github.com/apache/beam/issues/20497)
 public class LateDataDroppingDoFnRunner<K, InputT, OutputT, W extends BoundedWindow>
     implements DoFnRunner<KeyedWorkItem<K, InputT>, KV<K, OutputT>> {
   private final DoFnRunner<KeyedWorkItem<K, InputT>, KV<K, OutputT>> doFnRunner;
diff --git a/runners/core-java/src/main/java/org/apache/beam/runners/core/LateDataUtils.java b/runners/core-java/src/main/java/org/apache/beam/runners/core/LateDataUtils.java
index 8a503d9ffff..eb017cd79ae 100644
--- a/runners/core-java/src/main/java/org/apache/beam/runners/core/LateDataUtils.java
+++ b/runners/core-java/src/main/java/org/apache/beam/runners/core/LateDataUtils.java
@@ -30,10 +30,10 @@ import org.joda.time.Instant;
 
 /** Utils to handle late data. */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
   "nullness",
   "keyfor"
-}) // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+}) // TODO(https://github.com/apache/beam/issues/20497)
 public class LateDataUtils {
   private LateDataUtils() {}
 
diff --git a/runners/core-java/src/main/java/org/apache/beam/runners/core/MergingActiveWindowSet.java b/runners/core-java/src/main/java/org/apache/beam/runners/core/MergingActiveWindowSet.java
index 380d0ca7d61..24e21ac74a3 100644
--- a/runners/core-java/src/main/java/org/apache/beam/runners/core/MergingActiveWindowSet.java
+++ b/runners/core-java/src/main/java/org/apache/beam/runners/core/MergingActiveWindowSet.java
@@ -40,7 +40,7 @@ import org.apache.beam.vendor.guava.v26_0_jre.com.google.common.collect.Sets;
 import org.checkerframework.checker.nullness.qual.Nullable;
 
 /** An {@link ActiveWindowSet} for merging {@link WindowFn} implementations. */
-@SuppressWarnings({"nullness", "keyfor"}) // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+@SuppressWarnings({"nullness", "keyfor"}) // TODO(https://github.com/apache/beam/issues/20497)
 public class MergingActiveWindowSet<W extends BoundedWindow> implements ActiveWindowSet<W> {
   private final WindowFn<Object, W> windowFn;
 
diff --git a/runners/core-java/src/main/java/org/apache/beam/runners/core/OutputAndTimeBoundedSplittableProcessElementInvoker.java b/runners/core-java/src/main/java/org/apache/beam/runners/core/OutputAndTimeBoundedSplittableProcessElementInvoker.java
index d006dafa104..38eff394f05 100644
--- a/runners/core-java/src/main/java/org/apache/beam/runners/core/OutputAndTimeBoundedSplittableProcessElementInvoker.java
+++ b/runners/core-java/src/main/java/org/apache/beam/runners/core/OutputAndTimeBoundedSplittableProcessElementInvoker.java
@@ -60,10 +60,10 @@ import org.joda.time.Instant;
  * outputs), or runs for the given duration.
  */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
   "nullness",
   "keyfor"
-}) // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+}) // TODO(https://github.com/apache/beam/issues/20497)
 public class OutputAndTimeBoundedSplittableProcessElementInvoker<
         InputT, OutputT, RestrictionT, PositionT, WatermarkEstimatorStateT>
     extends SplittableProcessElementInvoker<
diff --git a/runners/core-java/src/main/java/org/apache/beam/runners/core/PaneInfoTracker.java b/runners/core-java/src/main/java/org/apache/beam/runners/core/PaneInfoTracker.java
index 4f8023752fd..34d3451d294 100644
--- a/runners/core-java/src/main/java/org/apache/beam/runners/core/PaneInfoTracker.java
+++ b/runners/core-java/src/main/java/org/apache/beam/runners/core/PaneInfoTracker.java
@@ -37,7 +37,7 @@ import org.joda.time.Instant;
  * output watermark.
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class PaneInfoTracker {
   private TimerInternals timerInternals;
diff --git a/runners/core-java/src/main/java/org/apache/beam/runners/core/PeekingReiterator.java b/runners/core-java/src/main/java/org/apache/beam/runners/core/PeekingReiterator.java
index 99f5240eae6..668887fda6f 100644
--- a/runners/core-java/src/main/java/org/apache/beam/runners/core/PeekingReiterator.java
+++ b/runners/core-java/src/main/java/org/apache/beam/runners/core/PeekingReiterator.java
@@ -30,7 +30,7 @@ import org.checkerframework.checker.nullness.qual.Nullable;
  * @param <T> the type of elements returned by this iterator
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public final class PeekingReiterator<T> implements Reiterator<T> {
   private @Nullable T nextElement;
diff --git a/runners/core-java/src/main/java/org/apache/beam/runners/core/ProcessFnRunner.java b/runners/core-java/src/main/java/org/apache/beam/runners/core/ProcessFnRunner.java
index 0aa61eb6323..36780122261 100644
--- a/runners/core-java/src/main/java/org/apache/beam/runners/core/ProcessFnRunner.java
+++ b/runners/core-java/src/main/java/org/apache/beam/runners/core/ProcessFnRunner.java
@@ -37,7 +37,7 @@ import org.joda.time.Instant;
  * Runs a {@link SplittableParDoViaKeyedWorkItems.ProcessFn} by constructing the appropriate
  * contexts and passing them in.
  */
-@SuppressWarnings({"nullness", "keyfor"}) // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+@SuppressWarnings({"nullness", "keyfor"}) // TODO(https://github.com/apache/beam/issues/20497)
 public class ProcessFnRunner<InputT, OutputT, RestrictionT>
     implements PushbackSideInputDoFnRunner<
         KeyedWorkItem<byte[], KV<InputT, RestrictionT>>, OutputT> {
diff --git a/runners/core-java/src/main/java/org/apache/beam/runners/core/ReduceFnContextFactory.java b/runners/core-java/src/main/java/org/apache/beam/runners/core/ReduceFnContextFactory.java
index d1c644de71f..5b4b760c6d2 100644
--- a/runners/core-java/src/main/java/org/apache/beam/runners/core/ReduceFnContextFactory.java
+++ b/runners/core-java/src/main/java/org/apache/beam/runners/core/ReduceFnContextFactory.java
@@ -41,7 +41,7 @@ import org.joda.time.Instant;
 
 /** Factory for creating instances of the various {@link ReduceFn} contexts. */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 class ReduceFnContextFactory<K, InputT, OutputT, W extends BoundedWindow> {
   public interface OnTriggerCallbacks<OutputT> {
diff --git a/runners/core-java/src/main/java/org/apache/beam/runners/core/ReduceFnRunner.java b/runners/core-java/src/main/java/org/apache/beam/runners/core/ReduceFnRunner.java
index e5de34d9bc1..8e5c1a5b8cc 100644
--- a/runners/core-java/src/main/java/org/apache/beam/runners/core/ReduceFnRunner.java
+++ b/runners/core-java/src/main/java/org/apache/beam/runners/core/ReduceFnRunner.java
@@ -84,10 +84,10 @@ import org.joda.time.Instant;
  * @param <W> The type of windows this operates on.
  */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
   "nullness",
   "keyfor"
-}) // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+}) // TODO(https://github.com/apache/beam/issues/20497)
 public class ReduceFnRunner<K, InputT, OutputT, W extends BoundedWindow> {
 
   /**
diff --git a/runners/core-java/src/main/java/org/apache/beam/runners/core/SideInputHandler.java b/runners/core-java/src/main/java/org/apache/beam/runners/core/SideInputHandler.java
index 401d47c1e33..97aa0ecc985 100644
--- a/runners/core-java/src/main/java/org/apache/beam/runners/core/SideInputHandler.java
+++ b/runners/core-java/src/main/java/org/apache/beam/runners/core/SideInputHandler.java
@@ -59,8 +59,8 @@ import org.checkerframework.checker.nullness.qual.Nullable;
  * reach the GC horizon.
  */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class SideInputHandler implements ReadyCheckingSideInputReader {
   private static final Set<String> SUPPORTED_MATERIALIZATIONS =
diff --git a/runners/core-java/src/main/java/org/apache/beam/runners/core/SimpleDoFnRunner.java b/runners/core-java/src/main/java/org/apache/beam/runners/core/SimpleDoFnRunner.java
index a7d67bf7526..48bc22c4484 100644
--- a/runners/core-java/src/main/java/org/apache/beam/runners/core/SimpleDoFnRunner.java
+++ b/runners/core-java/src/main/java/org/apache/beam/runners/core/SimpleDoFnRunner.java
@@ -78,10 +78,10 @@ import org.joda.time.format.PeriodFormat;
  * @param <OutputT> the type of the {@link DoFn} (main) output elements
  */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
   "nullness",
   "keyfor"
-}) // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+}) // TODO(https://github.com/apache/beam/issues/20497)
 public class SimpleDoFnRunner<InputT, OutputT> implements DoFnRunner<InputT, OutputT> {
 
   private final PipelineOptions options;
diff --git a/runners/core-java/src/main/java/org/apache/beam/runners/core/SimplePushbackSideInputDoFnRunner.java b/runners/core-java/src/main/java/org/apache/beam/runners/core/SimplePushbackSideInputDoFnRunner.java
index 31cfa6bb6fc..a6a6455d2d2 100644
--- a/runners/core-java/src/main/java/org/apache/beam/runners/core/SimplePushbackSideInputDoFnRunner.java
+++ b/runners/core-java/src/main/java/org/apache/beam/runners/core/SimplePushbackSideInputDoFnRunner.java
@@ -35,7 +35,7 @@ import org.joda.time.Instant;
  * A {@link DoFnRunner} that can refuse to process elements that are not ready, instead returning
  * them via the {@link #processElementInReadyWindows(WindowedValue)}.
  */
-@SuppressWarnings({"nullness", "keyfor"}) // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+@SuppressWarnings({"nullness", "keyfor"}) // TODO(https://github.com/apache/beam/issues/20497)
 public class SimplePushbackSideInputDoFnRunner<InputT, OutputT>
     implements PushbackSideInputDoFnRunner<InputT, OutputT> {
   private final DoFnRunner<InputT, OutputT> underlying;
diff --git a/runners/core-java/src/main/java/org/apache/beam/runners/core/SplittableParDoViaKeyedWorkItems.java b/runners/core-java/src/main/java/org/apache/beam/runners/core/SplittableParDoViaKeyedWorkItems.java
index 4f36121e7b3..2fa8337e1e4 100644
--- a/runners/core-java/src/main/java/org/apache/beam/runners/core/SplittableParDoViaKeyedWorkItems.java
+++ b/runners/core-java/src/main/java/org/apache/beam/runners/core/SplittableParDoViaKeyedWorkItems.java
@@ -225,7 +225,7 @@ public class SplittableParDoViaKeyedWorkItems {
    * {@link ProcessFn} sets timers, and timers are namespaced to a single window and it should be
    * the window of the input element.
    *
-   * <p>See also: https://issues.apache.org/jira/browse/BEAM-1983
+   * <p>See also: https://github.com/apache/beam/issues/18366
    */
   @VisibleForTesting
   public static class ProcessFn<InputT, OutputT, RestrictionT, PositionT, WatermarkEstimatorStateT>
diff --git a/runners/core-java/src/main/java/org/apache/beam/runners/core/StateMerging.java b/runners/core-java/src/main/java/org/apache/beam/runners/core/StateMerging.java
index 9da6f639f32..e490e3188d8 100644
--- a/runners/core-java/src/main/java/org/apache/beam/runners/core/StateMerging.java
+++ b/runners/core-java/src/main/java/org/apache/beam/runners/core/StateMerging.java
@@ -32,7 +32,7 @@ import org.apache.beam.sdk.transforms.windowing.BoundedWindow;
 
 /** Helpers for merging state. */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class StateMerging {
   /**
diff --git a/runners/core-java/src/main/java/org/apache/beam/runners/core/StateTable.java b/runners/core-java/src/main/java/org/apache/beam/runners/core/StateTable.java
index 80b5cd9cc53..d285c8e2471 100644
--- a/runners/core-java/src/main/java/org/apache/beam/runners/core/StateTable.java
+++ b/runners/core-java/src/main/java/org/apache/beam/runners/core/StateTable.java
@@ -36,8 +36,8 @@ import org.checkerframework.checker.nullness.qual.Nullable;
  * yet initialized.
  */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public abstract class StateTable {
 
diff --git a/runners/core-java/src/main/java/org/apache/beam/runners/core/StateTags.java b/runners/core-java/src/main/java/org/apache/beam/runners/core/StateTags.java
index ff41c5f47f3..99d6a61ad29 100644
--- a/runners/core-java/src/main/java/org/apache/beam/runners/core/StateTags.java
+++ b/runners/core-java/src/main/java/org/apache/beam/runners/core/StateTags.java
@@ -42,7 +42,7 @@ import org.checkerframework.checker.nullness.qual.Nullable;
 
 /** Static utility methods for creating {@link StateTag} instances. */
 @SuppressWarnings({
-  "rawtypes" // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes" // TODO(https://github.com/apache/beam/issues/20447)
 })
 public class StateTags {
 
diff --git a/runners/core-java/src/main/java/org/apache/beam/runners/core/StatefulDoFnRunner.java b/runners/core-java/src/main/java/org/apache/beam/runners/core/StatefulDoFnRunner.java
index 9e8e2644d09..d375e262615 100644
--- a/runners/core-java/src/main/java/org/apache/beam/runners/core/StatefulDoFnRunner.java
+++ b/runners/core-java/src/main/java/org/apache/beam/runners/core/StatefulDoFnRunner.java
@@ -55,8 +55,8 @@ import org.joda.time.Instant;
  * @param <OutputT> the type of the {@link DoFn} (main) output elements
  */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class StatefulDoFnRunner<InputT, OutputT, W extends BoundedWindow>
     implements DoFnRunner<InputT, OutputT> {
diff --git a/runners/core-java/src/main/java/org/apache/beam/runners/core/SystemReduceFn.java b/runners/core-java/src/main/java/org/apache/beam/runners/core/SystemReduceFn.java
index 8063e25e123..53c0c7146ef 100644
--- a/runners/core-java/src/main/java/org/apache/beam/runners/core/SystemReduceFn.java
+++ b/runners/core-java/src/main/java/org/apache/beam/runners/core/SystemReduceFn.java
@@ -39,7 +39,7 @@ import org.apache.beam.vendor.guava.v26_0_jre.com.google.common.annotations.Visi
  * @param <W> The type of windows this operates on.
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public abstract class SystemReduceFn<K, InputT, AccumT, OutputT, W extends BoundedWindow>
     extends ReduceFn<K, InputT, OutputT, W> {
diff --git a/runners/core-java/src/main/java/org/apache/beam/runners/core/TestInMemoryStateInternals.java b/runners/core-java/src/main/java/org/apache/beam/runners/core/TestInMemoryStateInternals.java
index 0a92992b472..f95c1c93c37 100644
--- a/runners/core-java/src/main/java/org/apache/beam/runners/core/TestInMemoryStateInternals.java
+++ b/runners/core-java/src/main/java/org/apache/beam/runners/core/TestInMemoryStateInternals.java
@@ -26,8 +26,8 @@ import org.joda.time.Instant;
 
 /** Simulates state like {@link InMemoryStateInternals} and provides some extra helper methods. */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class TestInMemoryStateInternals<K> extends InMemoryStateInternals<K> {
   public TestInMemoryStateInternals(K key) {
diff --git a/runners/core-java/src/main/java/org/apache/beam/runners/core/WatermarkHold.java b/runners/core-java/src/main/java/org/apache/beam/runners/core/WatermarkHold.java
index e1606db67d4..baef5b5756c 100644
--- a/runners/core-java/src/main/java/org/apache/beam/runners/core/WatermarkHold.java
+++ b/runners/core-java/src/main/java/org/apache/beam/runners/core/WatermarkHold.java
@@ -51,7 +51,7 @@ import org.joda.time.Instant;
  * @param <W> The kind of {@link BoundedWindow} the hold is for.
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 class WatermarkHold<W extends BoundedWindow> implements Serializable {
   /** Return tag for state containing the output watermark hold used for elements. */
diff --git a/runners/core-java/src/main/java/org/apache/beam/runners/core/metrics/DefaultMetricResults.java b/runners/core-java/src/main/java/org/apache/beam/runners/core/metrics/DefaultMetricResults.java
index 34d939352a4..56283eb1f7b 100644
--- a/runners/core-java/src/main/java/org/apache/beam/runners/core/metrics/DefaultMetricResults.java
+++ b/runners/core-java/src/main/java/org/apache/beam/runners/core/metrics/DefaultMetricResults.java
@@ -33,7 +33,7 @@ import org.checkerframework.checker.nullness.qual.Nullable;
  * org.apache.beam.sdk.metrics.MetricsFilter}s linearly to them.
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class DefaultMetricResults extends MetricResults {
 
diff --git a/runners/core-java/src/main/java/org/apache/beam/runners/core/metrics/ExecutionStateTracker.java b/runners/core-java/src/main/java/org/apache/beam/runners/core/metrics/ExecutionStateTracker.java
index fccad31da2c..969e9339bef 100644
--- a/runners/core-java/src/main/java/org/apache/beam/runners/core/metrics/ExecutionStateTracker.java
+++ b/runners/core-java/src/main/java/org/apache/beam/runners/core/metrics/ExecutionStateTracker.java
@@ -32,7 +32,7 @@ import org.checkerframework.checker.nullness.qual.Nullable;
 /** Tracks the current state of a single execution thread. */
 @SuppressFBWarnings(value = "IS2_INCONSISTENT_SYNC", justification = "Intentional for performance.")
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class ExecutionStateTracker implements Comparable<ExecutionStateTracker> {
 
diff --git a/runners/core-java/src/main/java/org/apache/beam/runners/core/metrics/MetricUpdates.java b/runners/core-java/src/main/java/org/apache/beam/runners/core/metrics/MetricUpdates.java
index 215142775dd..e09471266c7 100644
--- a/runners/core-java/src/main/java/org/apache/beam/runners/core/metrics/MetricUpdates.java
+++ b/runners/core-java/src/main/java/org/apache/beam/runners/core/metrics/MetricUpdates.java
@@ -26,7 +26,7 @@ import org.apache.beam.vendor.guava.v26_0_jre.com.google.common.collect.Iterable
 /** Representation of multiple metric updates. */
 @AutoValue
 @SuppressWarnings({
-  "rawtypes" // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes" // TODO(https://github.com/apache/beam/issues/20447)
 })
 public abstract class MetricUpdates {
 
diff --git a/runners/core-java/src/main/java/org/apache/beam/runners/core/metrics/MetricsContainerImpl.java b/runners/core-java/src/main/java/org/apache/beam/runners/core/metrics/MetricsContainerImpl.java
index a6a2f3160ec..61b24d13b8c 100644
--- a/runners/core-java/src/main/java/org/apache/beam/runners/core/metrics/MetricsContainerImpl.java
+++ b/runners/core-java/src/main/java/org/apache/beam/runners/core/metrics/MetricsContainerImpl.java
@@ -67,7 +67,7 @@ import org.slf4j.LoggerFactory;
  * cumulative values/updates.
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class MetricsContainerImpl implements Serializable, MetricsContainer {
   private static final Logger LOG = LoggerFactory.getLogger(MetricsContainerImpl.class);
diff --git a/runners/core-java/src/main/java/org/apache/beam/runners/core/metrics/MetricsMap.java b/runners/core-java/src/main/java/org/apache/beam/runners/core/metrics/MetricsMap.java
index d994bc84257..e8481377246 100644
--- a/runners/core-java/src/main/java/org/apache/beam/runners/core/metrics/MetricsMap.java
+++ b/runners/core-java/src/main/java/org/apache/beam/runners/core/metrics/MetricsMap.java
@@ -31,7 +31,7 @@ import org.checkerframework.checker.nullness.qual.Nullable;
  * in a thread-safe manner.
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class MetricsMap<K, T> implements Serializable {
 
diff --git a/runners/core-java/src/main/java/org/apache/beam/runners/core/metrics/MetricsPusher.java b/runners/core-java/src/main/java/org/apache/beam/runners/core/metrics/MetricsPusher.java
index b4f81d9b2b9..a0acbc4fcf3 100644
--- a/runners/core-java/src/main/java/org/apache/beam/runners/core/metrics/MetricsPusher.java
+++ b/runners/core-java/src/main/java/org/apache/beam/runners/core/metrics/MetricsPusher.java
@@ -36,7 +36,7 @@ import org.checkerframework.checker.nullness.qual.Nullable;
 
 /** Component that regularly merges metrics and pushes them to a metrics sink. */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class MetricsPusher implements Serializable {
 
diff --git a/runners/core-java/src/main/java/org/apache/beam/runners/core/metrics/SimpleExecutionState.java b/runners/core-java/src/main/java/org/apache/beam/runners/core/metrics/SimpleExecutionState.java
index e8e55dc9c71..83ca341b3ae 100644
--- a/runners/core-java/src/main/java/org/apache/beam/runners/core/metrics/SimpleExecutionState.java
+++ b/runners/core-java/src/main/java/org/apache/beam/runners/core/metrics/SimpleExecutionState.java
@@ -39,7 +39,7 @@ import org.slf4j.LoggerFactory;
  * getLabels().
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class SimpleExecutionState extends ExecutionState {
   private long totalMillis = 0;
diff --git a/runners/core-java/src/main/java/org/apache/beam/runners/core/metrics/SimpleStateRegistry.java b/runners/core-java/src/main/java/org/apache/beam/runners/core/metrics/SimpleStateRegistry.java
index 94744d0cf74..fe656eb84c2 100644
--- a/runners/core-java/src/main/java/org/apache/beam/runners/core/metrics/SimpleStateRegistry.java
+++ b/runners/core-java/src/main/java/org/apache/beam/runners/core/metrics/SimpleStateRegistry.java
@@ -29,7 +29,7 @@ import org.apache.beam.vendor.grpc.v1p43p2.com.google.protobuf.ByteString;
  * A Class for registering SimpleExecutionStates with and extracting execution time MonitoringInfos.
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class SimpleStateRegistry {
   private List<SimpleExecutionState> executionStates = new ArrayList<SimpleExecutionState>();
diff --git a/runners/core-java/src/main/java/org/apache/beam/runners/core/triggers/AfterAllStateMachine.java b/runners/core-java/src/main/java/org/apache/beam/runners/core/triggers/AfterAllStateMachine.java
index c9096d0689d..2d5f71114b2 100644
--- a/runners/core-java/src/main/java/org/apache/beam/runners/core/triggers/AfterAllStateMachine.java
+++ b/runners/core-java/src/main/java/org/apache/beam/runners/core/triggers/AfterAllStateMachine.java
@@ -29,7 +29,7 @@ import org.apache.beam.vendor.guava.v26_0_jre.com.google.common.collect.Immutabl
  * fired.
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class AfterAllStateMachine extends TriggerStateMachine {
 
diff --git a/runners/core-java/src/main/java/org/apache/beam/runners/core/triggers/AfterDelayFromFirstElementStateMachine.java b/runners/core-java/src/main/java/org/apache/beam/runners/core/triggers/AfterDelayFromFirstElementStateMachine.java
index 00a202f63e3..176b57b3fa5 100644
--- a/runners/core-java/src/main/java/org/apache/beam/runners/core/triggers/AfterDelayFromFirstElementStateMachine.java
+++ b/runners/core-java/src/main/java/org/apache/beam/runners/core/triggers/AfterDelayFromFirstElementStateMachine.java
@@ -44,9 +44,9 @@ import org.joda.time.format.PeriodFormatter;
  * <p>This class is for internal use only and may change at any time.
  */
 // This class should be inlined to subclasses and deleted, simplifying them too
-// https://issues.apache.org/jira/browse/BEAM-1486
+// https://github.com/apache/beam/issues/1796986
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public abstract class AfterDelayFromFirstElementStateMachine extends TriggerStateMachine {
 
diff --git a/runners/core-java/src/main/java/org/apache/beam/runners/core/triggers/AfterEachStateMachine.java b/runners/core-java/src/main/java/org/apache/beam/runners/core/triggers/AfterEachStateMachine.java
index cdccdc71860..0fac4c89e97 100644
--- a/runners/core-java/src/main/java/org/apache/beam/runners/core/triggers/AfterEachStateMachine.java
+++ b/runners/core-java/src/main/java/org/apache/beam/runners/core/triggers/AfterEachStateMachine.java
@@ -42,7 +42,7 @@ import org.apache.beam.vendor.guava.v26_0_jre.com.google.common.collect.Immutabl
  * </ul>
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class AfterEachStateMachine extends TriggerStateMachine {
 
diff --git a/runners/core-java/src/main/java/org/apache/beam/runners/core/triggers/AfterFirstStateMachine.java b/runners/core-java/src/main/java/org/apache/beam/runners/core/triggers/AfterFirstStateMachine.java
index 6a48b2e939a..207a2fa31e4 100644
--- a/runners/core-java/src/main/java/org/apache/beam/runners/core/triggers/AfterFirstStateMachine.java
+++ b/runners/core-java/src/main/java/org/apache/beam/runners/core/triggers/AfterFirstStateMachine.java
@@ -29,7 +29,7 @@ import org.apache.beam.vendor.guava.v26_0_jre.com.google.common.collect.Immutabl
  * sub-triggers have fired.
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class AfterFirstStateMachine extends TriggerStateMachine {
 
diff --git a/runners/core-java/src/main/java/org/apache/beam/runners/core/triggers/AfterWatermarkStateMachine.java b/runners/core-java/src/main/java/org/apache/beam/runners/core/triggers/AfterWatermarkStateMachine.java
index 7afe9df35be..6bb24a95985 100644
--- a/runners/core-java/src/main/java/org/apache/beam/runners/core/triggers/AfterWatermarkStateMachine.java
+++ b/runners/core-java/src/main/java/org/apache/beam/runners/core/triggers/AfterWatermarkStateMachine.java
@@ -52,7 +52,7 @@ import org.checkerframework.checker.nullness.qual.Nullable;
  * AfterWatermark.pastEndOfWindow.withEarlyFirings(OnceTrigger)}.
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class AfterWatermarkStateMachine {
 
diff --git a/runners/core-java/src/main/java/org/apache/beam/runners/core/triggers/DefaultTriggerStateMachine.java b/runners/core-java/src/main/java/org/apache/beam/runners/core/triggers/DefaultTriggerStateMachine.java
index f92a0e17aae..116da24ba0a 100644
--- a/runners/core-java/src/main/java/org/apache/beam/runners/core/triggers/DefaultTriggerStateMachine.java
+++ b/runners/core-java/src/main/java/org/apache/beam/runners/core/triggers/DefaultTriggerStateMachine.java
@@ -25,7 +25,7 @@ import org.apache.beam.sdk.state.TimeDomain;
  * more details.
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class DefaultTriggerStateMachine extends TriggerStateMachine {
 
diff --git a/runners/core-java/src/main/java/org/apache/beam/runners/core/triggers/ExecutableTriggerStateMachine.java b/runners/core-java/src/main/java/org/apache/beam/runners/core/triggers/ExecutableTriggerStateMachine.java
index 7fae4b90141..7cb59608565 100644
--- a/runners/core-java/src/main/java/org/apache/beam/runners/core/triggers/ExecutableTriggerStateMachine.java
+++ b/runners/core-java/src/main/java/org/apache/beam/runners/core/triggers/ExecutableTriggerStateMachine.java
@@ -31,7 +31,7 @@ import org.apache.beam.sdk.transforms.windowing.BoundedWindow;
  * ExecutableTrigger} wrapped around them forms a tree (only one occurrence).
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class ExecutableTriggerStateMachine implements Serializable {
 
diff --git a/runners/core-java/src/main/java/org/apache/beam/runners/core/triggers/OrFinallyStateMachine.java b/runners/core-java/src/main/java/org/apache/beam/runners/core/triggers/OrFinallyStateMachine.java
index 6b93f1f2fbd..fe21ef8c5bf 100644
--- a/runners/core-java/src/main/java/org/apache/beam/runners/core/triggers/OrFinallyStateMachine.java
+++ b/runners/core-java/src/main/java/org/apache/beam/runners/core/triggers/OrFinallyStateMachine.java
@@ -24,7 +24,7 @@ import org.apache.beam.vendor.guava.v26_0_jre.com.google.common.annotations.Visi
  * Executes the {@code actual} trigger until it finishes or until the {@code until} trigger fires.
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 class OrFinallyStateMachine extends TriggerStateMachine {
 
diff --git a/runners/core-java/src/main/java/org/apache/beam/runners/core/triggers/RepeatedlyStateMachine.java b/runners/core-java/src/main/java/org/apache/beam/runners/core/triggers/RepeatedlyStateMachine.java
index 60c2d89229f..0dfd2bb3fd6 100644
--- a/runners/core-java/src/main/java/org/apache/beam/runners/core/triggers/RepeatedlyStateMachine.java
+++ b/runners/core-java/src/main/java/org/apache/beam/runners/core/triggers/RepeatedlyStateMachine.java
@@ -32,7 +32,7 @@ import java.util.Arrays;
  * AfterEach.inOrder(someTrigger, someTrigger, someTrigger, ...)}.
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class RepeatedlyStateMachine extends TriggerStateMachine {
 
diff --git a/runners/core-java/src/main/java/org/apache/beam/runners/core/triggers/TriggerStateMachine.java b/runners/core-java/src/main/java/org/apache/beam/runners/core/triggers/TriggerStateMachine.java
index 4c99c7fe100..3721ff34d26 100644
--- a/runners/core-java/src/main/java/org/apache/beam/runners/core/triggers/TriggerStateMachine.java
+++ b/runners/core-java/src/main/java/org/apache/beam/runners/core/triggers/TriggerStateMachine.java
@@ -94,7 +94,7 @@ import org.joda.time.Instant;
  * callback returns.
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public abstract class TriggerStateMachine implements Serializable {
 
diff --git a/runners/core-java/src/main/java/org/apache/beam/runners/core/triggers/TriggerStateMachineContextFactory.java b/runners/core-java/src/main/java/org/apache/beam/runners/core/triggers/TriggerStateMachineContextFactory.java
index 4e9af0b8103..4468e77b520 100644
--- a/runners/core-java/src/main/java/org/apache/beam/runners/core/triggers/TriggerStateMachineContextFactory.java
+++ b/runners/core-java/src/main/java/org/apache/beam/runners/core/triggers/TriggerStateMachineContextFactory.java
@@ -46,7 +46,7 @@ import org.joda.time.Instant;
  * <p>These contexts are highly interdependent and share many fields; it is inadvisable to create
  * them via any means other than this factory class.
  */
-@SuppressWarnings({"nullness", "keyfor"}) // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+@SuppressWarnings({"nullness", "keyfor"}) // TODO(https://github.com/apache/beam/issues/20497)
 public class TriggerStateMachineContextFactory<W extends BoundedWindow> {
 
   private final WindowFn<?, W> windowFn;
diff --git a/runners/core-java/src/test/java/org/apache/beam/runners/core/OutputAndTimeBoundedSplittableProcessElementInvokerTest.java b/runners/core-java/src/test/java/org/apache/beam/runners/core/OutputAndTimeBoundedSplittableProcessElementInvokerTest.java
index 150bfb70862..f44c3d70e43 100644
--- a/runners/core-java/src/test/java/org/apache/beam/runners/core/OutputAndTimeBoundedSplittableProcessElementInvokerTest.java
+++ b/runners/core-java/src/test/java/org/apache/beam/runners/core/OutputAndTimeBoundedSplittableProcessElementInvokerTest.java
@@ -52,7 +52,7 @@ import org.junit.rules.ExpectedException;
 
 /** Tests for {@link OutputAndTimeBoundedSplittableProcessElementInvoker}. */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
 })
 public class OutputAndTimeBoundedSplittableProcessElementInvokerTest {
   @Rule public transient ExpectedException e = ExpectedException.none();
diff --git a/runners/core-java/src/test/java/org/apache/beam/runners/core/ReduceFnTester.java b/runners/core-java/src/test/java/org/apache/beam/runners/core/ReduceFnTester.java
index 4bbc0f4b0e4..080cde64f9b 100644
--- a/runners/core-java/src/test/java/org/apache/beam/runners/core/ReduceFnTester.java
+++ b/runners/core-java/src/test/java/org/apache/beam/runners/core/ReduceFnTester.java
@@ -84,7 +84,7 @@ import org.joda.time.Instant;
  * @param <W> The type of windows being used.
  */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
 })
 public class ReduceFnTester<InputT, OutputT, W extends BoundedWindow> {
   private static final String KEY = "TEST_KEY";
diff --git a/runners/core-java/src/test/java/org/apache/beam/runners/core/SimpleDoFnRunnerTest.java b/runners/core-java/src/test/java/org/apache/beam/runners/core/SimpleDoFnRunnerTest.java
index 51c6e1d83cf..5d065f417fb 100644
--- a/runners/core-java/src/test/java/org/apache/beam/runners/core/SimpleDoFnRunnerTest.java
+++ b/runners/core-java/src/test/java/org/apache/beam/runners/core/SimpleDoFnRunnerTest.java
@@ -67,7 +67,7 @@ import org.mockito.MockitoAnnotations;
 /** Tests for {@link SimpleDoFnRunner}. */
 @RunWith(JUnit4.class)
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
   "unused" // TODO(BEAM-13271): Remove when new version of errorprone is released (2.11.0)
 })
 public class SimpleDoFnRunnerTest {
diff --git a/runners/core-java/src/test/java/org/apache/beam/runners/core/SimplePushbackSideInputDoFnRunnerTest.java b/runners/core-java/src/test/java/org/apache/beam/runners/core/SimplePushbackSideInputDoFnRunnerTest.java
index 8fe3676f128..e2518e75c56 100644
--- a/runners/core-java/src/test/java/org/apache/beam/runners/core/SimplePushbackSideInputDoFnRunnerTest.java
+++ b/runners/core-java/src/test/java/org/apache/beam/runners/core/SimplePushbackSideInputDoFnRunnerTest.java
@@ -78,7 +78,7 @@ import org.mockito.MockitoAnnotations;
 /** Tests for {@link SimplePushbackSideInputDoFnRunner}. */
 @RunWith(JUnit4.class)
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
 })
 public class SimplePushbackSideInputDoFnRunnerTest {
   @Mock StepContext mockStepContext;
diff --git a/runners/core-java/src/test/java/org/apache/beam/runners/core/StatefulDoFnRunnerTest.java b/runners/core-java/src/test/java/org/apache/beam/runners/core/StatefulDoFnRunnerTest.java
index a5c77b86762..7afb1f3f878 100644
--- a/runners/core-java/src/test/java/org/apache/beam/runners/core/StatefulDoFnRunnerTest.java
+++ b/runners/core-java/src/test/java/org/apache/beam/runners/core/StatefulDoFnRunnerTest.java
@@ -62,7 +62,7 @@ import org.mockito.MockitoAnnotations;
 /** Tests for {@link StatefulDoFnRunnerTest}. */
 @RunWith(JUnit4.class)
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
 })
 public class StatefulDoFnRunnerTest {
 
diff --git a/runners/core-java/src/test/java/org/apache/beam/runners/core/metrics/MonitoringInfoTestUtil.java b/runners/core-java/src/test/java/org/apache/beam/runners/core/metrics/MonitoringInfoTestUtil.java
index 66090df32cd..69ebcfbf9da 100644
--- a/runners/core-java/src/test/java/org/apache/beam/runners/core/metrics/MonitoringInfoTestUtil.java
+++ b/runners/core-java/src/test/java/org/apache/beam/runners/core/metrics/MonitoringInfoTestUtil.java
@@ -24,7 +24,7 @@ import org.apache.beam.model.pipeline.v1.MetricsApi.MonitoringInfo;
  * Provides convenient one line factories for unit tests that need to generate test MonitoringInfos.
  */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
 })
 public class MonitoringInfoTestUtil {
   /** @return A basic MonitoringInfoMetricName to test. */
diff --git a/runners/core-java/src/test/java/org/apache/beam/runners/core/triggers/TriggerStateMachineTester.java b/runners/core-java/src/test/java/org/apache/beam/runners/core/triggers/TriggerStateMachineTester.java
index b7e8deb6ace..ab6e6538f8c 100644
--- a/runners/core-java/src/test/java/org/apache/beam/runners/core/triggers/TriggerStateMachineTester.java
+++ b/runners/core-java/src/test/java/org/apache/beam/runners/core/triggers/TriggerStateMachineTester.java
@@ -204,7 +204,7 @@ public class TriggerStateMachineTester<InputT, W extends BoundedWindow> {
   public void advanceInputWatermark(Instant newInputWatermark) throws Exception {
     timerInternals.advanceInputWatermark(newInputWatermark);
     while (timerInternals.removeNextEventTimer() != null) {
-      // TODO: Should test timer firings: see https://issues.apache.org/jira/browse/BEAM-694
+      // TODO: Should test timer firings: see https://github.com/apache/beam/issues/18084
     }
   }
 
@@ -212,11 +212,11 @@ public class TriggerStateMachineTester<InputT, W extends BoundedWindow> {
   public void advanceProcessingTime(Instant newProcessingTime) throws Exception {
     timerInternals.advanceProcessingTime(newProcessingTime);
     while (timerInternals.removeNextProcessingTimer() != null) {
-      // TODO: Should test timer firings: see https://issues.apache.org/jira/browse/BEAM-694
+      // TODO: Should test timer firings: see https://github.com/apache/beam/issues/18084
     }
     timerInternals.advanceSynchronizedProcessingTime(newProcessingTime);
     while (timerInternals.removeNextSynchronizedProcessingTimer() != null) {
-      // TODO: Should test timer firings: see https://issues.apache.org/jira/browse/BEAM-694
+      // TODO: Should test timer firings: see https://github.com/apache/beam/issues/18084
     }
   }
 
diff --git a/runners/direct-java/build.gradle b/runners/direct-java/build.gradle
index 995d1f2fd1f..cd23ec86fbc 100644
--- a/runners/direct-java/build.gradle
+++ b/runners/direct-java/build.gradle
@@ -116,11 +116,11 @@ static def pipelineOptionsStringCrossPlatformHandling(String[] options) {
 }
 
 def sickbayTests = [
-        // https://issues.apache.org/jira/browse/BEAM-2791
+        // https://github.com/apache/beam/issues/18499
         'org.apache.beam.sdk.testing.UsesLoopingTimer',
-        // https://issues.apache.org/jira/browse/BEAM-8035
+        // https://github.com/apache/beam/issues/19734
         'org.apache.beam.sdk.transforms.WatchTest.testMultiplePollsWithManyResults',
-        // https://issues.apache.org/jira/browse/BEAM-6354
+        // https://github.com/apache/beam/issues/19344
         'org.apache.beam.sdk.io.BoundedReadFromUnboundedSourceTest.testTimeBound',
 ]
 
@@ -187,7 +187,7 @@ task validatesRunner(type: Test) {
     excludeCategories 'org.apache.beam.sdk.testing.UsesMetricsPusher'
     excludeCategories "org.apache.beam.sdk.testing.UsesJavaExpansionService"
     excludeCategories "org.apache.beam.sdk.testing.UsesPythonExpansionService"
-    // https://issues.apache.org/jira/browse/BEAM-2791
+    // https://github.com/apache/beam/issues/18499
     excludeCategories 'org.apache.beam.sdk.testing.UsesLoopingTimer'
   }
 }
@@ -207,7 +207,7 @@ tasks.register("validatesRunnerSickbay", Test) {
       includeTestsMatching test
     }
 
-    // https://issues.apache.org/jira/browse/BEAM-4191
+    // https://github.com/apache/beam/issues/18826
     includeTestsMatching 'org.apache.beam.runners.direct.WatermarkManagerTest.updateWatermarkWithDifferentWindowedValueInstances'
   }
 }
diff --git a/runners/direct-java/src/main/java/org/apache/beam/runners/direct/BoundedReadEvaluatorFactory.java b/runners/direct-java/src/main/java/org/apache/beam/runners/direct/BoundedReadEvaluatorFactory.java
index 7b48697ee4b..682e8193ec9 100644
--- a/runners/direct-java/src/main/java/org/apache/beam/runners/direct/BoundedReadEvaluatorFactory.java
+++ b/runners/direct-java/src/main/java/org/apache/beam/runners/direct/BoundedReadEvaluatorFactory.java
@@ -51,8 +51,8 @@ import org.checkerframework.checker.nullness.qual.Nullable;
  * for the {@link PrimitiveBoundedRead SplittableParDo.PrimitiveBoundedRead} {@link PTransform}.
  */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 final class BoundedReadEvaluatorFactory implements TransformEvaluatorFactory {
   /**
diff --git a/runners/direct-java/src/main/java/org/apache/beam/runners/direct/CloningBundleFactory.java b/runners/direct-java/src/main/java/org/apache/beam/runners/direct/CloningBundleFactory.java
index 95b40a50847..c5f2a5d0877 100644
--- a/runners/direct-java/src/main/java/org/apache/beam/runners/direct/CloningBundleFactory.java
+++ b/runners/direct-java/src/main/java/org/apache/beam/runners/direct/CloningBundleFactory.java
@@ -32,7 +32,7 @@ import org.joda.time.Instant;
  * using the coder of the {@link PCollection}.
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 class CloningBundleFactory implements BundleFactory {
   private static final CloningBundleFactory INSTANCE = new CloningBundleFactory();
diff --git a/runners/direct-java/src/main/java/org/apache/beam/runners/direct/CommittedResult.java b/runners/direct-java/src/main/java/org/apache/beam/runners/direct/CommittedResult.java
index b66c93d9699..af0c92d09c5 100644
--- a/runners/direct-java/src/main/java/org/apache/beam/runners/direct/CommittedResult.java
+++ b/runners/direct-java/src/main/java/org/apache/beam/runners/direct/CommittedResult.java
@@ -25,7 +25,7 @@ import org.apache.beam.sdk.runners.AppliedPTransform;
 /** A {@link TransformResult} that has been committed. */
 @AutoValue
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 abstract class CommittedResult<ExecutableT> {
   /** Returns the {@link AppliedPTransform} that produced this result. */
diff --git a/runners/direct-java/src/main/java/org/apache/beam/runners/direct/CompletionCallback.java b/runners/direct-java/src/main/java/org/apache/beam/runners/direct/CompletionCallback.java
index 8ea69ae4899..6550a41a5d9 100644
--- a/runners/direct-java/src/main/java/org/apache/beam/runners/direct/CompletionCallback.java
+++ b/runners/direct-java/src/main/java/org/apache/beam/runners/direct/CompletionCallback.java
@@ -21,7 +21,7 @@ import org.apache.beam.sdk.runners.AppliedPTransform;
 
 /** A callback for completing a bundle of input. */
 @SuppressWarnings({
-  "rawtypes" // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes" // TODO(https://github.com/apache/beam/issues/20447)
 })
 interface CompletionCallback {
   /** Handle a successful result, returning the committed outputs of the result. */
diff --git a/runners/direct-java/src/main/java/org/apache/beam/runners/direct/CopyOnAccessInMemoryStateInternals.java b/runners/direct-java/src/main/java/org/apache/beam/runners/direct/CopyOnAccessInMemoryStateInternals.java
index 81637b14865..a4cb73f3364 100644
--- a/runners/direct-java/src/main/java/org/apache/beam/runners/direct/CopyOnAccessInMemoryStateInternals.java
+++ b/runners/direct-java/src/main/java/org/apache/beam/runners/direct/CopyOnAccessInMemoryStateInternals.java
@@ -63,8 +63,8 @@ import org.joda.time.Instant;
  * accessed, an independent copy will be created within this table.
  */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 class CopyOnAccessInMemoryStateInternals<K> implements StateInternals {
   private final CopyOnAccessInMemoryStateTable table;
diff --git a/runners/direct-java/src/main/java/org/apache/beam/runners/direct/CreateViewNoopEvaluatorFactory.java b/runners/direct-java/src/main/java/org/apache/beam/runners/direct/CreateViewNoopEvaluatorFactory.java
index 5018ccb0c92..fe1389cb89c 100644
--- a/runners/direct-java/src/main/java/org/apache/beam/runners/direct/CreateViewNoopEvaluatorFactory.java
+++ b/runners/direct-java/src/main/java/org/apache/beam/runners/direct/CreateViewNoopEvaluatorFactory.java
@@ -35,12 +35,12 @@ import org.checkerframework.checker.nullness.qual.Nullable;
  * org.apache.beam.sdk.transforms.View.CreatePCollectionView} it will remain in the expansion for
  * side input producing transforms.
  *
- * <p>See https://issues.apache.org/jira/browse/BEAM-11049
+ * <p>See https://github.com/apache/beam/issues/20590
  */
-// TODO(https://issues.apache.org/jira/browse/BEAM-11049): remove this when CreatePCollectionView is
+// TODO(https://github.com/apache/beam/issues/20590): remove this when CreatePCollectionView is
 // finally removed
 @SuppressWarnings({
-  "rawtypes" // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes" // TODO(https://github.com/apache/beam/issues/20447)
 })
 class CreateViewNoopEvaluatorFactory implements TransformEvaluatorFactory {
   @Override
diff --git a/runners/direct-java/src/main/java/org/apache/beam/runners/direct/DirectExecutionContext.java b/runners/direct-java/src/main/java/org/apache/beam/runners/direct/DirectExecutionContext.java
index a3472ed15c3..249934c4308 100644
--- a/runners/direct-java/src/main/java/org/apache/beam/runners/direct/DirectExecutionContext.java
+++ b/runners/direct-java/src/main/java/org/apache/beam/runners/direct/DirectExecutionContext.java
@@ -36,8 +36,8 @@ import org.apache.beam.sdk.transforms.DoFn.BundleFinalizer;
  * for each thread that requires it.
  */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 class DirectExecutionContext {
 
diff --git a/runners/direct-java/src/main/java/org/apache/beam/runners/direct/DirectGraph.java b/runners/direct-java/src/main/java/org/apache/beam/runners/direct/DirectGraph.java
index 94262861075..acaed7773dd 100644
--- a/runners/direct-java/src/main/java/org/apache/beam/runners/direct/DirectGraph.java
+++ b/runners/direct-java/src/main/java/org/apache/beam/runners/direct/DirectGraph.java
@@ -34,7 +34,7 @@ import org.apache.beam.vendor.guava.v26_0_jre.com.google.common.collect.ListMult
  * Methods for interacting with the underlying structure of a {@link Pipeline} that is being
  * executed with the {@link DirectRunner}.
  */
-@SuppressWarnings({"keyfor", "nullness"}) // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+@SuppressWarnings({"keyfor", "nullness"}) // TODO(https://github.com/apache/beam/issues/20497)
 class DirectGraph implements ExecutableGraph<AppliedPTransform<?, ?, ?>, PValue> {
   private final Map<PCollection<?>, AppliedPTransform<?, ?, ?>> producers;
   private final Map<PCollectionView<?>, AppliedPTransform<?, ?, ?>> viewWriters;
diff --git a/runners/direct-java/src/main/java/org/apache/beam/runners/direct/DirectGraphVisitor.java b/runners/direct-java/src/main/java/org/apache/beam/runners/direct/DirectGraphVisitor.java
index 247738ffc54..37edb835dd0 100644
--- a/runners/direct-java/src/main/java/org/apache/beam/runners/direct/DirectGraphVisitor.java
+++ b/runners/direct-java/src/main/java/org/apache/beam/runners/direct/DirectGraphVisitor.java
@@ -48,7 +48,7 @@ import org.slf4j.LoggerFactory;
  * input after the upstream transform has produced and committed output.
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 class DirectGraphVisitor extends PipelineVisitor.Defaults {
   private static final Logger LOG = LoggerFactory.getLogger(DirectGraphVisitor.class);
@@ -138,7 +138,7 @@ class DirectGraphVisitor extends PipelineVisitor.Defaults {
 
   private AppliedPTransform<?, ?, ?> getAppliedTransform(TransformHierarchy.Node node) {
     @SuppressWarnings({
-      "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+      "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
       "unchecked"
     })
     AppliedPTransform<?, ?, ?> application = node.toAppliedPTransform(getPipeline());
diff --git a/runners/direct-java/src/main/java/org/apache/beam/runners/direct/DirectMetrics.java b/runners/direct-java/src/main/java/org/apache/beam/runners/direct/DirectMetrics.java
index ff4606cf7c6..b00212e21e7 100644
--- a/runners/direct-java/src/main/java/org/apache/beam/runners/direct/DirectMetrics.java
+++ b/runners/direct-java/src/main/java/org/apache/beam/runners/direct/DirectMetrics.java
@@ -46,7 +46,7 @@ import org.checkerframework.checker.nullness.qual.Nullable;
 
 /** Implementation of {@link MetricResults} for the Direct Runner. */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 class DirectMetrics extends MetricResults {
 
diff --git a/runners/direct-java/src/main/java/org/apache/beam/runners/direct/DirectRunner.java b/runners/direct-java/src/main/java/org/apache/beam/runners/direct/DirectRunner.java
index 4e7178bf01d..3afe7b99113 100644
--- a/runners/direct-java/src/main/java/org/apache/beam/runners/direct/DirectRunner.java
+++ b/runners/direct-java/src/main/java/org/apache/beam/runners/direct/DirectRunner.java
@@ -65,7 +65,7 @@ import org.joda.time.Duration;
  * the ability to execute a {@link Pipeline} at scale on a distributed backend.
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class DirectRunner extends PipelineRunner<DirectPipelineResult> {
 
diff --git a/runners/direct-java/src/main/java/org/apache/beam/runners/direct/DirectTimerInternals.java b/runners/direct-java/src/main/java/org/apache/beam/runners/direct/DirectTimerInternals.java
index b5a1247f169..1cca631e07a 100644
--- a/runners/direct-java/src/main/java/org/apache/beam/runners/direct/DirectTimerInternals.java
+++ b/runners/direct-java/src/main/java/org/apache/beam/runners/direct/DirectTimerInternals.java
@@ -33,7 +33,7 @@ import org.joda.time.Instant;
 
 /** An implementation of {@link TimerInternals} where all relevant data exists in memory. */
 @SuppressWarnings({
-  "rawtypes" // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes" // TODO(https://github.com/apache/beam/issues/20447)
 })
 class DirectTimerInternals implements TimerInternals {
   private final Clock processingTimeClock;
diff --git a/runners/direct-java/src/main/java/org/apache/beam/runners/direct/DirectTransformExecutor.java b/runners/direct-java/src/main/java/org/apache/beam/runners/direct/DirectTransformExecutor.java
index 4c498686651..7515f7c294a 100644
--- a/runners/direct-java/src/main/java/org/apache/beam/runners/direct/DirectTransformExecutor.java
+++ b/runners/direct-java/src/main/java/org/apache/beam/runners/direct/DirectTransformExecutor.java
@@ -41,7 +41,7 @@ import org.slf4j.LoggerFactory;
  * using a registered {@link CompletionCallback}.
  */
 @SuppressWarnings({
-  "rawtypes" // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes" // TODO(https://github.com/apache/beam/issues/20447)
 })
 class DirectTransformExecutor<T> implements TransformExecutor {
   private static final Logger LOG = LoggerFactory.getLogger(DirectTransformExecutor.class);
diff --git a/runners/direct-java/src/main/java/org/apache/beam/runners/direct/DirectWriteViewVisitor.java b/runners/direct-java/src/main/java/org/apache/beam/runners/direct/DirectWriteViewVisitor.java
index d0e0fa9f401..4afa3f76356 100644
--- a/runners/direct-java/src/main/java/org/apache/beam/runners/direct/DirectWriteViewVisitor.java
+++ b/runners/direct-java/src/main/java/org/apache/beam/runners/direct/DirectWriteViewVisitor.java
@@ -37,7 +37,7 @@ import org.apache.beam.sdk.values.PCollectionView;
  * scheduling materialization of side inputs.
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 class DirectWriteViewVisitor extends PipelineVisitor.Defaults {
 
diff --git a/runners/direct-java/src/main/java/org/apache/beam/runners/direct/DisplayDataValidator.java b/runners/direct-java/src/main/java/org/apache/beam/runners/direct/DisplayDataValidator.java
index 90f2e54802a..69bb98bf8ba 100644
--- a/runners/direct-java/src/main/java/org/apache/beam/runners/direct/DisplayDataValidator.java
+++ b/runners/direct-java/src/main/java/org/apache/beam/runners/direct/DisplayDataValidator.java
@@ -28,7 +28,7 @@ import org.apache.beam.sdk.transforms.display.HasDisplayData;
  * HasDisplayData#populateDisplayData(DisplayData.Builder)} during pipeline construction.
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 class DisplayDataValidator {
   // Do not instantiate
diff --git a/runners/direct-java/src/main/java/org/apache/beam/runners/direct/EvaluationContext.java b/runners/direct-java/src/main/java/org/apache/beam/runners/direct/EvaluationContext.java
index 06a9ee3fb5a..ebd01046508 100644
--- a/runners/direct-java/src/main/java/org/apache/beam/runners/direct/EvaluationContext.java
+++ b/runners/direct-java/src/main/java/org/apache/beam/runners/direct/EvaluationContext.java
@@ -72,10 +72,10 @@ import org.slf4j.LoggerFactory;
  * executed.
  */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
   "keyfor",
   "nullness"
-}) // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+}) // TODO(https://github.com/apache/beam/issues/20497)
 class EvaluationContext {
   private static final Logger LOG = LoggerFactory.getLogger(EvaluationContext.class);
 
diff --git a/runners/direct-java/src/main/java/org/apache/beam/runners/direct/ExecutorServiceParallelExecutor.java b/runners/direct-java/src/main/java/org/apache/beam/runners/direct/ExecutorServiceParallelExecutor.java
index 44f29748ca5..0840b1c51e4 100644
--- a/runners/direct-java/src/main/java/org/apache/beam/runners/direct/ExecutorServiceParallelExecutor.java
+++ b/runners/direct-java/src/main/java/org/apache/beam/runners/direct/ExecutorServiceParallelExecutor.java
@@ -58,7 +58,7 @@ import org.slf4j.LoggerFactory;
  * EvaluationContext} to execute a {@link Pipeline}.
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 final class ExecutorServiceParallelExecutor
     implements PipelineExecutor,
diff --git a/runners/direct-java/src/main/java/org/apache/beam/runners/direct/GroupAlsoByWindowEvaluatorFactory.java b/runners/direct-java/src/main/java/org/apache/beam/runners/direct/GroupAlsoByWindowEvaluatorFactory.java
index 600d28c9592..e3c1aaf64d4 100644
--- a/runners/direct-java/src/main/java/org/apache/beam/runners/direct/GroupAlsoByWindowEvaluatorFactory.java
+++ b/runners/direct-java/src/main/java/org/apache/beam/runners/direct/GroupAlsoByWindowEvaluatorFactory.java
@@ -59,10 +59,10 @@ import org.joda.time.Instant;
  * DirectGroupAlsoByWindow} {@link PTransform}.
  */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
   "keyfor",
   "nullness"
-}) // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+}) // TODO(https://github.com/apache/beam/issues/20497)
 class GroupAlsoByWindowEvaluatorFactory implements TransformEvaluatorFactory {
   private final EvaluationContext evaluationContext;
   private final PipelineOptions options;
diff --git a/runners/direct-java/src/main/java/org/apache/beam/runners/direct/GroupByKeyOnlyEvaluatorFactory.java b/runners/direct-java/src/main/java/org/apache/beam/runners/direct/GroupByKeyOnlyEvaluatorFactory.java
index ab163b5d179..882cf6eb05d 100644
--- a/runners/direct-java/src/main/java/org/apache/beam/runners/direct/GroupByKeyOnlyEvaluatorFactory.java
+++ b/runners/direct-java/src/main/java/org/apache/beam/runners/direct/GroupByKeyOnlyEvaluatorFactory.java
@@ -43,8 +43,8 @@ import org.apache.beam.vendor.guava.v26_0_jre.com.google.common.collect.Iterable
  * PTransform}.
  */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 class GroupByKeyOnlyEvaluatorFactory implements TransformEvaluatorFactory {
   private final EvaluationContext evaluationContext;
diff --git a/runners/direct-java/src/main/java/org/apache/beam/runners/direct/ImmutabilityCheckingBundleFactory.java b/runners/direct-java/src/main/java/org/apache/beam/runners/direct/ImmutabilityCheckingBundleFactory.java
index 695f6e0a882..13ae9c985c4 100644
--- a/runners/direct-java/src/main/java/org/apache/beam/runners/direct/ImmutabilityCheckingBundleFactory.java
+++ b/runners/direct-java/src/main/java/org/apache/beam/runners/direct/ImmutabilityCheckingBundleFactory.java
@@ -44,7 +44,7 @@ import org.joda.time.Instant;
  * after it is added to an output {@link PCollection}.
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 class ImmutabilityCheckingBundleFactory implements BundleFactory {
   /**
diff --git a/runners/direct-java/src/main/java/org/apache/beam/runners/direct/ImmutabilityEnforcementFactory.java b/runners/direct-java/src/main/java/org/apache/beam/runners/direct/ImmutabilityEnforcementFactory.java
index cda6008c81c..bc7fc2867e7 100644
--- a/runners/direct-java/src/main/java/org/apache/beam/runners/direct/ImmutabilityEnforcementFactory.java
+++ b/runners/direct-java/src/main/java/org/apache/beam/runners/direct/ImmutabilityEnforcementFactory.java
@@ -36,8 +36,8 @@ import org.apache.beam.sdk.util.WindowedValue;
  * element.
  */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 class ImmutabilityEnforcementFactory implements ModelEnforcementFactory {
   public static ModelEnforcementFactory create() {
diff --git a/runners/direct-java/src/main/java/org/apache/beam/runners/direct/ImmutableListBundleFactory.java b/runners/direct-java/src/main/java/org/apache/beam/runners/direct/ImmutableListBundleFactory.java
index 1125b73931f..d2af98a087c 100644
--- a/runners/direct-java/src/main/java/org/apache/beam/runners/direct/ImmutableListBundleFactory.java
+++ b/runners/direct-java/src/main/java/org/apache/beam/runners/direct/ImmutableListBundleFactory.java
@@ -34,7 +34,7 @@ import org.joda.time.Instant;
 
 /** A factory that produces bundles that perform no additional validation. */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 class ImmutableListBundleFactory implements BundleFactory {
   private static final ImmutableListBundleFactory FACTORY = new ImmutableListBundleFactory();
diff --git a/runners/direct-java/src/main/java/org/apache/beam/runners/direct/KeyedPValueTrackingVisitor.java b/runners/direct-java/src/main/java/org/apache/beam/runners/direct/KeyedPValueTrackingVisitor.java
index 0684ad12fb9..c8ee392fa15 100644
--- a/runners/direct-java/src/main/java/org/apache/beam/runners/direct/KeyedPValueTrackingVisitor.java
+++ b/runners/direct-java/src/main/java/org/apache/beam/runners/direct/KeyedPValueTrackingVisitor.java
@@ -46,8 +46,8 @@ import org.apache.beam.vendor.guava.v26_0_jre.com.google.common.collect.Immutabl
 // TODO: Handle Key-preserving transforms when appropriate and more aggressively make PTransforms
 // unkeyed
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 class KeyedPValueTrackingVisitor extends PipelineVisitor.Defaults {
 
diff --git a/runners/direct-java/src/main/java/org/apache/beam/runners/direct/MultiStepCombine.java b/runners/direct-java/src/main/java/org/apache/beam/runners/direct/MultiStepCombine.java
index 00e828ea341..b526fa65f62 100644
--- a/runners/direct-java/src/main/java/org/apache/beam/runners/direct/MultiStepCombine.java
+++ b/runners/direct-java/src/main/java/org/apache/beam/runners/direct/MultiStepCombine.java
@@ -64,8 +64,8 @@ import org.joda.time.Instant;
 
 /** A {@link Combine} that performs the combine in multiple steps. */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 class MultiStepCombine<
         K extends @Nullable Object,
diff --git a/runners/direct-java/src/main/java/org/apache/beam/runners/direct/ParDoEvaluator.java b/runners/direct-java/src/main/java/org/apache/beam/runners/direct/ParDoEvaluator.java
index 66656f215fd..49c2cb05db5 100644
--- a/runners/direct-java/src/main/java/org/apache/beam/runners/direct/ParDoEvaluator.java
+++ b/runners/direct-java/src/main/java/org/apache/beam/runners/direct/ParDoEvaluator.java
@@ -50,8 +50,8 @@ import org.apache.beam.sdk.values.WindowingStrategy;
 import org.apache.beam.vendor.guava.v26_0_jre.com.google.common.collect.ImmutableList;
 
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 class ParDoEvaluator<InputT> implements TransformEvaluator<InputT> {
 
diff --git a/runners/direct-java/src/main/java/org/apache/beam/runners/direct/ParDoEvaluatorFactory.java b/runners/direct-java/src/main/java/org/apache/beam/runners/direct/ParDoEvaluatorFactory.java
index 1ae6c07457d..84fc129d793 100644
--- a/runners/direct-java/src/main/java/org/apache/beam/runners/direct/ParDoEvaluatorFactory.java
+++ b/runners/direct-java/src/main/java/org/apache/beam/runners/direct/ParDoEvaluatorFactory.java
@@ -40,7 +40,7 @@ import org.slf4j.LoggerFactory;
 
 /** A {@link TransformEvaluatorFactory} for {@link ParDo.MultiOutput}. */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 final class ParDoEvaluatorFactory<InputT, OutputT> implements TransformEvaluatorFactory {
 
diff --git a/runners/direct-java/src/main/java/org/apache/beam/runners/direct/ParDoMultiOverrideFactory.java b/runners/direct-java/src/main/java/org/apache/beam/runners/direct/ParDoMultiOverrideFactory.java
index a0b715e6077..27ba955e588 100644
--- a/runners/direct-java/src/main/java/org/apache/beam/runners/direct/ParDoMultiOverrideFactory.java
+++ b/runners/direct-java/src/main/java/org/apache/beam/runners/direct/ParDoMultiOverrideFactory.java
@@ -66,7 +66,7 @@ import org.apache.beam.vendor.guava.v26_0_jre.com.google.common.annotations.Visi
  */
 @VisibleForTesting
 @SuppressWarnings({
-  "rawtypes" // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes" // TODO(https://github.com/apache/beam/issues/20447)
 })
 public class ParDoMultiOverrideFactory<InputT, OutputT>
     implements PTransformOverrideFactory<
diff --git a/runners/direct-java/src/main/java/org/apache/beam/runners/direct/QuiescenceDriver.java b/runners/direct-java/src/main/java/org/apache/beam/runners/direct/QuiescenceDriver.java
index c6833b3fdf9..62e0cf169da 100644
--- a/runners/direct-java/src/main/java/org/apache/beam/runners/direct/QuiescenceDriver.java
+++ b/runners/direct-java/src/main/java/org/apache/beam/runners/direct/QuiescenceDriver.java
@@ -47,10 +47,10 @@ import org.slf4j.LoggerFactory;
  * quiesced.
  */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
   "keyfor",
   "nullness"
-}) // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+}) // TODO(https://github.com/apache/beam/issues/20497)
 class QuiescenceDriver implements ExecutionDriver {
   private static final Logger LOG = LoggerFactory.getLogger(QuiescenceDriver.class);
 
diff --git a/runners/direct-java/src/main/java/org/apache/beam/runners/direct/RootProviderRegistry.java b/runners/direct-java/src/main/java/org/apache/beam/runners/direct/RootProviderRegistry.java
index 6b4a9f3a285..253c1bac0df 100644
--- a/runners/direct-java/src/main/java/org/apache/beam/runners/direct/RootProviderRegistry.java
+++ b/runners/direct-java/src/main/java/org/apache/beam/runners/direct/RootProviderRegistry.java
@@ -36,8 +36,8 @@ import org.apache.beam.vendor.guava.v26_0_jre.com.google.common.collect.Immutabl
  * based on the type of {@link PTransform} of the application.
  */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 class RootProviderRegistry {
   /** Returns a {@link RootProviderRegistry} that supports the Java SDK root transforms. */
diff --git a/runners/direct-java/src/main/java/org/apache/beam/runners/direct/SideInputContainer.java b/runners/direct-java/src/main/java/org/apache/beam/runners/direct/SideInputContainer.java
index 3914bafd601..54734216c30 100644
--- a/runners/direct-java/src/main/java/org/apache/beam/runners/direct/SideInputContainer.java
+++ b/runners/direct-java/src/main/java/org/apache/beam/runners/direct/SideInputContainer.java
@@ -57,8 +57,8 @@ import org.checkerframework.checker.nullness.qual.Nullable;
  * and writing to a {@link PCollectionView}.
  */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 class SideInputContainer {
   private static final Set<String> SUPPORTED_MATERIALIZATIONS =
diff --git a/runners/direct-java/src/main/java/org/apache/beam/runners/direct/SplittableProcessElementsEvaluatorFactory.java b/runners/direct-java/src/main/java/org/apache/beam/runners/direct/SplittableProcessElementsEvaluatorFactory.java
index 27b6e5a5f0f..f0471b0d8d8 100644
--- a/runners/direct-java/src/main/java/org/apache/beam/runners/direct/SplittableProcessElementsEvaluatorFactory.java
+++ b/runners/direct-java/src/main/java/org/apache/beam/runners/direct/SplittableProcessElementsEvaluatorFactory.java
@@ -48,7 +48,7 @@ import org.joda.time.Duration;
 import org.joda.time.Instant;
 
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 class SplittableProcessElementsEvaluatorFactory<
         InputT, OutputT, RestrictionT, PositionT, WatermarkEstimatorStateT>
diff --git a/runners/direct-java/src/main/java/org/apache/beam/runners/direct/StatefulParDoEvaluatorFactory.java b/runners/direct-java/src/main/java/org/apache/beam/runners/direct/StatefulParDoEvaluatorFactory.java
index 054b22d7d7b..e00a2b7ee9a 100644
--- a/runners/direct-java/src/main/java/org/apache/beam/runners/direct/StatefulParDoEvaluatorFactory.java
+++ b/runners/direct-java/src/main/java/org/apache/beam/runners/direct/StatefulParDoEvaluatorFactory.java
@@ -47,8 +47,8 @@ import org.joda.time.Instant;
 
 /** A {@link TransformEvaluatorFactory} for stateful {@link ParDo}. */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 final class StatefulParDoEvaluatorFactory<K, InputT, OutputT> implements TransformEvaluatorFactory {
 
diff --git a/runners/direct-java/src/main/java/org/apache/beam/runners/direct/StepTransformResult.java b/runners/direct-java/src/main/java/org/apache/beam/runners/direct/StepTransformResult.java
index 49ad4af061a..9a58e2d856f 100644
--- a/runners/direct-java/src/main/java/org/apache/beam/runners/direct/StepTransformResult.java
+++ b/runners/direct-java/src/main/java/org/apache/beam/runners/direct/StepTransformResult.java
@@ -39,8 +39,8 @@ import org.joda.time.Instant;
 @AutoValue
 @AutoValue.CopyAnnotations
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 abstract class StepTransformResult<InputT> implements TransformResult<InputT> {
 
diff --git a/runners/direct-java/src/main/java/org/apache/beam/runners/direct/TestStreamEvaluatorFactory.java b/runners/direct-java/src/main/java/org/apache/beam/runners/direct/TestStreamEvaluatorFactory.java
index d889a43acd3..827ae47b14e 100644
--- a/runners/direct-java/src/main/java/org/apache/beam/runners/direct/TestStreamEvaluatorFactory.java
+++ b/runners/direct-java/src/main/java/org/apache/beam/runners/direct/TestStreamEvaluatorFactory.java
@@ -51,8 +51,8 @@ import org.joda.time.Instant;
 
 /** The {@link TransformEvaluatorFactory} for the {@link TestStream} primitive. */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 class TestStreamEvaluatorFactory implements TransformEvaluatorFactory {
   private final EvaluationContext evaluationContext;
diff --git a/runners/direct-java/src/main/java/org/apache/beam/runners/direct/TransformEvaluatorRegistry.java b/runners/direct-java/src/main/java/org/apache/beam/runners/direct/TransformEvaluatorRegistry.java
index 6f750d4bb4d..f3ad7de8758 100644
--- a/runners/direct-java/src/main/java/org/apache/beam/runners/direct/TransformEvaluatorRegistry.java
+++ b/runners/direct-java/src/main/java/org/apache/beam/runners/direct/TransformEvaluatorRegistry.java
@@ -57,8 +57,8 @@ import org.slf4j.LoggerFactory;
  * implementations based on the type of {@link PTransform} of the application.
  */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 class TransformEvaluatorRegistry {
   private static final Logger LOG = LoggerFactory.getLogger(TransformEvaluatorRegistry.class);
diff --git a/runners/direct-java/src/main/java/org/apache/beam/runners/direct/TransformExecutorServices.java b/runners/direct-java/src/main/java/org/apache/beam/runners/direct/TransformExecutorServices.java
index 6aa0dae50f0..abf54df5d59 100644
--- a/runners/direct-java/src/main/java/org/apache/beam/runners/direct/TransformExecutorServices.java
+++ b/runners/direct-java/src/main/java/org/apache/beam/runners/direct/TransformExecutorServices.java
@@ -29,7 +29,7 @@ import org.slf4j.LoggerFactory;
 
 /** Static factory methods for constructing instances of {@link TransformExecutorService}. */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 final class TransformExecutorServices {
   private TransformExecutorServices() {
diff --git a/runners/direct-java/src/main/java/org/apache/beam/runners/direct/TransformResult.java b/runners/direct-java/src/main/java/org/apache/beam/runners/direct/TransformResult.java
index 79f8ae0efd0..7e1a8f61c4b 100644
--- a/runners/direct-java/src/main/java/org/apache/beam/runners/direct/TransformResult.java
+++ b/runners/direct-java/src/main/java/org/apache/beam/runners/direct/TransformResult.java
@@ -38,7 +38,7 @@ import org.joda.time.Instant;
  * there is not necesssarily a defined output type.
  */
 @SuppressWarnings({
-  "rawtypes" // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes" // TODO(https://github.com/apache/beam/issues/20447)
 })
 interface TransformResult<InputT> {
   /**
diff --git a/runners/direct-java/src/main/java/org/apache/beam/runners/direct/UnboundedReadEvaluatorFactory.java b/runners/direct-java/src/main/java/org/apache/beam/runners/direct/UnboundedReadEvaluatorFactory.java
index 63ea9853bee..e413bdd5bfd 100644
--- a/runners/direct-java/src/main/java/org/apache/beam/runners/direct/UnboundedReadEvaluatorFactory.java
+++ b/runners/direct-java/src/main/java/org/apache/beam/runners/direct/UnboundedReadEvaluatorFactory.java
@@ -51,8 +51,8 @@ import org.joda.time.Instant;
  * PTransform}.
  */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 class UnboundedReadEvaluatorFactory implements TransformEvaluatorFactory {
   // Occasionally close an existing reader and resume from checkpoint, to exercise close-and-resume
diff --git a/runners/direct-java/src/main/java/org/apache/beam/runners/direct/ViewEvaluatorFactory.java b/runners/direct-java/src/main/java/org/apache/beam/runners/direct/ViewEvaluatorFactory.java
index ac1dde2c059..4aca03fdd84 100644
--- a/runners/direct-java/src/main/java/org/apache/beam/runners/direct/ViewEvaluatorFactory.java
+++ b/runners/direct-java/src/main/java/org/apache/beam/runners/direct/ViewEvaluatorFactory.java
@@ -31,7 +31,7 @@ import org.apache.beam.vendor.guava.v26_0_jre.com.google.common.collect.Iterable
  * {@link WriteView} step.
  */
 @SuppressWarnings({
-  "rawtypes" // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes" // TODO(https://github.com/apache/beam/issues/20447)
 })
 class ViewEvaluatorFactory implements TransformEvaluatorFactory {
   private final EvaluationContext context;
diff --git a/runners/direct-java/src/main/java/org/apache/beam/runners/direct/WatermarkCallbackExecutor.java b/runners/direct-java/src/main/java/org/apache/beam/runners/direct/WatermarkCallbackExecutor.java
index 0b9c13ed7e7..d2f56d363c9 100644
--- a/runners/direct-java/src/main/java/org/apache/beam/runners/direct/WatermarkCallbackExecutor.java
+++ b/runners/direct-java/src/main/java/org/apache/beam/runners/direct/WatermarkCallbackExecutor.java
@@ -51,7 +51,7 @@ import org.joda.time.Instant;
  * transform with the current value of the watermark.
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 class WatermarkCallbackExecutor {
   /** Create a new {@link WatermarkCallbackExecutor}. */
diff --git a/runners/direct-java/src/main/java/org/apache/beam/runners/direct/WatermarkManager.java b/runners/direct-java/src/main/java/org/apache/beam/runners/direct/WatermarkManager.java
index c7d2304f804..1aded68cfe9 100644
--- a/runners/direct-java/src/main/java/org/apache/beam/runners/direct/WatermarkManager.java
+++ b/runners/direct-java/src/main/java/org/apache/beam/runners/direct/WatermarkManager.java
@@ -130,7 +130,7 @@ import org.joda.time.Instant;
  * </pre>
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 class WatermarkManager<ExecutableT, CollectionT> {
   // The number of updates to apply in #tryApplyPendingUpdates
diff --git a/runners/direct-java/src/main/java/org/apache/beam/runners/direct/WindowEvaluatorFactory.java b/runners/direct-java/src/main/java/org/apache/beam/runners/direct/WindowEvaluatorFactory.java
index eda32accf90..ab4626c426b 100644
--- a/runners/direct-java/src/main/java/org/apache/beam/runners/direct/WindowEvaluatorFactory.java
+++ b/runners/direct-java/src/main/java/org/apache/beam/runners/direct/WindowEvaluatorFactory.java
@@ -34,7 +34,7 @@ import org.joda.time.Instant;
  * The {@link DirectRunner} {@link TransformEvaluatorFactory} for the {@link Window.Assign}
  * primitive {@link PTransform}.
  */
-@SuppressWarnings({"keyfor", "nullness"}) // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+@SuppressWarnings({"keyfor", "nullness"}) // TODO(https://github.com/apache/beam/issues/20497)
 class WindowEvaluatorFactory implements TransformEvaluatorFactory {
   private final EvaluationContext evaluationContext;
 
diff --git a/runners/direct-java/src/test/java/org/apache/beam/runners/direct/BoundedReadEvaluatorFactoryTest.java b/runners/direct-java/src/test/java/org/apache/beam/runners/direct/BoundedReadEvaluatorFactoryTest.java
index 6f91de13c77..55b57eea7ae 100644
--- a/runners/direct-java/src/test/java/org/apache/beam/runners/direct/BoundedReadEvaluatorFactoryTest.java
+++ b/runners/direct-java/src/test/java/org/apache/beam/runners/direct/BoundedReadEvaluatorFactoryTest.java
@@ -71,7 +71,7 @@ import org.mockito.MockitoAnnotations;
 /** Tests for {@link BoundedReadEvaluatorFactory}. */
 @RunWith(JUnit4.class)
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
 })
 public class BoundedReadEvaluatorFactoryTest {
   private BoundedSource<Long> source;
diff --git a/runners/direct-java/src/test/java/org/apache/beam/runners/direct/DirectRunnerTest.java b/runners/direct-java/src/test/java/org/apache/beam/runners/direct/DirectRunnerTest.java
index 9603bda402f..f2e69d8b9e5 100644
--- a/runners/direct-java/src/test/java/org/apache/beam/runners/direct/DirectRunnerTest.java
+++ b/runners/direct-java/src/test/java/org/apache/beam/runners/direct/DirectRunnerTest.java
@@ -107,7 +107,7 @@ import org.junit.runners.JUnit4;
 /** Tests for basic {@link DirectRunner} functionality. */
 @RunWith(JUnit4.class)
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
 })
 public class DirectRunnerTest implements Serializable {
   @Rule public transient ExpectedException thrown = ExpectedException.none();
diff --git a/runners/direct-java/src/test/java/org/apache/beam/runners/direct/DirectTimerInternalsTest.java b/runners/direct-java/src/test/java/org/apache/beam/runners/direct/DirectTimerInternalsTest.java
index cae453e9d1f..b81ca28da07 100644
--- a/runners/direct-java/src/test/java/org/apache/beam/runners/direct/DirectTimerInternalsTest.java
+++ b/runners/direct-java/src/test/java/org/apache/beam/runners/direct/DirectTimerInternalsTest.java
@@ -42,7 +42,7 @@ import org.mockito.MockitoAnnotations;
 /** Tests for {@link DirectTimerInternals}. */
 @RunWith(JUnit4.class)
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
 })
 public class DirectTimerInternalsTest {
   private MockClock clock;
diff --git a/runners/direct-java/src/test/java/org/apache/beam/runners/direct/DirectTransformExecutorTest.java b/runners/direct-java/src/test/java/org/apache/beam/runners/direct/DirectTransformExecutorTest.java
index 9ac18ecdc28..a3d0e4be8f9 100644
--- a/runners/direct-java/src/test/java/org/apache/beam/runners/direct/DirectTransformExecutorTest.java
+++ b/runners/direct-java/src/test/java/org/apache/beam/runners/direct/DirectTransformExecutorTest.java
@@ -59,7 +59,7 @@ import org.mockito.MockitoAnnotations;
 /** Tests for {@link DirectTransformExecutor}. */
 @RunWith(JUnit4.class)
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
 })
 public class DirectTransformExecutorTest {
   @Rule public ExpectedException thrown = ExpectedException.none();
diff --git a/runners/direct-java/src/test/java/org/apache/beam/runners/direct/EvaluationContextTest.java b/runners/direct-java/src/test/java/org/apache/beam/runners/direct/EvaluationContextTest.java
index 5c60fbb64c1..68a2040b74d 100644
--- a/runners/direct-java/src/test/java/org/apache/beam/runners/direct/EvaluationContextTest.java
+++ b/runners/direct-java/src/test/java/org/apache/beam/runners/direct/EvaluationContextTest.java
@@ -79,7 +79,7 @@ import org.junit.runners.JUnit4;
 /** Tests for {@link EvaluationContext}. */
 @RunWith(JUnit4.class)
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
 })
 public class EvaluationContextTest implements Serializable {
   private transient EvaluationContext context;
diff --git a/runners/direct-java/src/test/java/org/apache/beam/runners/direct/ExecutorServiceParallelExecutorTest.java b/runners/direct-java/src/test/java/org/apache/beam/runners/direct/ExecutorServiceParallelExecutorTest.java
index 274550a905b..f5e9388ac89 100644
--- a/runners/direct-java/src/test/java/org/apache/beam/runners/direct/ExecutorServiceParallelExecutorTest.java
+++ b/runners/direct-java/src/test/java/org/apache/beam/runners/direct/ExecutorServiceParallelExecutorTest.java
@@ -56,7 +56,7 @@ public class ExecutorServiceParallelExecutorTest {
   @Rule public final TestName testName = new TestName();
 
   @Test
-  @Ignore("https://issues.apache.org/jira/browse/BEAM-4088 Test reliably fails.")
+  @Ignore("https://github.com/apache/beam/issues/18950 Test reliably fails.")
   public void ensureMetricsThreadDoesntLeak() throws ExecutionException, InterruptedException {
     final DirectGraph graph =
         DirectGraph.create(
@@ -95,7 +95,7 @@ public class ExecutorServiceParallelExecutorTest {
   }
 
   @Test
-  @Ignore("https://issues.apache.org/jira/browse/BEAM-4088 Test reliably fails.")
+  @Ignore("https://github.com/apache/beam/issues/18950 Test reliably fails.")
   public void testNoThreadsLeakInPipelineExecution() {
     pipeline.apply(GenerateSequence.from(0).to(NUM_ELEMENTS)).apply(ParDo.of(new CountingDoFn()));
     pipeline.run();
diff --git a/runners/direct-java/src/test/java/org/apache/beam/runners/direct/StatefulParDoEvaluatorFactoryTest.java b/runners/direct-java/src/test/java/org/apache/beam/runners/direct/StatefulParDoEvaluatorFactoryTest.java
index 30255dcc5fc..0d24db06c62 100644
--- a/runners/direct-java/src/test/java/org/apache/beam/runners/direct/StatefulParDoEvaluatorFactoryTest.java
+++ b/runners/direct-java/src/test/java/org/apache/beam/runners/direct/StatefulParDoEvaluatorFactoryTest.java
@@ -87,7 +87,7 @@ import org.mockito.MockitoAnnotations;
 /** Tests for {@link StatefulParDoEvaluatorFactory}. */
 @RunWith(JUnit4.class)
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
   "unused" // TODO(BEAM-13271): Remove when new version of errorprone is released (2.11.0)
 })
 public class StatefulParDoEvaluatorFactoryTest implements Serializable {
diff --git a/runners/direct-java/src/test/java/org/apache/beam/runners/direct/TestStreamEvaluatorFactoryTest.java b/runners/direct-java/src/test/java/org/apache/beam/runners/direct/TestStreamEvaluatorFactoryTest.java
index ae270182aa2..6c393c6858a 100644
--- a/runners/direct-java/src/test/java/org/apache/beam/runners/direct/TestStreamEvaluatorFactoryTest.java
+++ b/runners/direct-java/src/test/java/org/apache/beam/runners/direct/TestStreamEvaluatorFactoryTest.java
@@ -48,7 +48,7 @@ import org.junit.runners.JUnit4;
 /** Tests for {@link TestStreamEvaluatorFactory}. */
 @RunWith(JUnit4.class)
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
   "keyfor",
 })
 public class TestStreamEvaluatorFactoryTest {
diff --git a/runners/direct-java/src/test/java/org/apache/beam/runners/direct/UnboundedReadEvaluatorFactoryTest.java b/runners/direct-java/src/test/java/org/apache/beam/runners/direct/UnboundedReadEvaluatorFactoryTest.java
index 1adaaab6e4c..a22a829c2fa 100644
--- a/runners/direct-java/src/test/java/org/apache/beam/runners/direct/UnboundedReadEvaluatorFactoryTest.java
+++ b/runners/direct-java/src/test/java/org/apache/beam/runners/direct/UnboundedReadEvaluatorFactoryTest.java
@@ -97,7 +97,7 @@ import org.junit.runners.JUnit4;
 /** Tests for {@link UnboundedReadEvaluatorFactory}. */
 @RunWith(JUnit4.class)
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
   "keyfor",
 })
 public class UnboundedReadEvaluatorFactoryTest {
diff --git a/runners/direct-java/src/test/java/org/apache/beam/runners/direct/WatermarkManagerTest.java b/runners/direct-java/src/test/java/org/apache/beam/runners/direct/WatermarkManagerTest.java
index 0963a9b4317..ca103073cb9 100644
--- a/runners/direct-java/src/test/java/org/apache/beam/runners/direct/WatermarkManagerTest.java
+++ b/runners/direct-java/src/test/java/org/apache/beam/runners/direct/WatermarkManagerTest.java
@@ -88,7 +88,7 @@ import org.mockito.Mockito;
  */
 @RunWith(JUnit4.class)
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
 })
 public class WatermarkManagerTest implements Serializable {
   @Rule public transient ExpectedException thrown = ExpectedException.none();
@@ -785,7 +785,7 @@ public class WatermarkManagerTest implements Serializable {
   }
 
   @Test
-  @Ignore("https://issues.apache.org/jira/browse/BEAM-4191")
+  @Ignore("https://github.com/apache/beam/issues/18826")
   public void updateWatermarkWithDifferentWindowedValueInstances() {
     manager.updateWatermarks(
         null,
diff --git a/runners/extensions-java/metrics/src/main/java/org/apache/beam/runners/extensions/metrics/MetricsGraphiteSink.java b/runners/extensions-java/metrics/src/main/java/org/apache/beam/runners/extensions/metrics/MetricsGraphiteSink.java
index b2f49d23e61..8cd9894a505 100644
--- a/runners/extensions-java/metrics/src/main/java/org/apache/beam/runners/extensions/metrics/MetricsGraphiteSink.java
+++ b/runners/extensions-java/metrics/src/main/java/org/apache/beam/runners/extensions/metrics/MetricsGraphiteSink.java
@@ -41,7 +41,7 @@ import org.apache.beam.sdk.metrics.MetricsSink;
  * beam.distribution.throughput.nbRecordsPerSec.attempted.mean}
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class MetricsGraphiteSink implements MetricsSink {
   private static final Charset UTF_8 = Charset.forName("UTF-8");
diff --git a/runners/extensions-java/metrics/src/main/java/org/apache/beam/runners/extensions/metrics/MetricsHttpSink.java b/runners/extensions-java/metrics/src/main/java/org/apache/beam/runners/extensions/metrics/MetricsHttpSink.java
index a97cedf10f7..1cc6c9c5050 100644
--- a/runners/extensions-java/metrics/src/main/java/org/apache/beam/runners/extensions/metrics/MetricsHttpSink.java
+++ b/runners/extensions-java/metrics/src/main/java/org/apache/beam/runners/extensions/metrics/MetricsHttpSink.java
@@ -42,8 +42,8 @@ import org.apache.beam.sdk.metrics.MetricsSink;
 
 /** HTTP Sink to push metrics in a POST HTTP request. */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class MetricsHttpSink implements MetricsSink {
   private final String urlString;
diff --git a/runners/flink/flink_runner.gradle b/runners/flink/flink_runner.gradle
index fde66993981..7d44c44d416 100644
--- a/runners/flink/flink_runner.gradle
+++ b/runners/flink/flink_runner.gradle
@@ -290,11 +290,11 @@ def createValidatesRunnerTask(Map m) {
           excludeTestsMatching test
         }
 
-        // https://issues.apache.org/jira/browse/BEAM-12039
+        // https://github.com/apache/beam/issues/20843
         excludeTestsMatching 'org.apache.beam.sdk.testing.TestStreamTest.testDiscardingMode'
-        // https://issues.apache.org/jira/browse/BEAM-12037
+        // https://github.com/apache/beam/issues/20845
         excludeTestsMatching 'org.apache.beam.sdk.testing.TestStreamTest.testFirstElementLate'
-        // https://issues.apache.org/jira/browse/BEAM-12038
+        // https://github.com/apache/beam/issues/20844
         excludeTestsMatching 'org.apache.beam.sdk.testing.TestStreamTest.testLateDataAccumulating'
       }
     }
diff --git a/runners/flink/src/main/java/org/apache/beam/runners/flink/CreateStreamingFlinkView.java b/runners/flink/src/main/java/org/apache/beam/runners/flink/CreateStreamingFlinkView.java
index 7920fa4dc78..eae54b886f1 100644
--- a/runners/flink/src/main/java/org/apache/beam/runners/flink/CreateStreamingFlinkView.java
+++ b/runners/flink/src/main/java/org/apache/beam/runners/flink/CreateStreamingFlinkView.java
@@ -34,7 +34,7 @@ import org.apache.beam.vendor.guava.v26_0_jre.com.google.common.collect.Iterable
 
 /** Flink streaming overrides for various view (side input) transforms. */
 @SuppressWarnings({
-  "rawtypes" // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes" // TODO(https://github.com/apache/beam/issues/20447)
 })
 class CreateStreamingFlinkView<ElemT, ViewT>
     extends PTransform<PCollection<ElemT>, PCollection<ElemT>> {
diff --git a/runners/flink/src/main/java/org/apache/beam/runners/flink/FlinkBatchPipelineTranslator.java b/runners/flink/src/main/java/org/apache/beam/runners/flink/FlinkBatchPipelineTranslator.java
index 4d8740407ff..df3732770cb 100644
--- a/runners/flink/src/main/java/org/apache/beam/runners/flink/FlinkBatchPipelineTranslator.java
+++ b/runners/flink/src/main/java/org/apache/beam/runners/flink/FlinkBatchPipelineTranslator.java
@@ -31,8 +31,8 @@ import org.slf4j.LoggerFactory;
 
 /** {@link Pipeline.PipelineVisitor} for executing a {@link Pipeline} as a Flink batch job. */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 class FlinkBatchPipelineTranslator extends FlinkPipelineTranslator {
 
diff --git a/runners/flink/src/main/java/org/apache/beam/runners/flink/FlinkBatchPortablePipelineTranslator.java b/runners/flink/src/main/java/org/apache/beam/runners/flink/FlinkBatchPortablePipelineTranslator.java
index 6f1bfd1a98c..2670f834b24 100644
--- a/runners/flink/src/main/java/org/apache/beam/runners/flink/FlinkBatchPortablePipelineTranslator.java
+++ b/runners/flink/src/main/java/org/apache/beam/runners/flink/FlinkBatchPortablePipelineTranslator.java
@@ -112,10 +112,10 @@ import org.checkerframework.checker.nullness.qual.Nullable;
  * full not-yet-executed pipeline DAG corresponding to the input pipeline.
  */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
   "keyfor",
   "nullness"
-}) // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+}) // TODO(https://github.com/apache/beam/issues/20497)
 public class FlinkBatchPortablePipelineTranslator
     implements FlinkPortablePipelineTranslator<
         FlinkBatchPortablePipelineTranslator.BatchTranslationContext> {
diff --git a/runners/flink/src/main/java/org/apache/beam/runners/flink/FlinkBatchTransformTranslators.java b/runners/flink/src/main/java/org/apache/beam/runners/flink/FlinkBatchTransformTranslators.java
index af5259eb33f..de2a567965b 100644
--- a/runners/flink/src/main/java/org/apache/beam/runners/flink/FlinkBatchTransformTranslators.java
+++ b/runners/flink/src/main/java/org/apache/beam/runners/flink/FlinkBatchTransformTranslators.java
@@ -103,8 +103,8 @@ import org.joda.time.Instant;
  * Translators for transforming {@link PTransform PTransforms} to Flink {@link DataSet DataSets}.
  */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 class FlinkBatchTransformTranslators {
 
diff --git a/runners/flink/src/main/java/org/apache/beam/runners/flink/FlinkBatchTranslationContext.java b/runners/flink/src/main/java/org/apache/beam/runners/flink/FlinkBatchTranslationContext.java
index 7f2686dee72..952546251c7 100644
--- a/runners/flink/src/main/java/org/apache/beam/runners/flink/FlinkBatchTranslationContext.java
+++ b/runners/flink/src/main/java/org/apache/beam/runners/flink/FlinkBatchTranslationContext.java
@@ -42,7 +42,7 @@ import org.apache.flink.api.java.ExecutionEnvironment;
  * FlinkBatchTransformTranslators}.
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 class FlinkBatchTranslationContext {
 
diff --git a/runners/flink/src/main/java/org/apache/beam/runners/flink/FlinkExecutionEnvironments.java b/runners/flink/src/main/java/org/apache/beam/runners/flink/FlinkExecutionEnvironments.java
index 7cd08bdb280..45c87133c5d 100644
--- a/runners/flink/src/main/java/org/apache/beam/runners/flink/FlinkExecutionEnvironments.java
+++ b/runners/flink/src/main/java/org/apache/beam/runners/flink/FlinkExecutionEnvironments.java
@@ -53,7 +53,7 @@ import org.slf4j.LoggerFactory;
 
 /** Utilities for Flink execution environments. */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class FlinkExecutionEnvironments {
 
@@ -399,7 +399,7 @@ public class FlinkExecutionEnvironments {
 
   /**
    * Disables classloader.check-leaked-classloader unless set by the user. See
-   * https://issues.apache.org/jira/browse/BEAM-11570.
+   * https://github.com/apache/beam/issues/20783.
    */
   private static void disableClassLoaderLeakCheck(final Configuration config) {
     if (!config.containsKey("classloader.check-leaked-classloader")) {
diff --git a/runners/flink/src/main/java/org/apache/beam/runners/flink/FlinkJobInvoker.java b/runners/flink/src/main/java/org/apache/beam/runners/flink/FlinkJobInvoker.java
index 812ff6ca0c0..7e3b3e3a661 100644
--- a/runners/flink/src/main/java/org/apache/beam/runners/flink/FlinkJobInvoker.java
+++ b/runners/flink/src/main/java/org/apache/beam/runners/flink/FlinkJobInvoker.java
@@ -37,7 +37,7 @@ import org.slf4j.LoggerFactory;
 
 /** Job Invoker for the {@link FlinkRunner}. */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class FlinkJobInvoker extends JobInvoker {
   private static final Logger LOG = LoggerFactory.getLogger(FlinkJobInvoker.class);
diff --git a/runners/flink/src/main/java/org/apache/beam/runners/flink/FlinkJobServerDriver.java b/runners/flink/src/main/java/org/apache/beam/runners/flink/FlinkJobServerDriver.java
index 1c3781d636c..671cc2597cb 100644
--- a/runners/flink/src/main/java/org/apache/beam/runners/flink/FlinkJobServerDriver.java
+++ b/runners/flink/src/main/java/org/apache/beam/runners/flink/FlinkJobServerDriver.java
@@ -32,7 +32,7 @@ import org.slf4j.LoggerFactory;
 
 /** Driver program that starts a job server for the Flink runner. */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class FlinkJobServerDriver extends JobServerDriver {
 
diff --git a/runners/flink/src/main/java/org/apache/beam/runners/flink/FlinkPipelineExecutionEnvironment.java b/runners/flink/src/main/java/org/apache/beam/runners/flink/FlinkPipelineExecutionEnvironment.java
index d6fd5b95e8b..07bb3e9d661 100644
--- a/runners/flink/src/main/java/org/apache/beam/runners/flink/FlinkPipelineExecutionEnvironment.java
+++ b/runners/flink/src/main/java/org/apache/beam/runners/flink/FlinkPipelineExecutionEnvironment.java
@@ -39,7 +39,7 @@ import org.slf4j.LoggerFactory;
  * (translated) job.
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 class FlinkPipelineExecutionEnvironment {
 
diff --git a/runners/flink/src/main/java/org/apache/beam/runners/flink/FlinkPipelineRunner.java b/runners/flink/src/main/java/org/apache/beam/runners/flink/FlinkPipelineRunner.java
index 9748acbe953..4a07a74f029 100644
--- a/runners/flink/src/main/java/org/apache/beam/runners/flink/FlinkPipelineRunner.java
+++ b/runners/flink/src/main/java/org/apache/beam/runners/flink/FlinkPipelineRunner.java
@@ -55,7 +55,7 @@ import org.slf4j.LoggerFactory;
 
 /** Runs a Pipeline on Flink via {@link FlinkRunner}. */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class FlinkPipelineRunner implements PortablePipelineRunner {
   private static final Logger LOG = LoggerFactory.getLogger(FlinkPipelineRunner.class);
diff --git a/runners/flink/src/main/java/org/apache/beam/runners/flink/FlinkPortableClientEntryPoint.java b/runners/flink/src/main/java/org/apache/beam/runners/flink/FlinkPortableClientEntryPoint.java
index 296e1459083..923ee5dda09 100644
--- a/runners/flink/src/main/java/org/apache/beam/runners/flink/FlinkPortableClientEntryPoint.java
+++ b/runners/flink/src/main/java/org/apache/beam/runners/flink/FlinkPortableClientEntryPoint.java
@@ -68,7 +68,7 @@ import org.slf4j.LoggerFactory;
  * <p>Finally Flink launches the job.
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class FlinkPortableClientEntryPoint {
   private static final Logger LOG = LoggerFactory.getLogger(FlinkPortableClientEntryPoint.class);
diff --git a/runners/flink/src/main/java/org/apache/beam/runners/flink/FlinkRunner.java b/runners/flink/src/main/java/org/apache/beam/runners/flink/FlinkRunner.java
index ee5e5a25f02..25668a6f99b 100644
--- a/runners/flink/src/main/java/org/apache/beam/runners/flink/FlinkRunner.java
+++ b/runners/flink/src/main/java/org/apache/beam/runners/flink/FlinkRunner.java
@@ -48,7 +48,7 @@ import org.slf4j.LoggerFactory;
  * configuration.
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class FlinkRunner extends PipelineRunner<PipelineResult> {
 
diff --git a/runners/flink/src/main/java/org/apache/beam/runners/flink/FlinkRunnerResult.java b/runners/flink/src/main/java/org/apache/beam/runners/flink/FlinkRunnerResult.java
index 83efd1ad6b0..885571a7ee7 100644
--- a/runners/flink/src/main/java/org/apache/beam/runners/flink/FlinkRunnerResult.java
+++ b/runners/flink/src/main/java/org/apache/beam/runners/flink/FlinkRunnerResult.java
@@ -32,7 +32,7 @@ import org.joda.time.Duration;
  * to job runtime and the final values of the accumulators.
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class FlinkRunnerResult implements PipelineResult {
 
diff --git a/runners/flink/src/main/java/org/apache/beam/runners/flink/FlinkStreamingPipelineTranslator.java b/runners/flink/src/main/java/org/apache/beam/runners/flink/FlinkStreamingPipelineTranslator.java
index b7f99b8df34..8a74735cd83 100644
--- a/runners/flink/src/main/java/org/apache/beam/runners/flink/FlinkStreamingPipelineTranslator.java
+++ b/runners/flink/src/main/java/org/apache/beam/runners/flink/FlinkStreamingPipelineTranslator.java
@@ -69,8 +69,8 @@ import org.slf4j.LoggerFactory;
  * org.apache.flink.streaming.api.datastream.DataStream} one.
  */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 class FlinkStreamingPipelineTranslator extends FlinkPipelineTranslator {
 
diff --git a/runners/flink/src/main/java/org/apache/beam/runners/flink/FlinkStreamingPortablePipelineTranslator.java b/runners/flink/src/main/java/org/apache/beam/runners/flink/FlinkStreamingPortablePipelineTranslator.java
index a0b16e10002..84d6db6d36c 100644
--- a/runners/flink/src/main/java/org/apache/beam/runners/flink/FlinkStreamingPortablePipelineTranslator.java
+++ b/runners/flink/src/main/java/org/apache/beam/runners/flink/FlinkStreamingPortablePipelineTranslator.java
@@ -124,10 +124,10 @@ import org.apache.flink.util.OutputTag;
 
 /** Translate an unbounded portable pipeline representation into a Flink pipeline representation. */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
   "keyfor",
   "nullness"
-}) // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+}) // TODO(https://github.com/apache/beam/issues/20497)
 public class FlinkStreamingPortablePipelineTranslator
     implements FlinkPortablePipelineTranslator<
         FlinkStreamingPortablePipelineTranslator.StreamingTranslationContext> {
diff --git a/runners/flink/src/main/java/org/apache/beam/runners/flink/FlinkStreamingTransformTranslators.java b/runners/flink/src/main/java/org/apache/beam/runners/flink/FlinkStreamingTransformTranslators.java
index a9db234c45e..ec97bb73377 100644
--- a/runners/flink/src/main/java/org/apache/beam/runners/flink/FlinkStreamingTransformTranslators.java
+++ b/runners/flink/src/main/java/org/apache/beam/runners/flink/FlinkStreamingTransformTranslators.java
@@ -127,8 +127,8 @@ import org.checkerframework.checker.nullness.qual.Nullable;
  * encountered Beam transformations into Flink one, based on the mapping available in this class.
  */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 class FlinkStreamingTransformTranslators {
 
@@ -1227,7 +1227,7 @@ class FlinkStreamingTransformTranslators {
       // since otherwise the PushbackSideInputRunner will not correctly
       // determine whether side inputs are ready
       //
-      // this is tracked as https://issues.apache.org/jira/browse/BEAM-1850
+      // this is tracked as https://github.com/apache/beam/issues/18358
       for (WindowedValue<KV<K, InputT>> in : inWithMultipleWindows.explodeWindows()) {
         SingletonKeyedWorkItem<K, InputT> workItem =
             new SingletonKeyedWorkItem<>(
@@ -1334,7 +1334,7 @@ class FlinkStreamingTransformTranslators {
       // since otherwise the PushbackSideInputRunner will not correctly
       // determine whether side inputs are ready
       //
-      // this is tracked as https://issues.apache.org/jira/browse/BEAM-1850
+      // this is tracked as https://github.com/apache/beam/issues/18358
       for (WindowedValue<KV<K, InputT>> in : inWithMultipleWindows.explodeWindows()) {
         SingletonKeyedWorkItem<K, InputT> workItem =
             new SingletonKeyedWorkItem<>(
@@ -1374,7 +1374,7 @@ class FlinkStreamingTransformTranslators {
       // since otherwise the PushbackSideInputRunner will not correctly
       // determine whether side inputs are ready
       //
-      // this is tracked as https://issues.apache.org/jira/browse/BEAM-1850
+      // this is tracked as https://github.com/apache/beam/issues/18358
       for (WindowedValue<KV<K, InputT>> in : inWithMultipleWindows.explodeWindows()) {
         final byte[] binaryValue =
             CoderUtils.encodeToByteArray(valueCoder, in.getValue().getValue());
diff --git a/runners/flink/src/main/java/org/apache/beam/runners/flink/FlinkStreamingTranslationContext.java b/runners/flink/src/main/java/org/apache/beam/runners/flink/FlinkStreamingTranslationContext.java
index 1b10af6d0d6..cf235da1a02 100644
--- a/runners/flink/src/main/java/org/apache/beam/runners/flink/FlinkStreamingTranslationContext.java
+++ b/runners/flink/src/main/java/org/apache/beam/runners/flink/FlinkStreamingTranslationContext.java
@@ -45,7 +45,7 @@ import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment;
  * PTransforms}.
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 class FlinkStreamingTranslationContext {
 
diff --git a/runners/flink/src/main/java/org/apache/beam/runners/flink/FlinkTransformOverrides.java b/runners/flink/src/main/java/org/apache/beam/runners/flink/FlinkTransformOverrides.java
index 15ac8b4b0c2..3766e1ede1a 100644
--- a/runners/flink/src/main/java/org/apache/beam/runners/flink/FlinkTransformOverrides.java
+++ b/runners/flink/src/main/java/org/apache/beam/runners/flink/FlinkTransformOverrides.java
@@ -31,7 +31,7 @@ import org.apache.beam.vendor.guava.v26_0_jre.com.google.common.collect.Immutabl
 
 /** {@link PTransform} overrides for Flink runner. */
 @SuppressWarnings({
-  "rawtypes" // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes" // TODO(https://github.com/apache/beam/issues/20447)
 })
 class FlinkTransformOverrides {
   static List<PTransformOverride> getDefaultOverrides(FlinkPipelineOptions options) {
diff --git a/runners/flink/src/main/java/org/apache/beam/runners/flink/PipelineTranslationModeOptimizer.java b/runners/flink/src/main/java/org/apache/beam/runners/flink/PipelineTranslationModeOptimizer.java
index 0021961dbd7..dc55b912882 100644
--- a/runners/flink/src/main/java/org/apache/beam/runners/flink/PipelineTranslationModeOptimizer.java
+++ b/runners/flink/src/main/java/org/apache/beam/runners/flink/PipelineTranslationModeOptimizer.java
@@ -32,8 +32,8 @@ import org.slf4j.LoggerFactory;
  * pipeline.
  */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 class PipelineTranslationModeOptimizer extends FlinkPipelineTranslator {
 
diff --git a/runners/flink/src/main/java/org/apache/beam/runners/flink/TestFlinkRunner.java b/runners/flink/src/main/java/org/apache/beam/runners/flink/TestFlinkRunner.java
index 6775348db1e..484d67fbc35 100644
--- a/runners/flink/src/main/java/org/apache/beam/runners/flink/TestFlinkRunner.java
+++ b/runners/flink/src/main/java/org/apache/beam/runners/flink/TestFlinkRunner.java
@@ -26,7 +26,7 @@ import org.apache.beam.sdk.util.UserCodeException;
 
 /** Test Flink runner. */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class TestFlinkRunner extends PipelineRunner<PipelineResult> {
 
diff --git a/runners/flink/src/main/java/org/apache/beam/runners/flink/metrics/FileReporter.java b/runners/flink/src/main/java/org/apache/beam/runners/flink/metrics/FileReporter.java
index 030abcbd083..2ff18df45a7 100644
--- a/runners/flink/src/main/java/org/apache/beam/runners/flink/metrics/FileReporter.java
+++ b/runners/flink/src/main/java/org/apache/beam/runners/flink/metrics/FileReporter.java
@@ -32,7 +32,7 @@ import org.apache.flink.metrics.reporter.AbstractReporter;
  * "file" for this reporter in the "metrics.reporters" setting).
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class FileReporter extends AbstractReporter {
   @Override
diff --git a/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/functions/FlinkAssignContext.java b/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/functions/FlinkAssignContext.java
index b6c956fcd56..3b520953191 100644
--- a/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/functions/FlinkAssignContext.java
+++ b/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/functions/FlinkAssignContext.java
@@ -24,7 +24,7 @@ import org.apache.beam.vendor.guava.v26_0_jre.com.google.common.collect.Iterable
 import org.joda.time.Instant;
 
 /** {@link org.apache.beam.sdk.transforms.windowing.WindowFn.AssignContext} for Flink functions. */
-@SuppressWarnings({"keyfor", "nullness"}) // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+@SuppressWarnings({"keyfor", "nullness"}) // TODO(https://github.com/apache/beam/issues/20497)
 class FlinkAssignContext<InputT, W extends BoundedWindow>
     extends WindowFn<InputT, W>.AssignContext {
   private final WindowedValue<InputT> value;
diff --git a/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/functions/FlinkDoFnFunction.java b/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/functions/FlinkDoFnFunction.java
index cfcf2861748..af94106542d 100644
--- a/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/functions/FlinkDoFnFunction.java
+++ b/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/functions/FlinkDoFnFunction.java
@@ -57,7 +57,7 @@ import org.checkerframework.checker.nullness.qual.Nullable;
  * not to be in a specific output.
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class FlinkDoFnFunction<InputT, OutputT> extends AbstractRichFunction
     implements FlatMapFunction<WindowedValue<InputT>, WindowedValue<RawUnionValue>> {
diff --git a/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/functions/FlinkExecutableStageFunction.java b/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/functions/FlinkExecutableStageFunction.java
index 6c9c984fad5..87e092e25ce 100644
--- a/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/functions/FlinkExecutableStageFunction.java
+++ b/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/functions/FlinkExecutableStageFunction.java
@@ -83,8 +83,8 @@ import org.slf4j.LoggerFactory;
  * further processed by a {@link FlinkExecutableStagePruningFunction}.
  */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class FlinkExecutableStageFunction<InputT> extends AbstractRichFunction
     implements MapPartitionFunction<WindowedValue<InputT>, RawUnionValue>,
@@ -177,7 +177,7 @@ public class FlinkExecutableStageFunction<InputT> extends AbstractRichFunction
     finalizationHandler =
         bundleId -> {
           throw new UnsupportedOperationException(
-              "Portable Flink runner doesn't support bundle finalization in batch mode. For more details, please refer to https://issues.apache.org/jira/browse/BEAM-11021.");
+              "Portable Flink runner doesn't support bundle finalization in batch mode. For more details, please refer to https://github.com/apache/beam/issues/19526.");
         };
     bundleCheckpointHandler = getBundleCheckpointHandler(executableStage);
   }
diff --git a/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/functions/FlinkExecutableStagePruningFunction.java b/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/functions/FlinkExecutableStagePruningFunction.java
index d4e5c1bede0..467358c154d 100644
--- a/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/functions/FlinkExecutableStagePruningFunction.java
+++ b/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/functions/FlinkExecutableStagePruningFunction.java
@@ -28,7 +28,7 @@ import org.apache.flink.util.Collector;
 
 /** A Flink function that demultiplexes output from a {@link FlinkExecutableStageFunction}. */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class FlinkExecutableStagePruningFunction
     extends RichFlatMapFunction<RawUnionValue, WindowedValue<?>> {
diff --git a/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/functions/FlinkNonMergingReduceFunction.java b/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/functions/FlinkNonMergingReduceFunction.java
index 5a41d875462..da350f8e0f2 100644
--- a/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/functions/FlinkNonMergingReduceFunction.java
+++ b/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/functions/FlinkNonMergingReduceFunction.java
@@ -41,7 +41,7 @@ import org.joda.time.Instant;
  * @param <K> Key type.
  * @param <InputT> Input type.
  */
-@SuppressWarnings({"keyfor", "nullness"}) // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+@SuppressWarnings({"keyfor", "nullness"}) // TODO(https://github.com/apache/beam/issues/20497)
 public class FlinkNonMergingReduceFunction<K, InputT>
     implements GroupReduceFunction<
         WindowedValue<KV<K, InputT>>, WindowedValue<KV<K, Iterable<InputT>>>> {
diff --git a/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/functions/FlinkSideInputReader.java b/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/functions/FlinkSideInputReader.java
index 193bfd0d105..ed0e06d1fb0 100644
--- a/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/functions/FlinkSideInputReader.java
+++ b/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/functions/FlinkSideInputReader.java
@@ -40,7 +40,7 @@ import org.checkerframework.checker.nullness.qual.Nullable;
 
 /** A {@link SideInputReader} for the Flink Batch Runner. */
 @SuppressWarnings({
-  "rawtypes" // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes" // TODO(https://github.com/apache/beam/issues/20447)
 })
 public class FlinkSideInputReader implements SideInputReader {
   private static final Set<String> SUPPORTED_MATERIALIZATIONS =
diff --git a/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/functions/FlinkStatefulDoFnFunction.java b/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/functions/FlinkStatefulDoFnFunction.java
index c03b27ada9d..76cce7beb67 100644
--- a/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/functions/FlinkStatefulDoFnFunction.java
+++ b/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/functions/FlinkStatefulDoFnFunction.java
@@ -64,8 +64,8 @@ import org.joda.time.Instant;
 
 /** A {@link RichGroupReduceFunction} for stateful {@link ParDo} in Flink Batch Runner. */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class FlinkStatefulDoFnFunction<K, V, OutputT>
     extends RichGroupReduceFunction<WindowedValue<KV<K, V>>, WindowedValue<RawUnionValue>> {
diff --git a/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/functions/ImpulseSourceFunction.java b/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/functions/ImpulseSourceFunction.java
index 33830d110f6..444e8fbc3c7 100644
--- a/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/functions/ImpulseSourceFunction.java
+++ b/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/functions/ImpulseSourceFunction.java
@@ -34,7 +34,7 @@ import org.apache.flink.streaming.api.watermark.Watermark;
  * cancelled.
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class ImpulseSourceFunction
     implements SourceFunction<WindowedValue<byte[]>>, CheckpointedFunction {
diff --git a/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/functions/SideInputInitializer.java b/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/functions/SideInputInitializer.java
index 778ebed7f86..63f6fc13607 100644
--- a/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/functions/SideInputInitializer.java
+++ b/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/functions/SideInputInitializer.java
@@ -43,7 +43,7 @@ import org.apache.flink.api.common.functions.BroadcastVariableInitializer;
  * window to side input.
  */
 @SuppressWarnings({
-  "rawtypes" // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes" // TODO(https://github.com/apache/beam/issues/20447)
 })
 public class SideInputInitializer<ViewT>
     implements BroadcastVariableInitializer<WindowedValue<?>, Map<BoundedWindow, ViewT>> {
diff --git a/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/functions/SingleWindowFlinkCombineRunner.java b/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/functions/SingleWindowFlinkCombineRunner.java
index 68795debe8f..15c65922ca2 100644
--- a/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/functions/SingleWindowFlinkCombineRunner.java
+++ b/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/functions/SingleWindowFlinkCombineRunner.java
@@ -39,7 +39,7 @@ import org.joda.time.Instant;
  * A Flink combine runner takes elements pre-grouped by window and produces output after seeing all
  * input.
  */
-@SuppressWarnings({"keyfor", "nullness"}) // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+@SuppressWarnings({"keyfor", "nullness"}) // TODO(https://github.com/apache/beam/issues/20497)
 public class SingleWindowFlinkCombineRunner<K, InputT, AccumT, OutputT, W extends BoundedWindow>
     extends AbstractFlinkCombineRunner<K, InputT, AccumT, OutputT, W> {
 
diff --git a/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/functions/SortingFlinkCombineRunner.java b/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/functions/SortingFlinkCombineRunner.java
index 309e8312640..22cb949b61f 100644
--- a/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/functions/SortingFlinkCombineRunner.java
+++ b/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/functions/SortingFlinkCombineRunner.java
@@ -38,7 +38,7 @@ import org.joda.time.Instant;
  * A Flink combine runner that first sorts the elements by window and then does one pass that merges
  * windows and outputs results.
  */
-@SuppressWarnings({"keyfor", "nullness"}) // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+@SuppressWarnings({"keyfor", "nullness"}) // TODO(https://github.com/apache/beam/issues/20497)
 public class SortingFlinkCombineRunner<K, InputT, AccumT, OutputT, W extends BoundedWindow>
     extends AbstractFlinkCombineRunner<K, InputT, AccumT, OutputT, W> {
 
diff --git a/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/types/CoderTypeInformation.java b/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/types/CoderTypeInformation.java
index 00eb7238ae4..e9d22dbf8e6 100644
--- a/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/types/CoderTypeInformation.java
+++ b/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/types/CoderTypeInformation.java
@@ -34,7 +34,7 @@ import org.checkerframework.checker.nullness.qual.Nullable;
  * org.apache.beam.sdk.coders.Coder}s.
  */
 @SuppressWarnings({
-  "rawtypes" // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes" // TODO(https://github.com/apache/beam/issues/20447)
 })
 public class CoderTypeInformation<T> extends TypeInformation<T> implements AtomicType<T> {
 
diff --git a/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/types/CoderTypeSerializer.java b/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/types/CoderTypeSerializer.java
index 0cd1e6bb53b..de460ea7c21 100644
--- a/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/types/CoderTypeSerializer.java
+++ b/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/types/CoderTypeSerializer.java
@@ -41,8 +41,8 @@ import org.checkerframework.checker.nullness.qual.Nullable;
  * org.apache.beam.sdk.coders.Coder Coders}.
  */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class CoderTypeSerializer<T> extends TypeSerializer<T> {
 
diff --git a/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/types/EncodedValueComparator.java b/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/types/EncodedValueComparator.java
index b7143c23a9c..2d9629bbaad 100644
--- a/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/types/EncodedValueComparator.java
+++ b/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/types/EncodedValueComparator.java
@@ -30,8 +30,8 @@ import org.apache.flink.core.memory.MemorySegment;
  * encoded to byte data by a {@link Coder}.
  */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class EncodedValueComparator extends TypeComparator<byte[]> {
 
diff --git a/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/utils/CountingPipelineVisitor.java b/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/utils/CountingPipelineVisitor.java
index da6a27fbef7..770fe8c6da6 100644
--- a/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/utils/CountingPipelineVisitor.java
+++ b/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/utils/CountingPipelineVisitor.java
@@ -25,7 +25,7 @@ import org.apache.beam.sdk.values.PValue;
 
 /** Pipeline visitors that fills a lookup table of {@link PValue} to number of consumers. */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class CountingPipelineVisitor extends Pipeline.PipelineVisitor.Defaults {
 
diff --git a/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/wrappers/SourceInputFormat.java b/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/wrappers/SourceInputFormat.java
index 40ea207ef4f..7e1835eac72 100644
--- a/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/wrappers/SourceInputFormat.java
+++ b/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/wrappers/SourceInputFormat.java
@@ -40,8 +40,8 @@ import org.slf4j.LoggerFactory;
 
 /** Wrapper for executing a {@link Source} as a Flink {@link InputFormat}. */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class SourceInputFormat<T> extends RichInputFormat<WindowedValue<T>, SourceInputSplit<T>> {
   private static final Logger LOG = LoggerFactory.getLogger(SourceInputFormat.class);
diff --git a/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/wrappers/SourceInputSplit.java b/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/wrappers/SourceInputSplit.java
index a74e9758331..3929f85861b 100644
--- a/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/wrappers/SourceInputSplit.java
+++ b/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/wrappers/SourceInputSplit.java
@@ -27,7 +27,7 @@ import org.apache.flink.core.io.InputSplit;
  * is different to how Flink creates a separate InputSplit from an InputFormat.
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class SourceInputSplit<T> implements InputSplit {
 
diff --git a/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/wrappers/streaming/DoFnOperator.java b/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/wrappers/streaming/DoFnOperator.java
index 611866e7741..f6a6a6e2af2 100644
--- a/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/wrappers/streaming/DoFnOperator.java
+++ b/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/wrappers/streaming/DoFnOperator.java
@@ -135,10 +135,10 @@ import org.slf4j.LoggerFactory;
 // We use Flink's lifecycle methods to initialize transient fields
 @SuppressFBWarnings("SE_TRANSIENT_FIELD_NOT_RESTORED")
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
   "keyfor",
   "nullness"
-}) // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+}) // TODO(https://github.com/apache/beam/issues/20497)
 public class DoFnOperator<InputT, OutputT>
     extends AbstractStreamOperatorCompat<WindowedValue<OutputT>>
     implements OneInputStreamOperator<WindowedValue<InputT>, WindowedValue<OutputT>>,
diff --git a/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/wrappers/streaming/ExecutableStageDoFnOperator.java b/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/wrappers/streaming/ExecutableStageDoFnOperator.java
index 6de413aa363..ee973f9621e 100644
--- a/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/wrappers/streaming/ExecutableStageDoFnOperator.java
+++ b/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/wrappers/streaming/ExecutableStageDoFnOperator.java
@@ -132,8 +132,8 @@ import org.slf4j.LoggerFactory;
 // We use Flink's lifecycle methods to initialize transient fields
 @SuppressFBWarnings("SE_TRANSIENT_FIELD_NOT_RESTORED")
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class ExecutableStageDoFnOperator<InputT, OutputT> extends DoFnOperator<InputT, OutputT> {
 
diff --git a/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/wrappers/streaming/SplittableDoFnOperator.java b/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/wrappers/streaming/SplittableDoFnOperator.java
index daab31e29f2..d0d0019be66 100644
--- a/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/wrappers/streaming/SplittableDoFnOperator.java
+++ b/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/wrappers/streaming/SplittableDoFnOperator.java
@@ -61,7 +61,7 @@ import org.slf4j.LoggerFactory;
  * {@code @ProcessElement} method of a splittable {@link DoFn}.
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class SplittableDoFnOperator<InputT, OutputT, RestrictionT>
     extends DoFnOperator<KeyedWorkItem<byte[], KV<InputT, RestrictionT>>, OutputT> {
diff --git a/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/wrappers/streaming/WindowDoFnOperator.java b/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/wrappers/streaming/WindowDoFnOperator.java
index 2181315bc50..d8f4885ea05 100644
--- a/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/wrappers/streaming/WindowDoFnOperator.java
+++ b/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/wrappers/streaming/WindowDoFnOperator.java
@@ -47,7 +47,7 @@ import org.apache.flink.api.java.functions.KeySelector;
 
 /** Flink operator for executing window {@link DoFn DoFns}. */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class WindowDoFnOperator<K, InputT, OutputT>
     extends DoFnOperator<KeyedWorkItem<K, InputT>, KV<K, OutputT>> {
diff --git a/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/wrappers/streaming/io/DedupingOperator.java b/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/wrappers/streaming/io/DedupingOperator.java
index 9f5404c9797..d4372396484 100644
--- a/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/wrappers/streaming/io/DedupingOperator.java
+++ b/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/wrappers/streaming/io/DedupingOperator.java
@@ -39,7 +39,7 @@ import org.joda.time.Duration;
 
 /** Remove values with duplicate ids. */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class DedupingOperator<T> extends AbstractStreamOperator<WindowedValue<T>>
     implements OneInputStreamOperator<WindowedValue<ValueWithRecordId<T>>, WindowedValue<T>>,
diff --git a/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/wrappers/streaming/io/UnboundedSourceWrapper.java b/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/wrappers/streaming/io/UnboundedSourceWrapper.java
index 5b6704ed35b..5f35fd96ce0 100644
--- a/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/wrappers/streaming/io/UnboundedSourceWrapper.java
+++ b/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/wrappers/streaming/io/UnboundedSourceWrapper.java
@@ -62,8 +62,8 @@ import org.slf4j.LoggerFactory;
 
 /** Wrapper for executing {@link UnboundedSource UnboundedSources} as a Flink Source. */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class UnboundedSourceWrapper<OutputT, CheckpointMarkT extends UnboundedSource.CheckpointMark>
     extends RichParallelSourceFunction<WindowedValue<ValueWithRecordId<OutputT>>>
diff --git a/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/wrappers/streaming/stableinput/BufferedElements.java b/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/wrappers/streaming/stableinput/BufferedElements.java
index 0b93aa7d235..772b811df1e 100644
--- a/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/wrappers/streaming/stableinput/BufferedElements.java
+++ b/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/wrappers/streaming/stableinput/BufferedElements.java
@@ -34,7 +34,7 @@ import org.joda.time.Instant;
 
 /** Elements which can be buffered as part of a checkpoint for @RequiresStableInput. */
 @SuppressWarnings({
-  "rawtypes" // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes" // TODO(https://github.com/apache/beam/issues/20447)
 })
 class BufferedElements {
 
diff --git a/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/wrappers/streaming/stableinput/BufferingDoFnRunner.java b/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/wrappers/streaming/stableinput/BufferingDoFnRunner.java
index adcb3b7e274..be6ac2838a6 100644
--- a/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/wrappers/streaming/stableinput/BufferingDoFnRunner.java
+++ b/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/wrappers/streaming/stableinput/BufferingDoFnRunner.java
@@ -47,8 +47,8 @@ import org.joda.time.Instant;
  * results on failures.
  */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class BufferingDoFnRunner<InputT, OutputT> implements DoFnRunner<InputT, OutputT> {
 
diff --git a/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/wrappers/streaming/stableinput/KeyedBufferingElementsHandler.java b/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/wrappers/streaming/stableinput/KeyedBufferingElementsHandler.java
index 1ceea529ca8..64944f76d4b 100644
--- a/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/wrappers/streaming/stableinput/KeyedBufferingElementsHandler.java
+++ b/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/wrappers/streaming/stableinput/KeyedBufferingElementsHandler.java
@@ -29,7 +29,7 @@ import org.apache.flink.runtime.state.VoidNamespaceSerializer;
 
 /** A keyed implementation of a {@link BufferingElementsHandler}. */
 @SuppressWarnings({
-  "rawtypes" // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes" // TODO(https://github.com/apache/beam/issues/20447)
 })
 public class KeyedBufferingElementsHandler implements BufferingElementsHandler {
 
diff --git a/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/wrappers/streaming/state/FlinkBroadcastStateInternals.java b/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/wrappers/streaming/state/FlinkBroadcastStateInternals.java
index 7b89e0172b7..9830133166f 100644
--- a/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/wrappers/streaming/state/FlinkBroadcastStateInternals.java
+++ b/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/wrappers/streaming/state/FlinkBroadcastStateInternals.java
@@ -63,7 +63,7 @@ import org.checkerframework.checker.nullness.qual.Nullable;
  * <p>Note: Ignore index of key. Mainly for SideInputs.
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class FlinkBroadcastStateInternals<K> implements StateInternals {
 
diff --git a/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/wrappers/streaming/state/FlinkStateInternals.java b/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/wrappers/streaming/state/FlinkStateInternals.java
index 368fbfb18a8..0b71305e80f 100644
--- a/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/wrappers/streaming/state/FlinkStateInternals.java
+++ b/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/wrappers/streaming/state/FlinkStateInternals.java
@@ -91,8 +91,8 @@ import org.joda.time.Instant;
  * stored in a {@link ByteBuffer}.
  */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class FlinkStateInternals<K> implements StateInternals {
 
diff --git a/runners/flink/src/test/java/org/apache/beam/runners/flink/FlinkPipelineExecutionEnvironmentTest.java b/runners/flink/src/test/java/org/apache/beam/runners/flink/FlinkPipelineExecutionEnvironmentTest.java
index 8f3bf96e08c..8af13c4c7fe 100644
--- a/runners/flink/src/test/java/org/apache/beam/runners/flink/FlinkPipelineExecutionEnvironmentTest.java
+++ b/runners/flink/src/test/java/org/apache/beam/runners/flink/FlinkPipelineExecutionEnvironmentTest.java
@@ -76,7 +76,7 @@ import org.powermock.reflect.Whitebox;
 /** Tests for {@link FlinkPipelineExecutionEnvironment}. */
 @RunWith(JUnit4.class)
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
 })
 public class FlinkPipelineExecutionEnvironmentTest implements Serializable {
 
diff --git a/runners/flink/src/test/java/org/apache/beam/runners/flink/FlinkSavepointTest.java b/runners/flink/src/test/java/org/apache/beam/runners/flink/FlinkSavepointTest.java
index 54a5cb2b11c..410fa8e9d26 100644
--- a/runners/flink/src/test/java/org/apache/beam/runners/flink/FlinkSavepointTest.java
+++ b/runners/flink/src/test/java/org/apache/beam/runners/flink/FlinkSavepointTest.java
@@ -83,7 +83,7 @@ import org.slf4j.LoggerFactory;
  * a different parallelism.
  */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
   "unused" // TODO(BEAM-13271): Remove when new version of errorprone is released (2.11.0)
 })
 public class FlinkSavepointTest implements Serializable {
diff --git a/runners/flink/src/test/java/org/apache/beam/runners/flink/FlinkStreamingTransformTranslatorsTest.java b/runners/flink/src/test/java/org/apache/beam/runners/flink/FlinkStreamingTransformTranslatorsTest.java
index 87de3414790..45cfb30f911 100644
--- a/runners/flink/src/test/java/org/apache/beam/runners/flink/FlinkStreamingTransformTranslatorsTest.java
+++ b/runners/flink/src/test/java/org/apache/beam/runners/flink/FlinkStreamingTransformTranslatorsTest.java
@@ -56,7 +56,7 @@ import org.junit.Test;
 
 /** Tests for Flink streaming transform translators. */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
 })
 public class FlinkStreamingTransformTranslatorsTest {
 
diff --git a/runners/flink/src/test/java/org/apache/beam/runners/flink/FlinkSubmissionTest.java b/runners/flink/src/test/java/org/apache/beam/runners/flink/FlinkSubmissionTest.java
index b29a8891966..a2c04d88f71 100644
--- a/runners/flink/src/test/java/org/apache/beam/runners/flink/FlinkSubmissionTest.java
+++ b/runners/flink/src/test/java/org/apache/beam/runners/flink/FlinkSubmissionTest.java
@@ -52,7 +52,7 @@ import org.junit.rules.Timeout;
 
 /** End-to-end submission test of Beam jobs on a Flink cluster. */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
 })
 public class FlinkSubmissionTest {
 
diff --git a/runners/flink/src/test/java/org/apache/beam/runners/flink/streaming/FlinkStateInternalsTest.java b/runners/flink/src/test/java/org/apache/beam/runners/flink/streaming/FlinkStateInternalsTest.java
index 39738209bb5..a2d6f5027ab 100644
--- a/runners/flink/src/test/java/org/apache/beam/runners/flink/streaming/FlinkStateInternalsTest.java
+++ b/runners/flink/src/test/java/org/apache/beam/runners/flink/streaming/FlinkStateInternalsTest.java
@@ -58,7 +58,7 @@ import org.junit.runners.JUnit4;
 /** Tests for {@link FlinkStateInternals}. This is based on {@link StateInternalsTest}. */
 @RunWith(JUnit4.class)
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
 })
 public class FlinkStateInternalsTest extends StateInternalsTest {
 
diff --git a/runners/flink/src/test/java/org/apache/beam/runners/flink/translation/functions/FlinkDoFnFunctionTest.java b/runners/flink/src/test/java/org/apache/beam/runners/flink/translation/functions/FlinkDoFnFunctionTest.java
index 87486c96370..d7afb3915c5 100644
--- a/runners/flink/src/test/java/org/apache/beam/runners/flink/translation/functions/FlinkDoFnFunctionTest.java
+++ b/runners/flink/src/test/java/org/apache/beam/runners/flink/translation/functions/FlinkDoFnFunctionTest.java
@@ -35,7 +35,7 @@ import org.powermock.reflect.Whitebox;
 
 /** Tests for {@link FlinkDoFnFunction}. */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
 })
 public class FlinkDoFnFunctionTest {
 
diff --git a/runners/flink/src/test/java/org/apache/beam/runners/flink/translation/functions/FlinkExecutableStageFunctionTest.java b/runners/flink/src/test/java/org/apache/beam/runners/flink/translation/functions/FlinkExecutableStageFunctionTest.java
index cd90033d5b4..23e4229b5c2 100644
--- a/runners/flink/src/test/java/org/apache/beam/runners/flink/translation/functions/FlinkExecutableStageFunctionTest.java
+++ b/runners/flink/src/test/java/org/apache/beam/runners/flink/translation/functions/FlinkExecutableStageFunctionTest.java
@@ -71,7 +71,7 @@ import org.powermock.reflect.Whitebox;
 /** Tests for {@link FlinkExecutableStageFunction}. */
 @RunWith(Parameterized.class)
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
 })
 public class FlinkExecutableStageFunctionTest {
 
diff --git a/runners/flink/src/test/java/org/apache/beam/runners/flink/translation/functions/FlinkStatefulDoFnFunctionTest.java b/runners/flink/src/test/java/org/apache/beam/runners/flink/translation/functions/FlinkStatefulDoFnFunctionTest.java
index b74593156ee..0b0899da135 100644
--- a/runners/flink/src/test/java/org/apache/beam/runners/flink/translation/functions/FlinkStatefulDoFnFunctionTest.java
+++ b/runners/flink/src/test/java/org/apache/beam/runners/flink/translation/functions/FlinkStatefulDoFnFunctionTest.java
@@ -35,7 +35,7 @@ import org.powermock.reflect.Whitebox;
 
 /** Tests for {@link FlinkStatefulDoFnFunction}. */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
 })
 public class FlinkStatefulDoFnFunctionTest {
 
diff --git a/runners/flink/src/test/java/org/apache/beam/runners/flink/translation/functions/ImpulseSourceFunctionTest.java b/runners/flink/src/test/java/org/apache/beam/runners/flink/translation/functions/ImpulseSourceFunctionTest.java
index e1ddb851adb..ddc69c3d3b0 100644
--- a/runners/flink/src/test/java/org/apache/beam/runners/flink/translation/functions/ImpulseSourceFunctionTest.java
+++ b/runners/flink/src/test/java/org/apache/beam/runners/flink/translation/functions/ImpulseSourceFunctionTest.java
@@ -46,7 +46,7 @@ import org.slf4j.LoggerFactory;
 
 /** Tests for {@link ImpulseSourceFunction}. */
 @SuppressWarnings({
-  "rawtypes" // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes" // TODO(https://github.com/apache/beam/issues/20447)
 })
 public class ImpulseSourceFunctionTest {
 
diff --git a/runners/flink/src/test/java/org/apache/beam/runners/flink/translation/types/CoderTypeSerializerTest.java b/runners/flink/src/test/java/org/apache/beam/runners/flink/translation/types/CoderTypeSerializerTest.java
index d668bce6f86..3c4e43bd339 100644
--- a/runners/flink/src/test/java/org/apache/beam/runners/flink/translation/types/CoderTypeSerializerTest.java
+++ b/runners/flink/src/test/java/org/apache/beam/runners/flink/translation/types/CoderTypeSerializerTest.java
@@ -35,7 +35,7 @@ import org.junit.Test;
 
 /** Tests {@link CoderTypeSerializer}. */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
 })
 public class CoderTypeSerializerTest implements Serializable {
 
diff --git a/runners/flink/src/test/java/org/apache/beam/runners/flink/translation/wrappers/SourceInputFormatTest.java b/runners/flink/src/test/java/org/apache/beam/runners/flink/translation/wrappers/SourceInputFormatTest.java
index 42d56a1814d..f070a1c4943 100644
--- a/runners/flink/src/test/java/org/apache/beam/runners/flink/translation/wrappers/SourceInputFormatTest.java
+++ b/runners/flink/src/test/java/org/apache/beam/runners/flink/translation/wrappers/SourceInputFormatTest.java
@@ -29,7 +29,7 @@ import org.powermock.reflect.Whitebox;
 
 /** Tests for {@link SourceInputFormat}. */
 @SuppressWarnings({
-  "rawtypes" // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes" // TODO(https://github.com/apache/beam/issues/20447)
 })
 public class SourceInputFormatTest {
 
diff --git a/runners/flink/src/test/java/org/apache/beam/runners/flink/translation/wrappers/streaming/ExecutableStageDoFnOperatorTest.java b/runners/flink/src/test/java/org/apache/beam/runners/flink/translation/wrappers/streaming/ExecutableStageDoFnOperatorTest.java
index a82b269a525..225c0ecba39 100644
--- a/runners/flink/src/test/java/org/apache/beam/runners/flink/translation/wrappers/streaming/ExecutableStageDoFnOperatorTest.java
+++ b/runners/flink/src/test/java/org/apache/beam/runners/flink/translation/wrappers/streaming/ExecutableStageDoFnOperatorTest.java
@@ -133,7 +133,7 @@ import org.powermock.reflect.Whitebox;
 /** Tests for {@link ExecutableStageDoFnOperator}. */
 @RunWith(JUnit4.class)
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
 })
 public class ExecutableStageDoFnOperatorTest {
   @Rule public ExpectedException thrown = ExpectedException.none();
diff --git a/runners/flink/src/test/java/org/apache/beam/runners/flink/translation/wrappers/streaming/WindowDoFnOperatorTest.java b/runners/flink/src/test/java/org/apache/beam/runners/flink/translation/wrappers/streaming/WindowDoFnOperatorTest.java
index 3e0f028e1f4..4383094cb33 100644
--- a/runners/flink/src/test/java/org/apache/beam/runners/flink/translation/wrappers/streaming/WindowDoFnOperatorTest.java
+++ b/runners/flink/src/test/java/org/apache/beam/runners/flink/translation/wrappers/streaming/WindowDoFnOperatorTest.java
@@ -65,7 +65,7 @@ import org.junit.runners.JUnit4;
 /** Tests for {@link WindowDoFnOperator}. */
 @RunWith(JUnit4.class)
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
 })
 public class WindowDoFnOperatorTest {
 
diff --git a/runners/flink/src/test/java/org/apache/beam/runners/flink/translation/wrappers/streaming/io/UnboundedSourceWrapperTest.java b/runners/flink/src/test/java/org/apache/beam/runners/flink/translation/wrappers/streaming/io/UnboundedSourceWrapperTest.java
index de9d9ede1ca..2b6a8639142 100644
--- a/runners/flink/src/test/java/org/apache/beam/runners/flink/translation/wrappers/streaming/io/UnboundedSourceWrapperTest.java
+++ b/runners/flink/src/test/java/org/apache/beam/runners/flink/translation/wrappers/streaming/io/UnboundedSourceWrapperTest.java
@@ -85,7 +85,7 @@ import org.slf4j.LoggerFactory;
 /** Tests for {@link UnboundedSourceWrapper}. */
 @RunWith(Enclosed.class)
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
 })
 public class UnboundedSourceWrapperTest {
 
diff --git a/runners/flink/src/test/java/org/apache/beam/runners/flink/translation/wrappers/streaming/stableinput/BufferedElementsTest.java b/runners/flink/src/test/java/org/apache/beam/runners/flink/translation/wrappers/streaming/stableinput/BufferedElementsTest.java
index 6da0caf19ea..1259c2a6963 100644
--- a/runners/flink/src/test/java/org/apache/beam/runners/flink/translation/wrappers/streaming/stableinput/BufferedElementsTest.java
+++ b/runners/flink/src/test/java/org/apache/beam/runners/flink/translation/wrappers/streaming/stableinput/BufferedElementsTest.java
@@ -36,7 +36,7 @@ import org.junit.Test;
 
 /** Tests for {@link BufferedElements}. */
 @SuppressWarnings({
-  "rawtypes" // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes" // TODO(https://github.com/apache/beam/issues/20447)
 })
 public class BufferedElementsTest {
 
diff --git a/runners/flink/src/test/java/org/apache/beam/runners/flink/translation/wrappers/streaming/stableinput/BufferingDoFnRunnerTest.java b/runners/flink/src/test/java/org/apache/beam/runners/flink/translation/wrappers/streaming/stableinput/BufferingDoFnRunnerTest.java
index 9f64a78fa50..573e4b76ede 100644
--- a/runners/flink/src/test/java/org/apache/beam/runners/flink/translation/wrappers/streaming/stableinput/BufferingDoFnRunnerTest.java
+++ b/runners/flink/src/test/java/org/apache/beam/runners/flink/translation/wrappers/streaming/stableinput/BufferingDoFnRunnerTest.java
@@ -48,7 +48,7 @@ import org.mockito.Mockito;
  * <p>- {@link BufferedElementsTest}
  */
 @SuppressWarnings({
-  "rawtypes" // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes" // TODO(https://github.com/apache/beam/issues/20447)
 })
 public class BufferingDoFnRunnerTest {
 
diff --git a/runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/BatchViewOverrides.java b/runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/BatchViewOverrides.java
index 2efe7fafa53..77b7ca4b739 100644
--- a/runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/BatchViewOverrides.java
+++ b/runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/BatchViewOverrides.java
@@ -91,7 +91,7 @@ import org.joda.time.Instant;
  * Dataflow batch overrides for {@link CreatePCollectionView}, specialized for different view types.
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 class BatchViewOverrides {
   /**
@@ -238,7 +238,7 @@ class BatchViewOverrides {
       Coder<W> windowCoder = (Coder<W>) input.getWindowingStrategy().getWindowFn().windowCoder();
 
       @SuppressWarnings({
-        "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+        "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
         "unchecked"
       })
       KvCoder<K, V> inputCoder = (KvCoder) input.getCoder();
@@ -723,7 +723,7 @@ class BatchViewOverrides {
       Coder<W> windowCoder = (Coder<W>) input.getWindowingStrategy().getWindowFn().windowCoder();
 
       @SuppressWarnings({
-        "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+        "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
         "unchecked"
       })
       KvCoder<K, V> inputCoder = (KvCoder) input.getCoder();
@@ -755,7 +755,7 @@ class BatchViewOverrides {
       Coder<W> windowCoder = (Coder<W>) input.getWindowingStrategy().getWindowFn().windowCoder();
 
       @SuppressWarnings({
-        "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+        "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
         "unchecked"
       })
       KvCoder<K, V> inputCoder = (KvCoder) input.getCoder();
diff --git a/runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/CreateDataflowView.java b/runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/CreateDataflowView.java
index 413fdbf0215..15b79dfd2a2 100644
--- a/runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/CreateDataflowView.java
+++ b/runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/CreateDataflowView.java
@@ -23,7 +23,7 @@ import org.apache.beam.sdk.values.PCollectionView;
 
 /** A {@link DataflowRunner} marker class for creating a {@link PCollectionView}. */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class CreateDataflowView<ElemT, ViewT>
     extends PTransform<PCollection<ElemT>, PCollection<ElemT>> {
diff --git a/runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/DataflowClient.java b/runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/DataflowClient.java
index 03e6cc2f12b..325148cb9f5 100644
--- a/runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/DataflowClient.java
+++ b/runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/DataflowClient.java
@@ -36,7 +36,7 @@ import org.checkerframework.checker.nullness.qual.Nullable;
 
 /** Wrapper around the generated {@link Dataflow} client to provide common functionality. */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class DataflowClient {
 
diff --git a/runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/DataflowMetrics.java b/runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/DataflowMetrics.java
index a4dbd04e8fc..3c92aebe185 100644
--- a/runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/DataflowMetrics.java
+++ b/runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/DataflowMetrics.java
@@ -48,7 +48,7 @@ import org.slf4j.LoggerFactory;
 
 /** Implementation of {@link MetricResults} for the Dataflow Runner. */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
 })
 class DataflowMetrics extends MetricResults {
   private static final Logger LOG = LoggerFactory.getLogger(DataflowMetrics.class);
diff --git a/runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/DataflowPTransformMatchers.java b/runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/DataflowPTransformMatchers.java
index a20c2776ee5..c0d4fef1383 100644
--- a/runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/DataflowPTransformMatchers.java
+++ b/runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/DataflowPTransformMatchers.java
@@ -32,7 +32,7 @@ import org.apache.beam.sdk.transforms.PTransform;
  * not general enough to be shared between runners.
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 class DataflowPTransformMatchers {
   private DataflowPTransformMatchers() {}
diff --git a/runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/DataflowPipelineJob.java b/runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/DataflowPipelineJob.java
index 35a6318cf05..1fedbd9cbda 100644
--- a/runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/DataflowPipelineJob.java
+++ b/runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/DataflowPipelineJob.java
@@ -54,7 +54,7 @@ import org.slf4j.LoggerFactory;
 
 /** A DataflowPipelineJob represents a job submitted to Dataflow using {@link DataflowRunner}. */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class DataflowPipelineJob implements PipelineResult {
 
diff --git a/runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/DataflowPipelineTranslator.java b/runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/DataflowPipelineTranslator.java
index b46cedb4297..31078c81378 100644
--- a/runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/DataflowPipelineTranslator.java
+++ b/runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/DataflowPipelineTranslator.java
@@ -122,9 +122,9 @@ import org.slf4j.LoggerFactory;
  * Dataflow Service API {@link Job}s.
  */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
   "unchecked",
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 @VisibleForTesting
 public class DataflowPipelineTranslator {
diff --git a/runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/DataflowRunner.java b/runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/DataflowRunner.java
index 459ad9340c9..c0abbaded25 100644
--- a/runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/DataflowRunner.java
+++ b/runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/DataflowRunner.java
@@ -194,8 +194,8 @@ import org.slf4j.LoggerFactory;
  * Dataflow Security and Permissions</a> for more details.
  */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class DataflowRunner extends PipelineRunner<DataflowPipelineJob> {
 
@@ -2407,7 +2407,7 @@ public class DataflowRunner extends PipelineRunner<DataflowPipelineJob> {
   }
 
   static void verifyStateSupportForWindowingStrategy(WindowingStrategy strategy) {
-    // https://issues.apache.org/jira/browse/BEAM-2507
+    // https://github.com/apache/beam/issues/18478
     if (strategy.needsMerge()) {
       throw new UnsupportedOperationException(
           String.format(
diff --git a/runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/DataflowRunnerInfo.java b/runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/DataflowRunnerInfo.java
index fed503db49e..911a8935a6b 100644
--- a/runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/DataflowRunnerInfo.java
+++ b/runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/DataflowRunnerInfo.java
@@ -30,7 +30,7 @@ import org.slf4j.LoggerFactory;
 
 /** Populates versioning and other information for {@link DataflowRunner}. */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public final class DataflowRunnerInfo extends ReleaseInfo {
   private static final Logger LOG = LoggerFactory.getLogger(DataflowRunnerInfo.class);
diff --git a/runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/GroupIntoBatchesOverride.java b/runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/GroupIntoBatchesOverride.java
index 5dcfa32b7c4..233b39a0b9b 100644
--- a/runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/GroupIntoBatchesOverride.java
+++ b/runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/GroupIntoBatchesOverride.java
@@ -43,7 +43,7 @@ import org.apache.beam.sdk.values.TupleTag;
 import org.apache.beam.vendor.guava.v26_0_jre.com.google.common.collect.Lists;
 
 @SuppressWarnings({
-  "rawtypes" // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes" // TODO(https://github.com/apache/beam/issues/20447)
 })
 public class GroupIntoBatchesOverride {
 
diff --git a/runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/PrimitiveParDoSingleFactory.java b/runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/PrimitiveParDoSingleFactory.java
index 40b3e3f2f0d..732de763059 100644
--- a/runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/PrimitiveParDoSingleFactory.java
+++ b/runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/PrimitiveParDoSingleFactory.java
@@ -75,8 +75,8 @@ import org.apache.beam.vendor.guava.v26_0_jre.com.google.common.collect.Sets;
  * that {@link DisplayData} appears on all {@link ParDo ParDos} in the {@link DataflowRunner}.
  */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class PrimitiveParDoSingleFactory<InputT, OutputT>
     extends SingleInputOutputOverrideFactory<
diff --git a/runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/TestDataflowRunner.java b/runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/TestDataflowRunner.java
index c8552900557..2a32c86a519 100644
--- a/runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/TestDataflowRunner.java
+++ b/runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/TestDataflowRunner.java
@@ -53,7 +53,7 @@ import org.slf4j.LoggerFactory;
  * @see TestPipeline
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class TestDataflowRunner extends PipelineRunner<DataflowPipelineJob> {
   private static final String TENTATIVE_COUNTER = "tentative";
diff --git a/runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/TransformTranslator.java b/runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/TransformTranslator.java
index 8ea7378bd8a..bb91c99875f 100644
--- a/runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/TransformTranslator.java
+++ b/runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/TransformTranslator.java
@@ -39,7 +39,7 @@ import org.apache.beam.sdk.values.TupleTag;
  * for the Cloud Dataflow service. It does so by mutating the {@link TranslationContext}.
  */
 @SuppressWarnings({
-  "rawtypes" // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes" // TODO(https://github.com/apache/beam/issues/20447)
 })
 public interface TransformTranslator<TransformT extends PTransform> {
   void translate(TransformT transform, TranslationContext context);
diff --git a/runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/internal/IsmFormat.java b/runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/internal/IsmFormat.java
index 2cab16eb39c..5db857a5423 100644
--- a/runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/internal/IsmFormat.java
+++ b/runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/internal/IsmFormat.java
@@ -100,7 +100,7 @@ import org.checkerframework.checker.nullness.qual.Nullable;
  * IsmShardCoder} for further details as to its encoding scheme.
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class IsmFormat {
   private static final int HASH_SEED = 1225801234;
diff --git a/runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/options/DataflowPipelineOptions.java b/runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/options/DataflowPipelineOptions.java
index ab6e0ea35bc..abd5e8ec398 100644
--- a/runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/options/DataflowPipelineOptions.java
+++ b/runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/options/DataflowPipelineOptions.java
@@ -41,7 +41,7 @@ import org.slf4j.LoggerFactory;
 /** Options that can be used to configure the {@link DataflowRunner}. */
 @Description("Options that configure the Dataflow pipeline.")
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public interface DataflowPipelineOptions
     extends PipelineOptions,
diff --git a/runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/options/DefaultGcpRegionFactory.java b/runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/options/DefaultGcpRegionFactory.java
index b836a2940f4..a3f1011275b 100644
--- a/runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/options/DefaultGcpRegionFactory.java
+++ b/runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/options/DefaultGcpRegionFactory.java
@@ -39,7 +39,7 @@ import org.slf4j.LoggerFactory;
  */
 @VisibleForTesting
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class DefaultGcpRegionFactory implements DefaultValueFactory<String> {
   private static final Logger LOG = LoggerFactory.getLogger(DefaultGcpRegionFactory.class);
diff --git a/runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/util/AvroCoderCloudObjectTranslator.java b/runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/util/AvroCoderCloudObjectTranslator.java
index 61d195a7be8..af657761a34 100644
--- a/runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/util/AvroCoderCloudObjectTranslator.java
+++ b/runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/util/AvroCoderCloudObjectTranslator.java
@@ -23,7 +23,7 @@ import org.apache.beam.sdk.coders.AvroCoder;
 
 /** A {@link CloudObjectTranslator} for {@link AvroCoder}. */
 @SuppressWarnings({
-  "rawtypes" // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes" // TODO(https://github.com/apache/beam/issues/20447)
 })
 class AvroCoderCloudObjectTranslator implements CloudObjectTranslator<AvroCoder> {
   private static final String TYPE_FIELD = "type";
diff --git a/runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/util/CloudKnownType.java b/runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/util/CloudKnownType.java
index 13de98ac34f..413a5ab51d0 100644
--- a/runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/util/CloudKnownType.java
+++ b/runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/util/CloudKnownType.java
@@ -26,7 +26,7 @@ import org.checkerframework.checker.nullness.qual.Nullable;
 /** A utility for manipulating well-known cloud types. */
 @SuppressWarnings({
   "ImmutableEnumChecker",
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 enum CloudKnownType {
   TEXT("http://schema.org/Text", String.class) {
diff --git a/runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/util/CloudObject.java b/runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/util/CloudObject.java
index 46e6cfa835b..4898062d14f 100644
--- a/runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/util/CloudObject.java
+++ b/runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/util/CloudObject.java
@@ -35,7 +35,7 @@ import org.checkerframework.checker.nullness.qual.Nullable;
  * building additional {@code CloudObject}s.
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public final class CloudObject extends GenericJson implements Cloneable {
   /**
diff --git a/runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/util/CloudObjectTranslators.java b/runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/util/CloudObjectTranslators.java
index 07377fd13ea..c6029662e9f 100644
--- a/runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/util/CloudObjectTranslators.java
+++ b/runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/util/CloudObjectTranslators.java
@@ -50,8 +50,8 @@ import org.apache.beam.vendor.guava.v26_0_jre.com.google.common.collect.Immutabl
 
 /** Utilities for creating {@link CloudObjectTranslator} instances for {@link Coder Coders}. */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 class CloudObjectTranslators {
   private CloudObjectTranslators() {}
diff --git a/runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/util/CloudObjects.java b/runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/util/CloudObjects.java
index 56c4d573639..214f06785fd 100644
--- a/runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/util/CloudObjects.java
+++ b/runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/util/CloudObjects.java
@@ -42,8 +42,8 @@ import org.checkerframework.checker.nullness.qual.Nullable;
 
 /** Utilities for converting an object to a {@link CloudObject}. */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class CloudObjects {
   private CloudObjects() {}
diff --git a/runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/util/CoderCloudObjectTranslatorRegistrar.java b/runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/util/CoderCloudObjectTranslatorRegistrar.java
index 3ff3ca09b1b..5274100f780 100644
--- a/runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/util/CoderCloudObjectTranslatorRegistrar.java
+++ b/runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/util/CoderCloudObjectTranslatorRegistrar.java
@@ -31,7 +31,7 @@ import org.apache.beam.sdk.coders.Coder;
  * AutoService} to generate the necessary META-INF files automatically.
  */
 @SuppressWarnings({
-  "rawtypes" // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes" // TODO(https://github.com/apache/beam/issues/20447)
 })
 public interface CoderCloudObjectTranslatorRegistrar {
   /**
diff --git a/runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/util/DataflowTemplateJob.java b/runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/util/DataflowTemplateJob.java
index ea26203bde4..bac54d08838 100644
--- a/runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/util/DataflowTemplateJob.java
+++ b/runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/util/DataflowTemplateJob.java
@@ -27,7 +27,7 @@ import org.joda.time.Duration;
 
 /** A {@link DataflowPipelineJob} that is returned when {@code --templateRunner} is set. */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class DataflowTemplateJob extends DataflowPipelineJob {
   private static final String ERROR = "The result of template creation should not be used.";
diff --git a/runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/util/DefaultCoderCloudObjectTranslatorRegistrar.java b/runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/util/DefaultCoderCloudObjectTranslatorRegistrar.java
index 0b3e554d430..5d8feecb169 100644
--- a/runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/util/DefaultCoderCloudObjectTranslatorRegistrar.java
+++ b/runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/util/DefaultCoderCloudObjectTranslatorRegistrar.java
@@ -56,7 +56,7 @@ import org.apache.beam.vendor.guava.v26_0_jre.com.google.common.collect.Immutabl
  */
 @AutoService(CoderCloudObjectTranslatorRegistrar.class)
 @SuppressWarnings({
-  "rawtypes" // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes" // TODO(https://github.com/apache/beam/issues/20447)
 })
 public class DefaultCoderCloudObjectTranslatorRegistrar
     implements CoderCloudObjectTranslatorRegistrar {
diff --git a/runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/util/PackageUtil.java b/runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/util/PackageUtil.java
index e900787258a..0ecc6031654 100644
--- a/runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/util/PackageUtil.java
+++ b/runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/util/PackageUtil.java
@@ -67,7 +67,7 @@ import org.slf4j.LoggerFactory;
 
 /** Helper routines for packages. */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class PackageUtil implements Closeable {
 
diff --git a/runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/util/RandomAccessData.java b/runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/util/RandomAccessData.java
index 4b646dcd3ee..09a4d4b1d42 100644
--- a/runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/util/RandomAccessData.java
+++ b/runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/util/RandomAccessData.java
@@ -51,7 +51,7 @@ import org.checkerframework.checker.nullness.qual.Nullable;
  */
 @NotThreadSafe
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class RandomAccessData {
   /**
diff --git a/runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/util/SchemaCoderCloudObjectTranslator.java b/runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/util/SchemaCoderCloudObjectTranslator.java
index 112cd397d42..32f11bd2556 100644
--- a/runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/util/SchemaCoderCloudObjectTranslator.java
+++ b/runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/util/SchemaCoderCloudObjectTranslator.java
@@ -36,7 +36,7 @@ import org.apache.beam.vendor.grpc.v1p43p2.com.google.protobuf.util.JsonFormat;
 /** Translator for Schema coders. */
 @Experimental(Kind.SCHEMAS)
 @SuppressWarnings({
-  "rawtypes" // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes" // TODO(https://github.com/apache/beam/issues/20447)
 })
 public class SchemaCoderCloudObjectTranslator implements CloudObjectTranslator<SchemaCoder> {
   private static final String SCHEMA = "schema";
diff --git a/runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/util/SerializableCoderCloudObjectTranslator.java b/runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/util/SerializableCoderCloudObjectTranslator.java
index 6b7e8823ea8..3c6be798b87 100644
--- a/runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/util/SerializableCoderCloudObjectTranslator.java
+++ b/runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/util/SerializableCoderCloudObjectTranslator.java
@@ -25,7 +25,7 @@ import org.apache.beam.sdk.coders.SerializableCoder;
 
 /** A {@link CloudObjectTranslator} for {@link SerializableCoder}. */
 @SuppressWarnings({
-  "rawtypes" // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes" // TODO(https://github.com/apache/beam/issues/20447)
 })
 class SerializableCoderCloudObjectTranslator implements CloudObjectTranslator<SerializableCoder> {
   private static final String TYPE_FIELD = "type";
diff --git a/runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/util/Structs.java b/runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/util/Structs.java
index 8a6c44a8cdc..17768e9133e 100644
--- a/runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/util/Structs.java
+++ b/runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/util/Structs.java
@@ -31,7 +31,7 @@ import org.checkerframework.checker.nullness.qual.Nullable;
  * Dataflow API.
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public final class Structs {
   private Structs() {} // Non-instantiable
diff --git a/runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/util/TimeUtil.java b/runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/util/TimeUtil.java
index 246d0823dc2..94dd4e0813f 100644
--- a/runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/util/TimeUtil.java
+++ b/runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/util/TimeUtil.java
@@ -41,7 +41,7 @@ import org.joda.time.chrono.ISOChronology;
  * digits (microsecond resolution), or nine digits (nanosecond resolution).
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public final class TimeUtil {
   private TimeUtil() {} // Non-instantiable.
diff --git a/runners/google-cloud-dataflow-java/src/test/java/org/apache/beam/runners/dataflow/DataflowMetricsTest.java b/runners/google-cloud-dataflow-java/src/test/java/org/apache/beam/runners/dataflow/DataflowMetricsTest.java
index 7f2b239098e..c9247a8c36f 100644
--- a/runners/google-cloud-dataflow-java/src/test/java/org/apache/beam/runners/dataflow/DataflowMetricsTest.java
+++ b/runners/google-cloud-dataflow-java/src/test/java/org/apache/beam/runners/dataflow/DataflowMetricsTest.java
@@ -64,7 +64,7 @@ import org.mockito.MockitoAnnotations;
 /** Tests for {@link DataflowMetrics}. */
 @RunWith(JUnit4.class)
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
 })
 public class DataflowMetricsTest {
   private static final String PROJECT_ID = "some-project";
diff --git a/runners/google-cloud-dataflow-java/src/test/java/org/apache/beam/runners/dataflow/DataflowPipelineTranslatorTest.java b/runners/google-cloud-dataflow-java/src/test/java/org/apache/beam/runners/dataflow/DataflowPipelineTranslatorTest.java
index 82297b9784a..5a92c889c9d 100644
--- a/runners/google-cloud-dataflow-java/src/test/java/org/apache/beam/runners/dataflow/DataflowPipelineTranslatorTest.java
+++ b/runners/google-cloud-dataflow-java/src/test/java/org/apache/beam/runners/dataflow/DataflowPipelineTranslatorTest.java
@@ -139,7 +139,7 @@ import org.mockito.ArgumentMatcher;
 /** Tests for DataflowPipelineTranslator. */
 @RunWith(JUnit4.class)
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
 })
 public class DataflowPipelineTranslatorTest implements Serializable {
 
diff --git a/runners/google-cloud-dataflow-java/src/test/java/org/apache/beam/runners/dataflow/util/CloudObjectsTest.java b/runners/google-cloud-dataflow-java/src/test/java/org/apache/beam/runners/dataflow/util/CloudObjectsTest.java
index 19927f297ec..71208f60b20 100644
--- a/runners/google-cloud-dataflow-java/src/test/java/org/apache/beam/runners/dataflow/util/CloudObjectsTest.java
+++ b/runners/google-cloud-dataflow-java/src/test/java/org/apache/beam/runners/dataflow/util/CloudObjectsTest.java
@@ -83,7 +83,7 @@ import org.junit.runners.Parameterized.Parameters;
 /** Tests for {@link CloudObjects}. */
 @RunWith(Enclosed.class)
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
 })
 public class CloudObjectsTest {
   private static final Schema TEST_SCHEMA =
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/ApplianceShuffleReader.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/ApplianceShuffleReader.java
index 8703fdafbea..158c242262a 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/ApplianceShuffleReader.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/ApplianceShuffleReader.java
@@ -29,7 +29,7 @@ import org.apache.beam.runners.dataflow.worker.util.common.worker.OperationConte
  */
 @ThreadSafe
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public final class ApplianceShuffleReader implements ShuffleReader, Closeable {
   static {
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/ApplianceShuffleWriter.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/ApplianceShuffleWriter.java
index f043516e14b..0a56281991a 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/ApplianceShuffleWriter.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/ApplianceShuffleWriter.java
@@ -28,7 +28,7 @@ import org.apache.beam.runners.dataflow.worker.util.common.worker.OperationConte
  */
 @ThreadSafe
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public final class ApplianceShuffleWriter implements ShuffleWriter {
   static {
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/AvroByteReader.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/AvroByteReader.java
index 0492e3dc83b..63e6f904c99 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/AvroByteReader.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/AvroByteReader.java
@@ -47,7 +47,7 @@ import org.slf4j.LoggerFactory;
  * @param <T> the type of the elements read from the source
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class AvroByteReader<T> extends NativeReader<T> {
   private static final Logger LOG = LoggerFactory.getLogger(AvroByteReader.class);
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/AvroByteReaderFactory.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/AvroByteReaderFactory.java
index 6437223b78b..938bf3f8393 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/AvroByteReaderFactory.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/AvroByteReaderFactory.java
@@ -33,8 +33,8 @@ import org.checkerframework.checker.nullness.qual.Nullable;
 
 /** Creates an {@link AvroByteReader} from a CloudObject spec. */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class AvroByteReaderFactory implements ReaderFactory {
 
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/AvroByteSinkFactory.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/AvroByteSinkFactory.java
index 0f2b0cc5fc9..bece350c3cd 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/AvroByteSinkFactory.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/AvroByteSinkFactory.java
@@ -32,7 +32,7 @@ import org.checkerframework.checker.nullness.qual.Nullable;
 
 /** Creates an {@link AvroByteSink} from a {@link CloudObject} spec. */
 @SuppressWarnings({
-  "rawtypes" // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes" // TODO(https://github.com/apache/beam/issues/20447)
 })
 public final class AvroByteSinkFactory implements SinkFactory {
 
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/BatchDataflowWorker.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/BatchDataflowWorker.java
index cb697c1a8c7..dd385089ebe 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/BatchDataflowWorker.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/BatchDataflowWorker.java
@@ -69,7 +69,7 @@ import org.slf4j.LoggerFactory;
  * WorkUnitClient to get work, execute it, and update the work.
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class BatchDataflowWorker implements Closeable {
   private static final Logger LOG = LoggerFactory.getLogger(BatchDataflowWorker.class);
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/BatchModeExecutionContext.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/BatchModeExecutionContext.java
index 19670f47fc8..f14afbc3779 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/BatchModeExecutionContext.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/BatchModeExecutionContext.java
@@ -55,7 +55,7 @@ import org.joda.time.Instant;
 
 /** {@link DataflowExecutionContext} for use in batch mode. */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class BatchModeExecutionContext
     extends DataflowExecutionContext<BatchModeExecutionContext.StepContext> {
@@ -320,7 +320,7 @@ public class BatchModeExecutionContext
 
   public <K, V> Cache<K, V> getLogicalReferenceCache() {
     @SuppressWarnings({
-      "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+      "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
       "unchecked"
     })
     Cache<K, V> rval = (Cache) logicalReferenceCache;
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/BatchModeUngroupingParDoFn.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/BatchModeUngroupingParDoFn.java
index f5e9049a392..3667893393f 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/BatchModeUngroupingParDoFn.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/BatchModeUngroupingParDoFn.java
@@ -31,7 +31,7 @@ import org.joda.time.Instant;
  * WindowedValues}.
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 class BatchModeUngroupingParDoFn<K, V> implements ParDoFn {
 
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/BeamFnMapTaskExecutorFactory.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/BeamFnMapTaskExecutorFactory.java
index 8a45e5a4848..b287bf2bf33 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/BeamFnMapTaskExecutorFactory.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/BeamFnMapTaskExecutorFactory.java
@@ -111,8 +111,8 @@ import org.slf4j.LoggerFactory;
 
 /** Creates a {@link DataflowMapTaskExecutor} from a {@link MapTask} definition. */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class BeamFnMapTaskExecutorFactory implements DataflowMapTaskExecutorFactory {
   private static final Logger LOG = LoggerFactory.getLogger(BeamFnMapTaskExecutorFactory.class);
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/CombineValuesFnFactory.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/CombineValuesFnFactory.java
index 319c811fb44..b914cc5fbda 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/CombineValuesFnFactory.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/CombineValuesFnFactory.java
@@ -53,8 +53,8 @@ import org.checkerframework.checker.nullness.qual.Nullable;
  * specifications from the Dataflow service.
  */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 class CombineValuesFnFactory implements ParDoFnFactory {
 
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/ConcatReader.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/ConcatReader.java
index 0829f70a9a4..3c95c92568b 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/ConcatReader.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/ConcatReader.java
@@ -57,8 +57,8 @@ import org.slf4j.LoggerFactory;
  * @param <T> Type of the elements read by the {@link NativeReader}s.
  */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class ConcatReader<T> extends NativeReader<T> {
   private static final Logger LOG = LoggerFactory.getLogger(ConcatReader.class);
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/ConcatReaderFactory.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/ConcatReaderFactory.java
index d96d5b44113..a7428b25ddb 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/ConcatReaderFactory.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/ConcatReaderFactory.java
@@ -37,8 +37,8 @@ import org.checkerframework.checker.nullness.qual.Nullable;
 
 /** Creates an {@link ConcatReader} from a {@link CloudObject} spec. */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class ConcatReaderFactory implements ReaderFactory {
 
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/CounterShortIdCache.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/CounterShortIdCache.java
index 742ab0ffcdf..3afed7754bc 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/CounterShortIdCache.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/CounterShortIdCache.java
@@ -39,8 +39,8 @@ import org.checkerframework.checker.nullness.qual.Nullable;
  * backend.
  */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class CounterShortIdCache {
 
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/CreateIsmShardKeyAndSortKeyDoFnFactory.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/CreateIsmShardKeyAndSortKeyDoFnFactory.java
index 87120b5fa47..d7293a4b723 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/CreateIsmShardKeyAndSortKeyDoFnFactory.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/CreateIsmShardKeyAndSortKeyDoFnFactory.java
@@ -48,8 +48,8 @@ import org.apache.beam.vendor.guava.v26_0_jre.com.google.common.collect.Immutabl
  * files. See <a href="go/dataflow-side-inputs">go/dataflow-side-inputs</a> for further details.
  */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class CreateIsmShardKeyAndSortKeyDoFnFactory implements ParDoFnFactory {
 
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/DataflowElementExecutionTracker.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/DataflowElementExecutionTracker.java
index 270c0a9e63c..c446833955c 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/DataflowElementExecutionTracker.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/DataflowElementExecutionTracker.java
@@ -63,7 +63,7 @@ import org.slf4j.LoggerFactory;
  * Flume.
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class DataflowElementExecutionTracker extends ElementExecutionTracker {
   @VisibleForTesting
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/DataflowExecutionContext.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/DataflowExecutionContext.java
index 1e8271d716b..0d8c270d6a8 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/DataflowExecutionContext.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/DataflowExecutionContext.java
@@ -50,7 +50,7 @@ import org.joda.time.Instant;
 
 /** Execution context for the Dataflow worker. */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public abstract class DataflowExecutionContext<T extends DataflowStepContext> {
 
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/DataflowExecutionStateRegistry.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/DataflowExecutionStateRegistry.java
index a3fb42b55c7..88299790c33 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/DataflowExecutionStateRegistry.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/DataflowExecutionStateRegistry.java
@@ -31,7 +31,7 @@ import org.checkerframework.checker.nullness.qual.Nullable;
 
 /** Manages the instances of {@link ExecutionState} */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public abstract class DataflowExecutionStateRegistry {
 
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/DataflowMetricsContainer.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/DataflowMetricsContainer.java
index 7a68e8f8199..81517129c8e 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/DataflowMetricsContainer.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/DataflowMetricsContainer.java
@@ -32,10 +32,10 @@ import org.apache.beam.sdk.metrics.MetricsEnvironment;
  * updated once on entry to the entire stage, rather than in between every step.
  */
 // not clear why the interface extends Serializable
-// https://issues.apache.org/jira/browse/BEAM-6573
+// https://github.com/apache/beam/issues/19328
 @SuppressFBWarnings("SE_BAD_FIELD")
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class DataflowMetricsContainer implements MetricsContainer {
 
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/DataflowOperationContext.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/DataflowOperationContext.java
index f4137c3ec30..2062913e047 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/DataflowOperationContext.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/DataflowOperationContext.java
@@ -55,7 +55,7 @@ import org.slf4j.LoggerFactory;
  * start/process/finish/abort states are properly tracked.
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class DataflowOperationContext implements OperationContext {
 
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/DataflowOutputCounter.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/DataflowOutputCounter.java
index bd62d7c7271..4e24df0819e 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/DataflowOutputCounter.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/DataflowOutputCounter.java
@@ -32,7 +32,7 @@ import org.apache.beam.vendor.guava.v26_0_jre.com.google.common.annotations.Visi
  * differently as PhysicalElementCount. Additionally, it counts element windows as ElementCount.
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class DataflowOutputCounter implements ElementCounter {
   /** Number of physical element and multiple-window assignments that were serialized/processed. */
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/DataflowPortabilityPCollectionView.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/DataflowPortabilityPCollectionView.java
index 60caa3a2d34..44907f3631d 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/DataflowPortabilityPCollectionView.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/DataflowPortabilityPCollectionView.java
@@ -54,7 +54,7 @@ import org.checkerframework.checker.nullness.qual.Nullable;
  * SideInputReader}s.
  */
 @SuppressWarnings({
-  "rawtypes" // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes" // TODO(https://github.com/apache/beam/issues/20447)
 })
 public class DataflowPortabilityPCollectionView<K, V, W extends BoundedWindow>
     implements PCollectionView<MultimapView<K, V>> {
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/DataflowProcessFnRunner.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/DataflowProcessFnRunner.java
index 7d9174ca3b4..c3a8d30b119 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/DataflowProcessFnRunner.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/DataflowProcessFnRunner.java
@@ -42,7 +42,7 @@ import org.joda.time.Instant;
  * because the code for handling pushback on streaming side inputs in Dataflow is also divergent
  * from the runner-agnostic code in runners-core. If that code is ever unified, so can this class.
  */
-@SuppressWarnings({"keyfor", "nullness"}) // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+@SuppressWarnings({"keyfor", "nullness"}) // TODO(https://github.com/apache/beam/issues/20497)
 class DataflowProcessFnRunner<InputT, OutputT, RestrictionT>
     implements DoFnRunner<KeyedWorkItem<byte[], KV<InputT, RestrictionT>>, OutputT> {
   private final DoFnRunner<KeyedWorkItem<byte[], KV<InputT, RestrictionT>>, OutputT> simpleRunner;
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/DataflowRunnerHarness.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/DataflowRunnerHarness.java
index f0d9195b0fb..81d58ac30f9 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/DataflowRunnerHarness.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/DataflowRunnerHarness.java
@@ -54,7 +54,7 @@ import org.slf4j.LoggerFactory;
  * versa.
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class DataflowRunnerHarness {
   private static final Logger LOG = LoggerFactory.getLogger(DataflowRunnerHarness.class);
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/DataflowSideInputReadCounter.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/DataflowSideInputReadCounter.java
index 72a23401ecf..ab2838b0482 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/DataflowSideInputReadCounter.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/DataflowSideInputReadCounter.java
@@ -80,8 +80,8 @@ import org.apache.beam.vendor.guava.v26_0_jre.com.google.common.base.MoreObjects
  * possible because both ParDos will be fused, so they will simply exchange objects in memory.
  */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class DataflowSideInputReadCounter implements SideInputReadCounter {
   private final DataflowExecutionContext executionContext;
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/DataflowWorkProgressUpdater.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/DataflowWorkProgressUpdater.java
index 845690dd5dc..f1610429562 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/DataflowWorkProgressUpdater.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/DataflowWorkProgressUpdater.java
@@ -42,7 +42,7 @@ import org.slf4j.LoggerFactory;
  */
 @NotThreadSafe
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class DataflowWorkProgressUpdater extends WorkProgressUpdater {
 
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/DataflowWorkUnitClient.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/DataflowWorkUnitClient.java
index f2daa49e7cf..53d33ddd0ba 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/DataflowWorkUnitClient.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/DataflowWorkUnitClient.java
@@ -55,7 +55,7 @@ import org.slf4j.Logger;
 /** A Dataflow WorkUnit client that fetches WorkItems from the Dataflow service. */
 @ThreadSafe
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 class DataflowWorkUnitClient implements WorkUnitClient {
   private final Logger logger;
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/DataflowWorkerHarnessHelper.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/DataflowWorkerHarnessHelper.java
index 29eeb28d09c..9ba08dafee9 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/DataflowWorkerHarnessHelper.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/DataflowWorkerHarnessHelper.java
@@ -38,7 +38,7 @@ import org.slf4j.LoggerFactory;
 
 /** A helper class for initialization of the Dataflow worker harness. */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public final class DataflowWorkerHarnessHelper {
   private static final Logger LOG = LoggerFactory.getLogger(DataflowWorkerHarnessHelper.class);
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/DoFnInstanceManagers.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/DoFnInstanceManagers.java
index 175bcefd46b..28fc1df3958 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/DoFnInstanceManagers.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/DoFnInstanceManagers.java
@@ -26,7 +26,7 @@ import org.apache.beam.sdk.util.SerializableUtils;
 
 /** Common {@link DoFnInstanceManager} implementations. */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class DoFnInstanceManagers {
   /**
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/ExperimentContext.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/ExperimentContext.java
index d215799e767..be05d453f97 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/ExperimentContext.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/ExperimentContext.java
@@ -33,7 +33,7 @@ import org.apache.beam.vendor.guava.v26_0_jre.com.google.common.collect.Sets;
  * {@link PipelineOptions} and call {@link #isEnabled} to test if it is enabled.
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class ExperimentContext {
 
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/FetchAndFilterStreamingSideInputsOperation.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/FetchAndFilterStreamingSideInputsOperation.java
index 2ae4c4eb8bd..921418b633b 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/FetchAndFilterStreamingSideInputsOperation.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/FetchAndFilterStreamingSideInputsOperation.java
@@ -57,8 +57,8 @@ import org.checkerframework.checker.nullness.qual.Nullable;
  * filtering any input elements that aren't ready by pushing them back into state.
  */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class FetchAndFilterStreamingSideInputsOperation<T, W extends BoundedWindow>
     extends ReceivingOperation {
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/Filepatterns.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/Filepatterns.java
index 68b798ce59c..70a0093616c 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/Filepatterns.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/Filepatterns.java
@@ -23,7 +23,7 @@ import org.apache.beam.vendor.guava.v26_0_jre.com.google.common.collect.Immutabl
 
 /** Utilities for handling filepatterns. */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class Filepatterns {
   private static final Pattern AT_N_SPEC = Pattern.compile("@(?<N>\\d+)");
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/FnApiWindowMappingFn.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/FnApiWindowMappingFn.java
index 7873dda74fa..e5f8b9415bf 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/FnApiWindowMappingFn.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/FnApiWindowMappingFn.java
@@ -73,7 +73,7 @@ import org.slf4j.LoggerFactory;
  * not be inline calls and process elements over a stream.
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 class FnApiWindowMappingFn<TargetWindowT extends BoundedWindow>
     extends WindowMappingFn<TargetWindowT> {
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/GroupAlsoByWindowParDoFnFactory.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/GroupAlsoByWindowParDoFnFactory.java
index 222765d0935..227731a70d1 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/GroupAlsoByWindowParDoFnFactory.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/GroupAlsoByWindowParDoFnFactory.java
@@ -68,8 +68,8 @@ import org.slf4j.LoggerFactory;
  * from the Dataflow service.
  */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 class GroupAlsoByWindowParDoFnFactory implements ParDoFnFactory {
 
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/GroupAlsoByWindowsParDoFn.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/GroupAlsoByWindowsParDoFn.java
index 2d48f95196d..43665f03787 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/GroupAlsoByWindowsParDoFn.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/GroupAlsoByWindowsParDoFn.java
@@ -44,7 +44,7 @@ import org.checkerframework.checker.nullness.qual.Nullable;
 
 /** A specialized {@link ParDoFn} for GroupAlsoByWindow related {@link GroupAlsoByWindowFn}'s. */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class GroupAlsoByWindowsParDoFn<InputT, K, V, W extends BoundedWindow> implements ParDoFn {
   private final PipelineOptions options;
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/GroupingShuffleReader.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/GroupingShuffleReader.java
index ac5582b832d..c0084d87b41 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/GroupingShuffleReader.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/GroupingShuffleReader.java
@@ -68,7 +68,7 @@ import org.slf4j.LoggerFactory;
  * @param <V> the type of the values read from the shuffle
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class GroupingShuffleReader<K, V> extends NativeReader<WindowedValue<KV<K, Reiterable<V>>>> {
   private static final Logger LOG = LoggerFactory.getLogger(GroupingShuffleReader.class);
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/GroupingShuffleReaderFactory.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/GroupingShuffleReaderFactory.java
index 3df431c2b71..abb35ff16f4 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/GroupingShuffleReaderFactory.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/GroupingShuffleReaderFactory.java
@@ -40,8 +40,8 @@ import org.checkerframework.checker.nullness.qual.Nullable;
 
 /** Creates a GroupingShuffleReader from a CloudObject spec. */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class GroupingShuffleReaderFactory implements ReaderFactory {
 
@@ -66,7 +66,7 @@ public class GroupingShuffleReaderFactory implements ReaderFactory {
 
     options = checkArgumentNotNull(options);
     @SuppressWarnings({
-      "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+      "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
       "unchecked"
     })
     Coder<WindowedValue<KV<Object, Iterable<Object>>>> typedCoder = (Coder) coder;
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/GroupingShuffleReaderWithFaultyBytesReadCounter.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/GroupingShuffleReaderWithFaultyBytesReadCounter.java
index a31780bda5f..2ae27f1dd41 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/GroupingShuffleReaderWithFaultyBytesReadCounter.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/GroupingShuffleReaderWithFaultyBytesReadCounter.java
@@ -36,7 +36,7 @@ import org.checkerframework.checker.nullness.qual.Nullable;
  */
 @VisibleForTesting
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 class GroupingShuffleReaderWithFaultyBytesReadCounter<K, V> extends GroupingShuffleReader<K, V> {
   public GroupingShuffleReaderWithFaultyBytesReadCounter(
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/InMemoryReader.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/InMemoryReader.java
index 77863c0a436..0c2edc72182 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/InMemoryReader.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/InMemoryReader.java
@@ -44,7 +44,7 @@ import org.slf4j.LoggerFactory;
  * @param <T> the type of the elements read from the source
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class InMemoryReader<T> extends NativeReader<T> {
   private static final Logger LOG = LoggerFactory.getLogger(InMemoryReader.class);
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/InMemoryReaderFactory.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/InMemoryReaderFactory.java
index 2986374f69a..ba6526f9e32 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/InMemoryReaderFactory.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/InMemoryReaderFactory.java
@@ -33,8 +33,8 @@ import org.checkerframework.checker.nullness.qual.Nullable;
 
 /** Creates an InMemoryReader from a CloudObject spec. */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class InMemoryReaderFactory implements ReaderFactory {
 
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/IntrinsicMapTaskExecutorFactory.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/IntrinsicMapTaskExecutorFactory.java
index 57be68547f7..a9ee7a231be 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/IntrinsicMapTaskExecutorFactory.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/IntrinsicMapTaskExecutorFactory.java
@@ -84,7 +84,7 @@ import org.slf4j.LoggerFactory;
 
 /** Creates a {@link DataflowMapTaskExecutor} from a {@link MapTask} definition. */
 @SuppressWarnings({
-  "rawtypes" // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes" // TODO(https://github.com/apache/beam/issues/20447)
 })
 public class IntrinsicMapTaskExecutorFactory implements DataflowMapTaskExecutorFactory {
   private static final Logger LOG = LoggerFactory.getLogger(IntrinsicMapTaskExecutorFactory.class);
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/IsmReader.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/IsmReader.java
index 25fb7141fac..a2265669542 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/IsmReader.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/IsmReader.java
@@ -34,7 +34,7 @@ import org.apache.beam.vendor.guava.v26_0_jre.com.google.common.base.MoreObjects
  * @param <V> the type of the value written to the sink
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public abstract class IsmReader<V> extends NativeReader<WindowedValue<IsmRecord<V>>> {
   private static final ThreadLocal<SideInputReadCounter> CURRENT_SIDE_INPUT_COUNTERS =
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/IsmReaderFactory.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/IsmReaderFactory.java
index 61c40127545..5418ef9d0dc 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/IsmReaderFactory.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/IsmReaderFactory.java
@@ -47,8 +47,8 @@ import org.checkerframework.checker.nullness.qual.Nullable;
  * non {@link IsmRecordCoder} with this reader factory.
  */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class IsmReaderFactory implements ReaderFactory {
 
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/IsmReaderImpl.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/IsmReaderImpl.java
index a01714bfff4..3dedec0370e 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/IsmReaderImpl.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/IsmReaderImpl.java
@@ -83,7 +83,7 @@ import org.checkerframework.checker.nullness.qual.Nullable;
 // Possible real inconsistency - https://issues.apache.org/jira/browse/BEAM-6560
 @SuppressFBWarnings("IS2_INCONSISTENT_SYNC")
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class IsmReaderImpl<V> extends IsmReader<V> {
   /**
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/IsmSideInputReader.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/IsmSideInputReader.java
index 35d865f3172..37879816d91 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/IsmSideInputReader.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/IsmSideInputReader.java
@@ -100,10 +100,10 @@ import org.checkerframework.checker.nullness.qual.Nullable;
  * list views, and {@link #getMapForWindow} for map and multimap views.
  */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
   "keyfor",
   "nullness"
-}) // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+}) // TODO(https://github.com/apache/beam/issues/20497)
 public class IsmSideInputReader implements SideInputReader {
   private static final String SINGLETON_KIND = "singleton";
   private static final String COLLECTION_KIND = "collection";
@@ -396,7 +396,7 @@ public class IsmSideInputReader implements SideInputReader {
   private <T, W extends BoundedWindow> T getSingletonForWindow(
       TupleTag<?> viewTag, HasDefaultValue<T> viewFn, W window) throws IOException {
     @SuppressWarnings({
-      "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+      "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
       "unchecked"
     })
     List<IsmReader<WindowedValue<T>>> readers = (List) tagToIsmReaderMap.get(viewTag);
@@ -422,7 +422,7 @@ public class IsmSideInputReader implements SideInputReader {
   private <T, W extends BoundedWindow> T getMapSingletonForViewAndWindow(
       TupleTag<?> viewTag, W window) throws IOException {
     @SuppressWarnings({
-      "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+      "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
       "unchecked"
     })
     List<IsmReader<WindowedValue<T>>> readers = (List) tagToIsmReaderMap.get(viewTag);
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/IsmSink.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/IsmSink.java
index d59526f986d..620e70444ad 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/IsmSink.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/IsmSink.java
@@ -56,7 +56,7 @@ import org.apache.beam.vendor.guava.v26_0_jre.com.google.common.io.CountingOutpu
  * @param <V> the type of the value written to the sink
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class IsmSink<V> extends Sink<WindowedValue<IsmRecord<V>>> {
   static final int BLOCK_SIZE_BYTES = 1024 * 1024;
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/IsmSinkFactory.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/IsmSinkFactory.java
index 40018de54cf..b5fd69b8ac4 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/IsmSinkFactory.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/IsmSinkFactory.java
@@ -44,7 +44,7 @@ import org.checkerframework.checker.nullness.qual.Nullable;
  * {@link IsmRecordCoder} with this sink factory.
  */
 @SuppressWarnings({
-  "rawtypes" // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes" // TODO(https://github.com/apache/beam/issues/20447)
 })
 public class IsmSinkFactory implements SinkFactory {
 
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/KeyTokenInvalidException.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/KeyTokenInvalidException.java
index a774ef0e91f..7ae12fe3cd7 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/KeyTokenInvalidException.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/KeyTokenInvalidException.java
@@ -19,7 +19,7 @@ package org.apache.beam.runners.dataflow.worker;
 
 /** Indicates that the key token was invalid when data was attempted to be fetched. */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class KeyTokenInvalidException extends RuntimeException {
   public KeyTokenInvalidException(String key) {
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/MetricTrackingWindmillServerStub.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/MetricTrackingWindmillServerStub.java
index d2eff46ef77..b7a1f6aec8d 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/MetricTrackingWindmillServerStub.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/MetricTrackingWindmillServerStub.java
@@ -43,7 +43,7 @@ import org.joda.time.Duration;
  * batched requests.
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class MetricTrackingWindmillServerStub {
 
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/MetricsToCounterUpdateConverter.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/MetricsToCounterUpdateConverter.java
index 14c9b9f89db..463d99e1edb 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/MetricsToCounterUpdateConverter.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/MetricsToCounterUpdateConverter.java
@@ -30,7 +30,7 @@ import org.apache.beam.sdk.metrics.MetricName;
 
 /** Convertor from Metrics to {@link CounterUpdate} protos. */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class MetricsToCounterUpdateConverter {
 
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/NoOpSourceOperationExecutor.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/NoOpSourceOperationExecutor.java
index aa13b3b6958..d607ede29a0 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/NoOpSourceOperationExecutor.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/NoOpSourceOperationExecutor.java
@@ -27,7 +27,7 @@ import org.apache.beam.runners.dataflow.worker.counters.CounterSet;
 
 /** An executor for a source operation which does not perform any splits. */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class NoOpSourceOperationExecutor implements SourceOperationExecutor {
 
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/PairWithConstantKeyDoFnFactory.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/PairWithConstantKeyDoFnFactory.java
index 8abd9989dc7..84c719cc5de 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/PairWithConstantKeyDoFnFactory.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/PairWithConstantKeyDoFnFactory.java
@@ -41,8 +41,8 @@ import org.apache.beam.sdk.values.TupleTag;
  * WindowedValue<V>} to {@code WindowedValue<KV<K, V>>} for a constant key {@code K}.
  */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class PairWithConstantKeyDoFnFactory implements ParDoFnFactory {
   @Override
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/PartialGroupByKeyParDoFns.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/PartialGroupByKeyParDoFns.java
index cfaef527458..fee5127066c 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/PartialGroupByKeyParDoFns.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/PartialGroupByKeyParDoFns.java
@@ -55,7 +55,7 @@ import org.joda.time.Instant;
 
 /** A factory class that creates {@link ParDoFn} for {@link PartialGroupByKeyInstruction}. */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class PartialGroupByKeyParDoFns {
   public static <K, InputT, AccumT> ParDoFn create(
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/PartitioningShuffleReader.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/PartitioningShuffleReader.java
index a52315df53e..39c015c13d4 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/PartitioningShuffleReader.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/PartitioningShuffleReader.java
@@ -40,7 +40,7 @@ import org.apache.beam.vendor.guava.v26_0_jre.com.google.common.annotations.Visi
  * @param <V> the type of the values read from the shuffle
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class PartitioningShuffleReader<K, V> extends NativeReader<WindowedValue<KV<K, V>>> {
   final byte[] shuffleReaderConfig;
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/PartitioningShuffleReaderFactory.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/PartitioningShuffleReaderFactory.java
index a5a470b4d95..d6f85c60038 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/PartitioningShuffleReaderFactory.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/PartitioningShuffleReaderFactory.java
@@ -35,8 +35,8 @@ import org.checkerframework.checker.nullness.qual.Nullable;
 
 /** Creates a PartitioningShuffleReader from a CloudObject spec. */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class PartitioningShuffleReaderFactory implements ReaderFactory {
 
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/PubsubReader.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/PubsubReader.java
index 9ee512450fe..5dc047e9334 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/PubsubReader.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/PubsubReader.java
@@ -41,8 +41,8 @@ import org.checkerframework.checker.nullness.qual.Nullable;
 
 /** A Reader that receives elements from Pubsub, via a Windmill server. */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 class PubsubReader<T> extends NativeReader<WindowedValue<T>> {
   private final Coder<T> coder;
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/PubsubSink.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/PubsubSink.java
index 86b05d62ed4..6bd58fd9821 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/PubsubSink.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/PubsubSink.java
@@ -45,8 +45,8 @@ import org.checkerframework.checker.nullness.qual.Nullable;
  * @param <T> the type of the elements written to the sink
  */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 class PubsubSink<T> extends Sink<WindowedValue<T>> {
   private final String topic;
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/ReaderCache.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/ReaderCache.java
index 58f3abfc66a..466aac63d93 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/ReaderCache.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/ReaderCache.java
@@ -37,7 +37,7 @@ import org.slf4j.LoggerFactory;
  */
 @ThreadSafe
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 class ReaderCache {
 
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/ReaderFactory.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/ReaderFactory.java
index 0ff57bd3328..2177e768dcb 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/ReaderFactory.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/ReaderFactory.java
@@ -31,7 +31,7 @@ import org.checkerframework.checker.nullness.qual.Nullable;
  * CloudObject}.
  */
 @SuppressWarnings({
-  "rawtypes" // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes" // TODO(https://github.com/apache/beam/issues/20447)
 })
 public interface ReaderFactory {
 
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/ReaderRegistry.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/ReaderRegistry.java
index 9a9d6b935a2..dfff9722f5a 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/ReaderRegistry.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/ReaderRegistry.java
@@ -40,8 +40,8 @@ import org.checkerframework.checker.nullness.qual.Nullable;
  * service) to appropriate {@link ReaderFactory} instances.
  */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class ReaderRegistry implements ReaderFactory {
 
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/ReifyTimestampAndWindowsParDoFnFactory.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/ReifyTimestampAndWindowsParDoFnFactory.java
index 8cc17818aa2..9fd519bb7f4 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/ReifyTimestampAndWindowsParDoFnFactory.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/ReifyTimestampAndWindowsParDoFnFactory.java
@@ -33,7 +33,7 @@ import org.checkerframework.checker.nullness.qual.Nullable;
 
 /** A {@link ParDoFnFactory} to create instances of {@link ReifyTimestampAndWindowsParDoFn}. */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 class ReifyTimestampAndWindowsParDoFnFactory implements ParDoFnFactory {
   @Override
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/RunnerHarnessCoderCloudObjectTranslatorRegistrar.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/RunnerHarnessCoderCloudObjectTranslatorRegistrar.java
index 02c72784acf..77fb7145772 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/RunnerHarnessCoderCloudObjectTranslatorRegistrar.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/RunnerHarnessCoderCloudObjectTranslatorRegistrar.java
@@ -46,8 +46,8 @@ import org.apache.beam.vendor.guava.v26_0_jre.com.google.common.collect.Immutabl
  */
 @AutoService(CoderCloudObjectTranslatorRegistrar.class)
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class RunnerHarnessCoderCloudObjectTranslatorRegistrar
     implements CoderCloudObjectTranslatorRegistrar {
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/SdkHarnessRegistries.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/SdkHarnessRegistries.java
index 0033f2f54cb..9657c44c6fc 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/SdkHarnessRegistries.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/SdkHarnessRegistries.java
@@ -37,7 +37,7 @@ import org.slf4j.LoggerFactory;
 
 /** Factory to create SdkHarnessRegistry */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class SdkHarnessRegistries {
 
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/ShuffleLibrary.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/ShuffleLibrary.java
index 361623974d2..ddf4fad60c3 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/ShuffleLibrary.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/ShuffleLibrary.java
@@ -25,7 +25,7 @@ import java.nio.file.StandardCopyOption;
 
 /** Native library used to read from and write to a shuffle dataset. */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 class ShuffleLibrary {
   /** Loads the native shuffle library. */
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/ShuffleSink.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/ShuffleSink.java
index f04ced40b73..955902c9a4a 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/ShuffleSink.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/ShuffleSink.java
@@ -46,8 +46,8 @@ import org.apache.beam.vendor.guava.v26_0_jre.com.google.common.primitives.Ints;
  * @param <T> the type of the elements written to the sink
  */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class ShuffleSink<T> extends Sink<WindowedValue<T>> {
   enum ShuffleKind {
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/ShuffleSinkFactory.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/ShuffleSinkFactory.java
index e66e52843ad..1beb2f15bd7 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/ShuffleSinkFactory.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/ShuffleSinkFactory.java
@@ -34,8 +34,8 @@ import org.checkerframework.checker.nullness.qual.Nullable;
 
 /** Creates a {@link ShuffleSink} from a {@link CloudObject} spec. */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class ShuffleSinkFactory implements SinkFactory {
 
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/SimpleDoFnRunnerFactory.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/SimpleDoFnRunnerFactory.java
index f69c7c50c3b..45fca54d58f 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/SimpleDoFnRunnerFactory.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/SimpleDoFnRunnerFactory.java
@@ -33,7 +33,7 @@ import org.apache.beam.sdk.values.TupleTag;
 import org.apache.beam.sdk.values.WindowingStrategy;
 
 @SuppressWarnings({
-  "rawtypes" // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes" // TODO(https://github.com/apache/beam/issues/20447)
 })
 class SimpleDoFnRunnerFactory<InputT, OutputT> implements DoFnRunnerFactory<InputT, OutputT> {
   public static final SimpleDoFnRunnerFactory INSTANCE = new SimpleDoFnRunnerFactory();
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/SimpleParDoFn.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/SimpleParDoFn.java
index 3363c3dd09f..d48ea9d58ca 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/SimpleParDoFn.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/SimpleParDoFn.java
@@ -73,8 +73,8 @@ import org.slf4j.LoggerFactory;
  * GroupAlsoByWindowFn}.
  */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class SimpleParDoFn<InputT, OutputT> implements ParDoFn {
   // TODO: Remove once Distributions has shipped.
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/SinkFactory.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/SinkFactory.java
index bd9b0dc258b..80ed0220587 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/SinkFactory.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/SinkFactory.java
@@ -28,7 +28,7 @@ import org.checkerframework.checker.nullness.qual.Nullable;
 
 /** Constructs a {@link Sink} from a Dataflow service {@link CloudObject} specification. */
 @SuppressWarnings({
-  "rawtypes" // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes" // TODO(https://github.com/apache/beam/issues/20447)
 })
 public interface SinkFactory {
 
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/SinkRegistry.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/SinkRegistry.java
index aee28faf692..80cd1aa2fd3 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/SinkRegistry.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/SinkRegistry.java
@@ -36,8 +36,8 @@ import org.checkerframework.checker.nullness.qual.Nullable;
  * service) to appropriate {@link SinkFactory} instances.
  */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public final class SinkRegistry implements SinkFactory {
 
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/SourceTranslationUtils.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/SourceTranslationUtils.java
index af82acff56f..772e71a8839 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/SourceTranslationUtils.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/SourceTranslationUtils.java
@@ -31,7 +31,7 @@ import org.checkerframework.checker.nullness.qual.Nullable;
 
 /** Utilities for representing input-specific objects using Dataflow model protos. */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class SourceTranslationUtils {
   public static NativeReader.Progress cloudProgressToReaderProgress(
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/SplittableProcessFnFactory.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/SplittableProcessFnFactory.java
index 4d8d05e7d53..872acc7c35d 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/SplittableProcessFnFactory.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/SplittableProcessFnFactory.java
@@ -64,7 +64,7 @@ import org.joda.time.Instant;
  * specifications from the Dataflow service.
  */
 @SuppressWarnings({
-  "rawtypes" // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes" // TODO(https://github.com/apache/beam/issues/20447)
 })
 class SplittableProcessFnFactory {
   static final ParDoFnFactory createDefault() {
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/StateFetcher.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/StateFetcher.java
index e037decf644..883822f4fc7 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/StateFetcher.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/StateFetcher.java
@@ -51,8 +51,8 @@ import org.slf4j.LoggerFactory;
 
 /** Class responsible for fetching state from the windmill server. */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 class StateFetcher {
   private static final Set<String> SUPPORTED_MATERIALIZATIONS =
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/StreamingDataflowWorker.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/StreamingDataflowWorker.java
index a683ff1e748..6552dd620e8 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/StreamingDataflowWorker.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/StreamingDataflowWorker.java
@@ -159,8 +159,8 @@ import org.slf4j.LoggerFactory;
 
 /** Implements a Streaming Dataflow worker. */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class StreamingDataflowWorker {
 
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/StreamingKeyedWorkItemSideInputDoFnRunner.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/StreamingKeyedWorkItemSideInputDoFnRunner.java
index 57f4689a576..53db340670d 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/StreamingKeyedWorkItemSideInputDoFnRunner.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/StreamingKeyedWorkItemSideInputDoFnRunner.java
@@ -55,7 +55,7 @@ import org.joda.time.Instant;
  * @param <W> window type
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class StreamingKeyedWorkItemSideInputDoFnRunner<K, InputT, OutputT, W extends BoundedWindow>
     implements DoFnRunner<KeyedWorkItem<K, InputT>, OutputT> {
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/StreamingModeExecutionContext.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/StreamingModeExecutionContext.java
index eca731cccb4..65838d7fd44 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/StreamingModeExecutionContext.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/StreamingModeExecutionContext.java
@@ -76,7 +76,7 @@ import org.slf4j.LoggerFactory;
 
 /** {@link DataflowExecutionContext} for use in streaming mode. */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class StreamingModeExecutionContext extends DataflowExecutionContext<StepContext> {
 
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/StreamingPCollectionViewWriterParDoFn.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/StreamingPCollectionViewWriterParDoFn.java
index ea27305c6c4..30d9209e792 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/StreamingPCollectionViewWriterParDoFn.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/StreamingPCollectionViewWriterParDoFn.java
@@ -32,7 +32,7 @@ import org.apache.beam.vendor.guava.v26_0_jre.com.google.common.collect.Iterable
  * A {@link ParDoFn} that writes side input data using {@link
  * StreamingModeExecutionContext.StreamingModeStepContext#writePCollectionViewData}.
  */
-@SuppressWarnings({"keyfor", "nullness"}) // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+@SuppressWarnings({"keyfor", "nullness"}) // TODO(https://github.com/apache/beam/issues/20497)
 public class StreamingPCollectionViewWriterParDoFn implements ParDoFn {
 
   private final StreamingModeExecutionContext.StreamingModeStepContext stepContext;
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/StreamingSideInputFetcher.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/StreamingSideInputFetcher.java
index a018980a0f7..c8c7e04cad1 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/StreamingSideInputFetcher.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/StreamingSideInputFetcher.java
@@ -55,7 +55,7 @@ import org.apache.beam.vendor.guava.v26_0_jre.com.google.common.collect.Iterable
 import org.apache.beam.vendor.guava.v26_0_jre.com.google.common.collect.Lists;
 
 /** A class that handles streaming side inputs in a {@link DoFnRunner}. */
-@SuppressWarnings({"keyfor", "nullness"}) // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+@SuppressWarnings({"keyfor", "nullness"}) // TODO(https://github.com/apache/beam/issues/20497)
 public class StreamingSideInputFetcher<InputT, W extends BoundedWindow> {
   private StreamingModeExecutionContext.StreamingModeStepContext stepContext;
   private Map<String, PCollectionView<?>> sideInputViews;
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/StreamingStepMetricsContainer.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/StreamingStepMetricsContainer.java
index 471106466e4..2ed9a05110e 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/StreamingStepMetricsContainer.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/StreamingStepMetricsContainer.java
@@ -41,7 +41,7 @@ import org.checkerframework.checker.nullness.qual.Nullable;
  * single total delta being reported periodically as physical counters.
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class StreamingStepMetricsContainer implements MetricsContainer {
 
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/ToIsmRecordForMultimapDoFnFactory.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/ToIsmRecordForMultimapDoFnFactory.java
index 9194f8f7b62..c8be02db348 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/ToIsmRecordForMultimapDoFnFactory.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/ToIsmRecordForMultimapDoFnFactory.java
@@ -49,8 +49,8 @@ import org.apache.beam.vendor.guava.v26_0_jre.com.google.common.collect.Immutabl
  * files. See <a href="go/dataflow-side-inputs">go/dataflow-side-inputs</a> for further details.
  */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class ToIsmRecordForMultimapDoFnFactory implements ParDoFnFactory {
 
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/UngroupedShuffleReader.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/UngroupedShuffleReader.java
index 50ed81b7ac7..77b5c00042a 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/UngroupedShuffleReader.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/UngroupedShuffleReader.java
@@ -37,7 +37,7 @@ import org.checkerframework.checker.nullness.qual.Nullable;
  * @param <T> the type of the elements read from the source
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class UngroupedShuffleReader<T> extends NativeReader<T> {
   final byte[] shuffleReaderConfig;
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/UngroupedShuffleReaderFactory.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/UngroupedShuffleReaderFactory.java
index f0222683d45..aef4abaffb2 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/UngroupedShuffleReaderFactory.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/UngroupedShuffleReaderFactory.java
@@ -32,8 +32,8 @@ import org.checkerframework.checker.nullness.qual.Nullable;
 
 /** Creates an UngroupedShuffleReader from a CloudObject spec. */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class UngroupedShuffleReaderFactory implements ReaderFactory {
 
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/UngroupedWindmillReader.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/UngroupedWindmillReader.java
index 26b45e944ec..9ceb8c914d5 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/UngroupedWindmillReader.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/UngroupedWindmillReader.java
@@ -43,8 +43,8 @@ import org.joda.time.Instant;
  * A Reader that receives input data from a Windmill server, and returns it as individual elements.
  */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 class UngroupedWindmillReader<T> extends NativeReader<WindowedValue<T>> {
   private final Coder<T> valueCoder;
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/UserParDoFnFactory.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/UserParDoFnFactory.java
index 58760ac3595..81e36bfbb58 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/UserParDoFnFactory.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/UserParDoFnFactory.java
@@ -47,8 +47,8 @@ import org.checkerframework.checker.nullness.qual.Nullable;
  * specifications from the Dataflow service.
  */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 class UserParDoFnFactory implements ParDoFnFactory {
   static UserParDoFnFactory createDefault() {
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/ValuesDoFnFactory.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/ValuesDoFnFactory.java
index 66b36342f7d..9a1f8ca6085 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/ValuesDoFnFactory.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/ValuesDoFnFactory.java
@@ -36,7 +36,7 @@ import org.apache.beam.sdk.values.TupleTag;
  * org.apache.beam.sdk.transforms.Values#create()}.
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class ValuesDoFnFactory implements ParDoFnFactory {
 
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/WindmillKeyedWorkItem.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/WindmillKeyedWorkItem.java
index 4524f0d82a6..ec260bc2a67 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/WindmillKeyedWorkItem.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/WindmillKeyedWorkItem.java
@@ -50,8 +50,8 @@ import org.joda.time.Instant;
  * @param <ElemT> the element type
  */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class WindmillKeyedWorkItem<K, ElemT> implements KeyedWorkItem<K, ElemT> {
   private static final Predicate<Timer> IS_WATERMARK =
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/WindmillReaderIteratorBase.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/WindmillReaderIteratorBase.java
index a89696dbbcd..d12f6cdfae7 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/WindmillReaderIteratorBase.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/WindmillReaderIteratorBase.java
@@ -28,7 +28,7 @@ import org.apache.beam.vendor.guava.v26_0_jre.com.google.common.base.Optional;
  * Base class for iterators that decode messages from bundles inside a {@link Windmill.WorkItem}.
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public abstract class WindmillReaderIteratorBase<T>
     extends NativeReader.NativeReaderIterator<WindowedValue<T>> {
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/WindmillSink.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/WindmillSink.java
index 1d29904360f..6696de6ca74 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/WindmillSink.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/WindmillSink.java
@@ -44,8 +44,8 @@ import org.apache.beam.vendor.guava.v26_0_jre.com.google.common.collect.Immutabl
 import org.checkerframework.checker.nullness.qual.Nullable;
 
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 class WindmillSink<T> extends Sink<WindowedValue<T>> {
   private WindmillStreamWriter writer;
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/WindmillStateInternals.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/WindmillStateInternals.java
index 7aed292f1ec..0df3fc5700a 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/WindmillStateInternals.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/WindmillStateInternals.java
@@ -108,8 +108,8 @@ import org.joda.time.Instant;
 
 /** Implementation of {@link StateInternals} using Windmill to manage the underlying data. */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 class WindmillStateInternals<K> implements StateInternals {
 
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/WindmillStateReader.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/WindmillStateReader.java
index 8bae4cd232c..b6c2dfab43a 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/WindmillStateReader.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/WindmillStateReader.java
@@ -75,8 +75,8 @@ import org.joda.time.Instant;
  * WindmillStateCache}.
  */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 class WindmillStateReader {
   /**
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/WindmillTimerInternals.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/WindmillTimerInternals.java
index b0eb8674d99..658e74ee6c1 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/WindmillTimerInternals.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/WindmillTimerInternals.java
@@ -50,7 +50,7 @@ import org.joda.time.Instant;
  * <p>Includes parsing / assembly of timer tags and some extra methods.
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 class WindmillTimerInternals implements TimerInternals {
 
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/WindowingWindmillReader.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/WindowingWindmillReader.java
index 13b538f978b..462b979ffc6 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/WindowingWindmillReader.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/WindowingWindmillReader.java
@@ -43,8 +43,8 @@ import org.checkerframework.checker.nullness.qual.Nullable;
  * containing the work item.
  */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 class WindowingWindmillReader<K, T> extends NativeReader<WindowedValue<KeyedWorkItem<K, T>>> {
 
@@ -96,7 +96,7 @@ class WindowingWindmillReader<K, T> extends NativeReader<WindowedValue<KeyedWork
         throws Exception {
       coder = checkArgumentNotNull(coder);
       @SuppressWarnings({
-        "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+        "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
         "unchecked"
       })
       Coder<WindowedValue<KeyedWorkItem<Object, Object>>> typedCoder =
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/WorkItemStatusClient.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/WorkItemStatusClient.java
index ff38385377e..b2d2e73bb27 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/WorkItemStatusClient.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/WorkItemStatusClient.java
@@ -60,10 +60,10 @@ import org.slf4j.LoggerFactory;
  * Wrapper around {@link WorkUnitClient} with methods for creating and sending work item status
  * updates.
  */
-// Very likely real potential for bugs - https://issues.apache.org/jira/browse/BEAM-6565
+// Very likely real potential for bugs - https://github.com/apache/beam/issues/19270
 @SuppressFBWarnings("IS2_INCONSISTENT_SYNC")
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class WorkItemStatusClient {
   private static final Logger LOG = LoggerFactory.getLogger(WorkItemStatusClient.class);
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/WorkerCustomSourceOperationExecutor.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/WorkerCustomSourceOperationExecutor.java
index 36e80d00a0c..31528e96e07 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/WorkerCustomSourceOperationExecutor.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/WorkerCustomSourceOperationExecutor.java
@@ -32,8 +32,8 @@ import org.slf4j.LoggerFactory;
 
 /** An executor for a source operation, defined by a {@code SourceOperationRequest}. */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class WorkerCustomSourceOperationExecutor implements SourceOperationExecutor {
   private static final Logger LOG =
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/WorkerCustomSources.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/WorkerCustomSources.java
index 40561762d8d..019ea3772bf 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/WorkerCustomSources.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/WorkerCustomSources.java
@@ -79,8 +79,8 @@ import org.slf4j.LoggerFactory;
  * CloudSource} class.
  */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class WorkerCustomSources {
   private static final String SERIALIZED_SOURCE = "serialized_source";
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/WorkerPipelineOptionsFactory.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/WorkerPipelineOptionsFactory.java
index 13abdebd1a8..0929705c894 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/WorkerPipelineOptionsFactory.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/WorkerPipelineOptionsFactory.java
@@ -33,7 +33,7 @@ import org.slf4j.LoggerFactory;
  * to initialize a Dataflow worker harness.
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class WorkerPipelineOptionsFactory {
   private static final Logger LOG = LoggerFactory.getLogger(WorkerPipelineOptionsFactory.class);
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/counters/CounterFactory.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/counters/CounterFactory.java
index e1ae9ba95ea..1c6b5bf00cf 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/counters/CounterFactory.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/counters/CounterFactory.java
@@ -36,7 +36,7 @@ import org.checkerframework.checker.nullness.qual.Nullable;
 
 /** Factory interface for creating counters. */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class CounterFactory {
 
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/counters/CounterName.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/counters/CounterName.java
index b3a6b0fdea0..94f3d4ec3da 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/counters/CounterName.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/counters/CounterName.java
@@ -33,7 +33,7 @@ import org.checkerframework.checker.nullness.qual.Nullable;
  */
 @AutoValue
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public abstract class CounterName {
 
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/counters/CounterSet.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/counters/CounterSet.java
index 683e1f24576..6c50b99ca16 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/counters/CounterSet.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/counters/CounterSet.java
@@ -36,7 +36,7 @@ import org.slf4j.LoggerFactory;
  * <p>Thread-safe.
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class CounterSet extends CounterFactory {
   private static final Logger LOG = LoggerFactory.getLogger(CounterSet.class);
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/counters/DataflowCounterUpdateExtractor.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/counters/DataflowCounterUpdateExtractor.java
index f72562370fe..effe802938c 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/counters/DataflowCounterUpdateExtractor.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/counters/DataflowCounterUpdateExtractor.java
@@ -33,7 +33,7 @@ import org.apache.beam.vendor.guava.v26_0_jre.com.google.common.collect.Immutabl
 
 /** Factory methods for extracting {@link CounterUpdate} updates from counters. */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class DataflowCounterUpdateExtractor implements CounterUpdateExtractor<CounterUpdate> {
 
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/counters/DistributionCounterUpdateAggregator.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/counters/DistributionCounterUpdateAggregator.java
index 602288632ec..abb51142297 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/counters/DistributionCounterUpdateAggregator.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/counters/DistributionCounterUpdateAggregator.java
@@ -25,7 +25,7 @@ import com.google.api.services.dataflow.model.DistributionUpdate;
 import java.util.List;
 
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class DistributionCounterUpdateAggregator implements CounterUpdateAggregator {
 
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/counters/MeanCounterUpdateAggregator.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/counters/MeanCounterUpdateAggregator.java
index 0fe988921ff..9cce42b31d5 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/counters/MeanCounterUpdateAggregator.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/counters/MeanCounterUpdateAggregator.java
@@ -25,7 +25,7 @@ import com.google.api.services.dataflow.model.IntegerMean;
 import java.util.List;
 
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class MeanCounterUpdateAggregator implements CounterUpdateAggregator {
 
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/counters/SumCounterUpdateAggregator.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/counters/SumCounterUpdateAggregator.java
index 0aaf13fb628..fe9112ff458 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/counters/SumCounterUpdateAggregator.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/counters/SumCounterUpdateAggregator.java
@@ -24,7 +24,7 @@ import com.google.api.services.dataflow.model.CounterUpdate;
 import java.util.List;
 
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class SumCounterUpdateAggregator implements CounterUpdateAggregator {
 
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/fn/control/BeamFnMapTaskExecutor.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/fn/control/BeamFnMapTaskExecutor.java
index 59c02d482f2..b1d7c4635fb 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/fn/control/BeamFnMapTaskExecutor.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/fn/control/BeamFnMapTaskExecutor.java
@@ -74,8 +74,8 @@ import org.slf4j.LoggerFactory;
  * splitting, checkpointing, work progress are unimplemented.
  */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class BeamFnMapTaskExecutor extends DataflowMapTaskExecutor {
   private static final Logger LOG = LoggerFactory.getLogger(BeamFnMapTaskExecutor.class);
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/fn/control/DataflowSideInputHandlerFactory.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/fn/control/DataflowSideInputHandlerFactory.java
index cfec64f5cd4..ebbc5d8ec68 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/fn/control/DataflowSideInputHandlerFactory.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/fn/control/DataflowSideInputHandlerFactory.java
@@ -34,7 +34,7 @@ import org.apache.beam.sdk.values.PCollectionView;
 
 /** This handles sideinput in Dataflow. The caller should be based on ExecutableStage framework. */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class DataflowSideInputHandlerFactory
     implements StateRequestHandlers.SideInputHandlerFactory {
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/fn/control/ElementCountMonitoringInfoToCounterUpdateTransformer.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/fn/control/ElementCountMonitoringInfoToCounterUpdateTransformer.java
index f395bb9cc2b..577e535e546 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/fn/control/ElementCountMonitoringInfoToCounterUpdateTransformer.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/fn/control/ElementCountMonitoringInfoToCounterUpdateTransformer.java
@@ -37,7 +37,7 @@ import org.slf4j.LoggerFactory;
 
 /** MonitoringInfo to CounterUpdate transformer capable to transform ElementCount counters. */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class ElementCountMonitoringInfoToCounterUpdateTransformer
     implements MonitoringInfoToCounterUpdateTransformer {
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/fn/control/ExecutionTimeMonitoringInfoToCounterUpdateTransformer.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/fn/control/ExecutionTimeMonitoringInfoToCounterUpdateTransformer.java
index 033877eaebb..b9b7b50ad19 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/fn/control/ExecutionTimeMonitoringInfoToCounterUpdateTransformer.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/fn/control/ExecutionTimeMonitoringInfoToCounterUpdateTransformer.java
@@ -43,7 +43,7 @@ import org.slf4j.LoggerFactory;
  *
  * <p>Use getSupportedUrns to get all urns this class supports.
  */
-@SuppressWarnings({"keyfor", "nullness"}) // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+@SuppressWarnings({"keyfor", "nullness"}) // TODO(https://github.com/apache/beam/issues/20497)
 public class ExecutionTimeMonitoringInfoToCounterUpdateTransformer
     implements MonitoringInfoToCounterUpdateTransformer {
 
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/fn/control/MeanByteCountMonitoringInfoToCounterUpdateTransformer.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/fn/control/MeanByteCountMonitoringInfoToCounterUpdateTransformer.java
index 5268b565599..d15ab81a93c 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/fn/control/MeanByteCountMonitoringInfoToCounterUpdateTransformer.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/fn/control/MeanByteCountMonitoringInfoToCounterUpdateTransformer.java
@@ -39,7 +39,7 @@ import org.slf4j.LoggerFactory;
 
 /** MonitoringInfo to CounterUpdate transformer capable to transform MeanByteCount counter. */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class MeanByteCountMonitoringInfoToCounterUpdateTransformer
     implements MonitoringInfoToCounterUpdateTransformer {
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/fn/control/ProcessRemoteBundleOperation.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/fn/control/ProcessRemoteBundleOperation.java
index 5e3f71b37c5..022fedb78e5 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/fn/control/ProcessRemoteBundleOperation.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/fn/control/ProcessRemoteBundleOperation.java
@@ -48,7 +48,7 @@ import org.slf4j.LoggerFactory;
  * requests a {@link org.apache.beam.runners.fnexecution.control.RemoteBundle}, sends elements to
  * SDK and receive processed results from SDK, passing these elements downstream.
  */
-@SuppressWarnings({"keyfor", "nullness"}) // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+@SuppressWarnings({"keyfor", "nullness"}) // TODO(https://github.com/apache/beam/issues/20497)
 public class ProcessRemoteBundleOperation<InputT> extends ReceivingOperation {
   private static final Logger LOG = LoggerFactory.getLogger(ProcessRemoteBundleOperation.class);
   private final StageBundleFactory stageBundleFactory;
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/fn/control/RegisterAndProcessBundleOperation.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/fn/control/RegisterAndProcessBundleOperation.java
index 0e49a3fc128..7be2820dee7 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/fn/control/RegisterAndProcessBundleOperation.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/fn/control/RegisterAndProcessBundleOperation.java
@@ -94,10 +94,10 @@ import org.slf4j.LoggerFactory;
  * <p>This operation supports restart.
  */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
   "keyfor",
   "nullness"
-}) // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+}) // TODO(https://github.com/apache/beam/issues/20497)
 public class RegisterAndProcessBundleOperation extends Operation {
   private static final Logger LOG =
       LoggerFactory.getLogger(RegisterAndProcessBundleOperation.class);
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/fn/control/UserDistributionMonitoringInfoToCounterUpdateTransformer.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/fn/control/UserDistributionMonitoringInfoToCounterUpdateTransformer.java
index 5883acf00ff..64493aab82e 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/fn/control/UserDistributionMonitoringInfoToCounterUpdateTransformer.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/fn/control/UserDistributionMonitoringInfoToCounterUpdateTransformer.java
@@ -45,7 +45,7 @@ import org.slf4j.LoggerFactory;
  * proto.
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 class UserDistributionMonitoringInfoToCounterUpdateTransformer
     implements MonitoringInfoToCounterUpdateTransformer {
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/fn/control/UserMonitoringInfoToCounterUpdateTransformer.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/fn/control/UserMonitoringInfoToCounterUpdateTransformer.java
index 1bfc56c341d..a96736739e5 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/fn/control/UserMonitoringInfoToCounterUpdateTransformer.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/fn/control/UserMonitoringInfoToCounterUpdateTransformer.java
@@ -43,7 +43,7 @@ import org.slf4j.LoggerFactory;
  * proto.
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 class UserMonitoringInfoToCounterUpdateTransformer
     implements MonitoringInfoToCounterUpdateTransformer {
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/fn/data/BeamFnDataGrpcService.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/fn/data/BeamFnDataGrpcService.java
index 0fef894df95..b46b7ee22cf 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/fn/data/BeamFnDataGrpcService.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/fn/data/BeamFnDataGrpcService.java
@@ -58,7 +58,7 @@ import org.slf4j.LoggerFactory;
  * connects.
  */
 @SuppressWarnings({
-  "rawtypes" // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes" // TODO(https://github.com/apache/beam/issues/20447)
 })
 public class BeamFnDataGrpcService extends BeamFnDataGrpc.BeamFnDataImplBase
     implements BeamFnService {
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/fn/data/RemoteGrpcPortReadOperation.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/fn/data/RemoteGrpcPortReadOperation.java
index c622178830f..7204e39e6aa 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/fn/data/RemoteGrpcPortReadOperation.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/fn/data/RemoteGrpcPortReadOperation.java
@@ -41,7 +41,7 @@ import org.slf4j.LoggerFactory;
  * <p>This {@link Operation} supports restart.
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class RemoteGrpcPortReadOperation<T> extends Operation {
   private static final Logger LOG = LoggerFactory.getLogger(RemoteGrpcPortReadOperation.class);
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/fn/data/RemoteGrpcPortWriteOperation.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/fn/data/RemoteGrpcPortWriteOperation.java
index ad8a0710a9a..023f7eee2aa 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/fn/data/RemoteGrpcPortWriteOperation.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/fn/data/RemoteGrpcPortWriteOperation.java
@@ -45,7 +45,7 @@ import org.slf4j.LoggerFactory;
  * <p>This {@link Operation} supports restart.
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class RemoteGrpcPortWriteOperation<T> extends ReceivingOperation {
   private static final Logger LOG = LoggerFactory.getLogger(RemoteGrpcPortWriteOperation.class);
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/fn/logging/BeamFnLoggingService.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/fn/logging/BeamFnLoggingService.java
index 501834dacf9..a23222ebfb8 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/fn/logging/BeamFnLoggingService.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/fn/logging/BeamFnLoggingService.java
@@ -42,7 +42,7 @@ import org.slf4j.LoggerFactory;
  * Consumer}.
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class BeamFnLoggingService extends BeamFnLoggingGrpc.BeamFnLoggingImplBase
     implements BeamFnService {
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/fn/stream/ServerStreamObserverFactory.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/fn/stream/ServerStreamObserverFactory.java
index 81eb0b32cf9..c89ec8433a4 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/fn/stream/ServerStreamObserverFactory.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/fn/stream/ServerStreamObserverFactory.java
@@ -41,7 +41,7 @@ import org.apache.beam.vendor.grpc.v1p43p2.io.grpc.stub.StreamObserver;
  * <p>The specific implementation returned is dependent on {@link PipelineOptions} experiments.
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public abstract class ServerStreamObserverFactory {
   public static ServerStreamObserverFactory fromOptions(PipelineOptions options) {
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/graph/CreateExecutableStageNodeFunction.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/graph/CreateExecutableStageNodeFunction.java
index f3f0b56261a..3e769f894e3 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/graph/CreateExecutableStageNodeFunction.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/graph/CreateExecutableStageNodeFunction.java
@@ -99,7 +99,7 @@ import org.joda.time.Duration;
  * org.apache.beam.runners.core.construction.graph.ExecutableStage}.
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class CreateExecutableStageNodeFunction
     implements Function<MutableNetwork<Node, Edge>, Node> {
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/graph/DeduceFlattenLocationsFunction.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/graph/DeduceFlattenLocationsFunction.java
index 13f0c9ee66e..e1d3494184a 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/graph/DeduceFlattenLocationsFunction.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/graph/DeduceFlattenLocationsFunction.java
@@ -59,7 +59,7 @@ import org.apache.beam.vendor.guava.v26_0_jre.com.google.common.graph.MutableNet
  * inefficient, and thus it can execute in either one.
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class DeduceFlattenLocationsFunction
     implements Function<MutableNetwork<Node, Edge>, MutableNetwork<Node, Edge>> {
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/graph/Edges.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/graph/Edges.java
index 162c94dc62e..59d673cf114 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/graph/Edges.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/graph/Edges.java
@@ -24,7 +24,7 @@ import com.google.auto.value.AutoValue;
 
 /** Container class for different types of graph edges. All edges only have reference equality. */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class Edges {
   /** Base class for graph edges. All edges only have reference equality. */
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/graph/InsertFetchAndFilterStreamingSideInputNodes.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/graph/InsertFetchAndFilterStreamingSideInputNodes.java
index c111bf1c645..364fdda6a0c 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/graph/InsertFetchAndFilterStreamingSideInputNodes.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/graph/InsertFetchAndFilterStreamingSideInputNodes.java
@@ -49,8 +49,8 @@ import org.checkerframework.checker.nullness.qual.Nullable;
  * inputs for streaming pipelines before user {@link ParDo ParDos} containing side inputs.
  */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class InsertFetchAndFilterStreamingSideInputNodes {
   public static InsertFetchAndFilterStreamingSideInputNodes with(
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/graph/MapTaskToNetworkFunction.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/graph/MapTaskToNetworkFunction.java
index 1eb06798626..cc4aa1aefc8 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/graph/MapTaskToNetworkFunction.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/graph/MapTaskToNetworkFunction.java
@@ -56,7 +56,7 @@ import org.apache.beam.vendor.guava.v26_0_jre.com.google.common.graph.NetworkBui
  * {@link MultiOutputInfoEdge}s. All other edges are {@link DefaultEdge}s.
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class MapTaskToNetworkFunction implements Function<MapTask, MutableNetwork<Node, Edge>> {
   private static ParallelInstruction clone(JsonFactory factory, ParallelInstruction instruction) {
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/graph/Networks.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/graph/Networks.java
index e83df6d487b..e28ddc472a6 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/graph/Networks.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/graph/Networks.java
@@ -42,7 +42,7 @@ import org.apache.beam.vendor.guava.v26_0_jre.com.google.common.graph.Network;
 
 /** Static utility methods for {@link Network} instances that are directed. */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class Networks {
   /**
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/graph/Nodes.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/graph/Nodes.java
index 4d67d093cb4..3e48553d33c 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/graph/Nodes.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/graph/Nodes.java
@@ -46,7 +46,7 @@ import org.apache.beam.vendor.guava.v26_0_jre.com.google.common.base.MoreObjects
 
 /** Container class for different types of network nodes. All nodes only have reference equality. */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class Nodes {
   /** Base class for network nodes. All nodes only have reference equality. */
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/graph/RegisterNodeFunction.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/graph/RegisterNodeFunction.java
index 25d3187c168..befaccbd6ad 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/graph/RegisterNodeFunction.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/graph/RegisterNodeFunction.java
@@ -93,7 +93,7 @@ import org.checkerframework.checker.nullness.qual.Nullable;
  * <p>Testing of all the layers of translation are performed via local service runner tests.
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class RegisterNodeFunction implements Function<MutableNetwork<Node, Edge>, Node> {
   /** Must match declared fields within {@code ProcessBundleHandler}. */
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/graph/RemoveFlattenInstructionsFunction.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/graph/RemoveFlattenInstructionsFunction.java
index cda2106897f..eb8e72754ef 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/graph/RemoveFlattenInstructionsFunction.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/graph/RemoveFlattenInstructionsFunction.java
@@ -34,7 +34,7 @@ import org.apache.beam.vendor.guava.v26_0_jre.com.google.common.graph.MutableNet
  * PCollections of the Flatten with the successor instructions.
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class RemoveFlattenInstructionsFunction
     implements Function<MutableNetwork<Node, Edge>, MutableNetwork<Node, Edge>> {
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/graph/ReplacePgbkWithPrecombineFunction.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/graph/ReplacePgbkWithPrecombineFunction.java
index 443227e4165..0bb8e9ced2b 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/graph/ReplacePgbkWithPrecombineFunction.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/graph/ReplacePgbkWithPrecombineFunction.java
@@ -37,7 +37,7 @@ import org.apache.beam.vendor.guava.v26_0_jre.com.google.common.graph.MutableNet
  * {@link RegisterNodeFunction} into a Pre-combine executed by the SDK harness.
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class ReplacePgbkWithPrecombineFunction
     implements Function<MutableNetwork<Node, Edge>, MutableNetwork<Node, Edge>> {
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 b87bae31d19..9ae1b032e0c 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
@@ -52,7 +52,7 @@ import org.apache.beam.vendor.guava.v26_0_jre.com.google.common.io.CountingOutpu
  * {@link Throwable#printStackTrace()}.
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class DataflowWorkerLoggingHandler extends Handler {
   private static final EnumMap<BeamFnApi.LogEntry.Severity.Enum, String>
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/logging/DataflowWorkerLoggingInitializer.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/logging/DataflowWorkerLoggingInitializer.java
index f7b1a08be8c..b7527be5580 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/logging/DataflowWorkerLoggingInitializer.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/logging/DataflowWorkerLoggingInitializer.java
@@ -50,7 +50,7 @@ import org.apache.beam.vendor.guava.v26_0_jre.com.google.common.collect.Lists;
  * directory and the default file size is 1 GB.
  */
 @SuppressWarnings({
-  "nullness", // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness", // TODO(https://github.com/apache/beam/issues/20497)
   "ForbidDefaultCharset"
 })
 public class DataflowWorkerLoggingInitializer {
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/logging/DataflowWorkerLoggingMDC.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/logging/DataflowWorkerLoggingMDC.java
index fa53ad9e565..ae809995f08 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/logging/DataflowWorkerLoggingMDC.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/logging/DataflowWorkerLoggingMDC.java
@@ -19,7 +19,7 @@ package org.apache.beam.runners.dataflow.worker.logging;
 
 /** Mapped diagnostic context for the Dataflow worker. */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class DataflowWorkerLoggingMDC {
   private static final InheritableThreadLocal<String> jobId = new InheritableThreadLocal<>();
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/logging/JulHandlerPrintStreamAdapterFactory.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/logging/JulHandlerPrintStreamAdapterFactory.java
index 392a024e920..43686018005 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/logging/JulHandlerPrintStreamAdapterFactory.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/logging/JulHandlerPrintStreamAdapterFactory.java
@@ -43,7 +43,7 @@ import org.apache.beam.vendor.guava.v26_0_jre.com.google.common.annotations.Visi
  * {@link Handler} at the specified {@link Level}.
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 class JulHandlerPrintStreamAdapterFactory {
   private static final AtomicBoolean OUTPUT_WARNING = new AtomicBoolean(false);
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/options/StreamingDataflowWorkerOptions.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/options/StreamingDataflowWorkerOptions.java
index e8972a7e21b..8df42ea42ff 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/options/StreamingDataflowWorkerOptions.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/options/StreamingDataflowWorkerOptions.java
@@ -33,7 +33,7 @@ import org.joda.time.Duration;
 @Description("[Internal] Options for configuring StreamingDataflowWorker.")
 @Hidden
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public interface StreamingDataflowWorkerOptions extends DataflowWorkerHarnessOptions {
   @Description("Stub for communicating with Windmill.")
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/profiler/ScopedProfiler.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/profiler/ScopedProfiler.java
index 7453a436d84..b4c8f5f4af0 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/profiler/ScopedProfiler.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/profiler/ScopedProfiler.java
@@ -23,7 +23,7 @@ import org.slf4j.LoggerFactory;
 
 /** A wrapper around {@link Profiler} to support more idiomatic usage within Java. */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class ScopedProfiler {
 
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/status/DebugCapture.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/status/DebugCapture.java
index b65410b3cc6..fc4501f4e7c 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/status/DebugCapture.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/status/DebugCapture.java
@@ -46,7 +46,7 @@ import org.slf4j.LoggerFactory;
  * It is dynamically configured by the service.
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class DebugCapture {
   private static final Logger LOG = LoggerFactory.getLogger(DebugCapture.class);
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/status/WorkerStatusPages.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/status/WorkerStatusPages.java
index 868b222da22..34a26688bd3 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/status/WorkerStatusPages.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/status/WorkerStatusPages.java
@@ -37,7 +37,7 @@ import org.slf4j.LoggerFactory;
 
 /** Manages the server providing the worker status pages. */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class WorkerStatusPages {
 
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/util/BoundedQueueExecutor.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/util/BoundedQueueExecutor.java
index 29a4ea7c535..1784bbf8e3b 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/util/BoundedQueueExecutor.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/util/BoundedQueueExecutor.java
@@ -26,7 +26,7 @@ import org.apache.beam.vendor.guava.v26_0_jre.com.google.common.util.concurrent.
 
 /** An executor for executing work on windmill items. */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class BoundedQueueExecutor {
   private final ThreadPoolExecutor executor;
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/util/CloudSourceUtils.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/util/CloudSourceUtils.java
index 2500da2d6bf..ca682a98227 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/util/CloudSourceUtils.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/util/CloudSourceUtils.java
@@ -24,7 +24,7 @@ import org.apache.beam.runners.dataflow.worker.util.common.worker.NativeReader;
 
 /** Utilities for working with Source Dataflow API definitions and {@link NativeReader} objects. */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class CloudSourceUtils {
   /**
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/util/MemoryMonitor.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/util/MemoryMonitor.java
index a4ea871ad3f..eac36d15abf 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/util/MemoryMonitor.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/util/MemoryMonitor.java
@@ -89,7 +89,7 @@ import org.slf4j.LoggerFactory;
  * </ul>
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class MemoryMonitor implements Runnable, StatusDataProvider {
   private static final Logger LOG = LoggerFactory.getLogger(MemoryMonitor.class);
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/util/TimerOrElement.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/util/TimerOrElement.java
index b6605e090aa..71086107023 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/util/TimerOrElement.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/util/TimerOrElement.java
@@ -42,8 +42,8 @@ import org.apache.beam.vendor.guava.v26_0_jre.com.google.common.collect.Immutabl
  * to rename/move that without breaking things.
  */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class TimerOrElement {
 
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/util/common/TaggedReiteratorList.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/util/common/TaggedReiteratorList.java
index 24378e9d16e..848ab79deea 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/util/common/TaggedReiteratorList.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/util/common/TaggedReiteratorList.java
@@ -31,7 +31,7 @@ import org.apache.beam.sdk.util.common.Reiterator;
  * <p>This class, and the returned iterators, are not threadsafe.
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class TaggedReiteratorList extends AbstractList<Reiterator<Object>> {
 
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/util/common/worker/BatchingShuffleEntryReader.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/util/common/worker/BatchingShuffleEntryReader.java
index 811ac085770..85982fb0ce0 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/util/common/worker/BatchingShuffleEntryReader.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/util/common/worker/BatchingShuffleEntryReader.java
@@ -29,7 +29,7 @@ import org.checkerframework.checker.nullness.qual.Nullable;
 /** BatchingShuffleEntryReader provides a mechanism for reading entries from a shuffle dataset. */
 @NotThreadSafe
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public final class BatchingShuffleEntryReader implements ShuffleEntryReader {
   private final ShuffleBatchReader batchReader;
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/util/common/worker/ByteArrayShufflePosition.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/util/common/worker/ByteArrayShufflePosition.java
index 588fbaaa8ca..1ed816ced63 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/util/common/worker/ByteArrayShufflePosition.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/util/common/worker/ByteArrayShufflePosition.java
@@ -32,7 +32,7 @@ import org.checkerframework.checker.nullness.qual.Nullable;
  * {@code GroupingShuffleReader} positions.
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class ByteArrayShufflePosition implements Comparable<ShufflePosition>, ShufflePosition {
   private final byte[] position;
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/util/common/worker/CachingShuffleBatchReader.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/util/common/worker/CachingShuffleBatchReader.java
index 4dd13c65848..6981c6dac12 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/util/common/worker/CachingShuffleBatchReader.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/util/common/worker/CachingShuffleBatchReader.java
@@ -30,7 +30,7 @@ import org.checkerframework.checker.nullness.qual.Nullable;
 
 /** A {@link ShuffleBatchReader} that caches batches as they're read. */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class CachingShuffleBatchReader implements ShuffleBatchReader {
   private final ShuffleBatchReader reader;
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/util/common/worker/GroupingShuffleEntryIterator.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/util/common/worker/GroupingShuffleEntryIterator.java
index dc3bd8d1db0..064d6b232d0 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/util/common/worker/GroupingShuffleEntryIterator.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/util/common/worker/GroupingShuffleEntryIterator.java
@@ -37,7 +37,7 @@ import org.slf4j.LoggerFactory;
  * used via the interface of that class, hence doesn't inherit it.
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public abstract class GroupingShuffleEntryIterator {
   private static final Logger LOG = LoggerFactory.getLogger(GroupingShuffleEntryIterator.class);
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/util/common/worker/GroupingShuffleRangeTracker.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/util/common/worker/GroupingShuffleRangeTracker.java
index 7cf04c57f52..00e0ad25a4c 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/util/common/worker/GroupingShuffleRangeTracker.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/util/common/worker/GroupingShuffleRangeTracker.java
@@ -35,10 +35,10 @@ import org.slf4j.LoggerFactory;
  * considered a split point (because it is the first to be returned when reading a position range
  * starting at this position), others are not.
  */
-// Likely real bugs - https://issues.apache.org/jira/browse/BEAM-6563
+// Likely real bugs - https://github.com/apache/beam/issues/19272
 @SuppressFBWarnings("IS2_INCONSISTENT_SYNC")
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class GroupingShuffleRangeTracker implements RangeTracker<ShufflePosition> {
   private static final Logger LOG = LoggerFactory.getLogger(GroupingShuffleRangeTracker.class);
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/util/common/worker/GroupingTables.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/util/common/worker/GroupingTables.java
index cc97a3b77f9..4c4cd56fa69 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/util/common/worker/GroupingTables.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/util/common/worker/GroupingTables.java
@@ -27,7 +27,7 @@ import org.apache.beam.vendor.guava.v26_0_jre.com.google.common.annotations.Visi
 
 /** Static utility methods that provide {@link GroupingTable} implementations. */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class GroupingTables {
   /** Returns a {@link GroupingTable} that groups inputs into a {@link List}. */
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/util/common/worker/MapTaskExecutor.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/util/common/worker/MapTaskExecutor.java
index 517797993b8..16133e9201e 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/util/common/worker/MapTaskExecutor.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/util/common/worker/MapTaskExecutor.java
@@ -30,7 +30,7 @@ import org.slf4j.LoggerFactory;
 
 /** An executor for a map task, defined by a list of Operations. */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class MapTaskExecutor implements WorkExecutor {
   private static final Logger LOG = LoggerFactory.getLogger(MapTaskExecutor.class);
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/util/common/worker/OutputObjectAndByteCounter.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/util/common/worker/OutputObjectAndByteCounter.java
index 650eeeb48a3..9aa28b393ec 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/util/common/worker/OutputObjectAndByteCounter.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/util/common/worker/OutputObjectAndByteCounter.java
@@ -29,7 +29,7 @@ import org.checkerframework.checker.nullness.qual.Nullable;
 
 /** An {@link ElementCounter} that counts output objects, bytes, and mean bytes. */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class OutputObjectAndByteCounter implements ElementCounter {
   // Might be null, e.g., undeclared outputs will not have an
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/util/common/worker/ReadOperation.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/util/common/worker/ReadOperation.java
index 4867d6def42..5a5348a7712 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/util/common/worker/ReadOperation.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/util/common/worker/ReadOperation.java
@@ -43,8 +43,8 @@ import org.slf4j.LoggerFactory;
  * <p>Its start() method iterates through all elements of the source and emits them on its output.
  */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class ReadOperation extends Operation {
   public static class ReadLoopAbortedException extends InterruptedException {
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/util/common/worker/ShuffleEntry.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/util/common/worker/ShuffleEntry.java
index 4506613f3fa..f9d98adb9da 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/util/common/worker/ShuffleEntry.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/util/common/worker/ShuffleEntry.java
@@ -22,7 +22,7 @@ import org.checkerframework.checker.nullness.qual.Nullable;
 
 /** Entry written to/read from a shuffle dataset. */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class ShuffleEntry {
   final ShufflePosition position;
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/util/common/worker/ShuffleReadCounter.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/util/common/worker/ShuffleReadCounter.java
index 7ab5e6c1eca..47e7d594543 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/util/common/worker/ShuffleReadCounter.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/util/common/worker/ShuffleReadCounter.java
@@ -27,7 +27,7 @@ import org.apache.beam.vendor.guava.v26_0_jre.com.google.common.annotations.Visi
 
 /** Counts the Bytes and MSECS spent within a shuffle read. */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class ShuffleReadCounter {
   private final String originalShuffleStepName;
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/util/common/worker/WorkExecutor.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/util/common/worker/WorkExecutor.java
index 3e076f5dd82..e607144615b 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/util/common/worker/WorkExecutor.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/util/common/worker/WorkExecutor.java
@@ -24,7 +24,7 @@ import org.checkerframework.checker.nullness.qual.Nullable;
 
 /** Abstract executor for WorkItem tasks. */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public interface WorkExecutor extends AutoCloseable {
 
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/util/common/worker/WorkProgressUpdater.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/util/common/worker/WorkProgressUpdater.java
index a58bea9fe34..7b450f5e2ac 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/util/common/worker/WorkProgressUpdater.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/util/common/worker/WorkProgressUpdater.java
@@ -39,11 +39,11 @@ import org.slf4j.LoggerFactory;
  * interval between two consecutive updates is also bound by {@link #getMinReportingInterval} and
  * {@link #getMaxReportingInterval}.
  */
-// Very likely real potential for bugs - https://issues.apache.org/jira/browse/BEAM-6561
+// Very likely real potential for bugs - https://github.com/apache/beam/issues/19274
 @SuppressFBWarnings("JLM_JSR166_UTILCONCURRENT_MONITORENTER")
 @NotThreadSafe
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public abstract class WorkProgressUpdater {
   private static final Logger LOG = LoggerFactory.getLogger(WorkProgressUpdater.class);
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/util/common/worker/WriteOperation.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/util/common/worker/WriteOperation.java
index 7bbf426392d..e7dc431b288 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/util/common/worker/WriteOperation.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/util/common/worker/WriteOperation.java
@@ -24,7 +24,7 @@ import org.apache.beam.vendor.guava.v26_0_jre.com.google.common.base.MoreObjects
 
 /** A write operation. */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class WriteOperation extends ReceivingOperation {
   /** The Sink this operation writes to. */
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/windmill/GrpcWindmillServer.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/windmill/GrpcWindmillServer.java
index 3f418ca413c..fda82c3edc5 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/windmill/GrpcWindmillServer.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/windmill/GrpcWindmillServer.java
@@ -110,11 +110,11 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 /** gRPC client for communicating with Windmill Service. */
-// Very likely real potential for bugs - https://issues.apache.org/jira/browse/BEAM-6562
-// Very likely real potential for bugs - https://issues.apache.org/jira/browse/BEAM-6564
+// Very likely real potential for bugs - https://github.com/apache/beam/issues/19273
+// Very likely real potential for bugs - https://github.com/apache/beam/issues/19271
 @SuppressFBWarnings({"JLM_JSR166_UTILCONCURRENT_MONITORENTER", "IS2_INCONSISTENT_SYNC"})
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class GrpcWindmillServer extends WindmillServerStub {
   private static final Logger LOG = LoggerFactory.getLogger(GrpcWindmillServer.class);
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/windmill/WindmillServer.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/windmill/WindmillServer.java
index b0272f9ef62..fbc67987811 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/windmill/WindmillServer.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/windmill/WindmillServer.java
@@ -25,7 +25,7 @@ import java.nio.file.StandardCopyOption;
 
 /** Implementation of a WindmillServerBase. */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class WindmillServer extends WindmillServerBase {
   private static final String WINDMILL_SERVER_JNI_LIBRARY_PROPERTY = "windmill.jni_library";
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/windmill/WindmillServerBase.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/windmill/WindmillServerBase.java
index b410dd95475..8907d86d92c 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/windmill/WindmillServerBase.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/windmill/WindmillServerBase.java
@@ -26,7 +26,7 @@ import org.apache.beam.vendor.guava.v26_0_jre.com.google.common.net.HostAndPort;
  * specified location.
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class WindmillServerBase extends WindmillServerStub {
 
diff --git a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/windmill/WindmillServerStub.java b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/windmill/WindmillServerStub.java
index 32296e9655a..238f22aa643 100644
--- a/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/windmill/WindmillServerStub.java
+++ b/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/windmill/WindmillServerStub.java
@@ -40,7 +40,7 @@ import org.joda.time.Instant;
 
 /** Stub for communicating with a Windmill server. */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public abstract class WindmillServerStub implements StatusDataProvider {
 
diff --git a/runners/google-cloud-dataflow-java/worker/src/test/java/org/apache/beam/runners/dataflow/worker/AvroByteReaderFactoryTest.java b/runners/google-cloud-dataflow-java/worker/src/test/java/org/apache/beam/runners/dataflow/worker/AvroByteReaderFactoryTest.java
index b2ebc6db678..58730408b3a 100644
--- a/runners/google-cloud-dataflow-java/worker/src/test/java/org/apache/beam/runners/dataflow/worker/AvroByteReaderFactoryTest.java
+++ b/runners/google-cloud-dataflow-java/worker/src/test/java/org/apache/beam/runners/dataflow/worker/AvroByteReaderFactoryTest.java
@@ -40,7 +40,7 @@ import org.junit.runners.JUnit4;
 /** Tests for {@link AvroByteReaderFactory}. */
 @RunWith(JUnit4.class)
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
 })
 public class AvroByteReaderFactoryTest {
   private final String pathToAvroFile = "/path/to/file.avro";
diff --git a/runners/google-cloud-dataflow-java/worker/src/test/java/org/apache/beam/runners/dataflow/worker/AvroByteReaderTest.java b/runners/google-cloud-dataflow-java/worker/src/test/java/org/apache/beam/runners/dataflow/worker/AvroByteReaderTest.java
index eaeb0560b6e..2f33ddcab8c 100644
--- a/runners/google-cloud-dataflow-java/worker/src/test/java/org/apache/beam/runners/dataflow/worker/AvroByteReaderTest.java
+++ b/runners/google-cloud-dataflow-java/worker/src/test/java/org/apache/beam/runners/dataflow/worker/AvroByteReaderTest.java
@@ -56,7 +56,7 @@ import org.junit.runners.JUnit4;
 /** Tests for AvroByteReader. */
 @RunWith(JUnit4.class)
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
 })
 public class AvroByteReaderTest {
   @Rule public TemporaryFolder tmpFolder = new TemporaryFolder();
diff --git a/runners/google-cloud-dataflow-java/worker/src/test/java/org/apache/beam/runners/dataflow/worker/CombineValuesFnFactoryTest.java b/runners/google-cloud-dataflow-java/worker/src/test/java/org/apache/beam/runners/dataflow/worker/CombineValuesFnFactoryTest.java
index 18b77995caf..b45df0aa185 100644
--- a/runners/google-cloud-dataflow-java/worker/src/test/java/org/apache/beam/runners/dataflow/worker/CombineValuesFnFactoryTest.java
+++ b/runners/google-cloud-dataflow-java/worker/src/test/java/org/apache/beam/runners/dataflow/worker/CombineValuesFnFactoryTest.java
@@ -67,7 +67,7 @@ import org.junit.runners.JUnit4;
 /** Tests for {@link CombineValuesFnFactory}. */
 @RunWith(JUnit4.class)
 @SuppressWarnings({
-  "rawtypes" // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes" // TODO(https://github.com/apache/beam/issues/20447)
 })
 public class CombineValuesFnFactoryTest {
   /** Example AccumulatingCombineFn. */
diff --git a/runners/google-cloud-dataflow-java/worker/src/test/java/org/apache/beam/runners/dataflow/worker/ConcatReaderTest.java b/runners/google-cloud-dataflow-java/worker/src/test/java/org/apache/beam/runners/dataflow/worker/ConcatReaderTest.java
index 4a35a23ae82..f01c8531cc3 100644
--- a/runners/google-cloud-dataflow-java/worker/src/test/java/org/apache/beam/runners/dataflow/worker/ConcatReaderTest.java
+++ b/runners/google-cloud-dataflow-java/worker/src/test/java/org/apache/beam/runners/dataflow/worker/ConcatReaderTest.java
@@ -52,7 +52,7 @@ import org.junit.runners.JUnit4;
 /** Tests for {@code ConcatReader}. */
 @RunWith(JUnit4.class)
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
 })
 public class ConcatReaderTest {
   private static final String READER_OBJECT = "reader_object";
diff --git a/runners/google-cloud-dataflow-java/worker/src/test/java/org/apache/beam/runners/dataflow/worker/DataflowSideInputReadCounterTest.java b/runners/google-cloud-dataflow-java/worker/src/test/java/org/apache/beam/runners/dataflow/worker/DataflowSideInputReadCounterTest.java
index d069c88fbde..717260603eb 100644
--- a/runners/google-cloud-dataflow-java/worker/src/test/java/org/apache/beam/runners/dataflow/worker/DataflowSideInputReadCounterTest.java
+++ b/runners/google-cloud-dataflow-java/worker/src/test/java/org/apache/beam/runners/dataflow/worker/DataflowSideInputReadCounterTest.java
@@ -38,7 +38,7 @@ import org.junit.runners.JUnit4;
 /** Tests for {@link DataflowSideInputReadCounter}. */
 @RunWith(JUnit4.class)
 @SuppressWarnings({
-  "rawtypes" // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes" // TODO(https://github.com/apache/beam/issues/20447)
 })
 public class DataflowSideInputReadCounterTest {
 
diff --git a/runners/google-cloud-dataflow-java/worker/src/test/java/org/apache/beam/runners/dataflow/worker/DefaultParDoFnFactoryTest.java b/runners/google-cloud-dataflow-java/worker/src/test/java/org/apache/beam/runners/dataflow/worker/DefaultParDoFnFactoryTest.java
index 1e2eca664c1..8b279d27f88 100644
--- a/runners/google-cloud-dataflow-java/worker/src/test/java/org/apache/beam/runners/dataflow/worker/DefaultParDoFnFactoryTest.java
+++ b/runners/google-cloud-dataflow-java/worker/src/test/java/org/apache/beam/runners/dataflow/worker/DefaultParDoFnFactoryTest.java
@@ -49,7 +49,7 @@ import org.junit.runners.JUnit4;
 /** Tests for {@link DefaultParDoFnFactory}. */
 @RunWith(JUnit4.class)
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
 })
 public class DefaultParDoFnFactoryTest {
 
diff --git a/runners/google-cloud-dataflow-java/worker/src/test/java/org/apache/beam/runners/dataflow/worker/FnApiWindowMappingFnTest.java b/runners/google-cloud-dataflow-java/worker/src/test/java/org/apache/beam/runners/dataflow/worker/FnApiWindowMappingFnTest.java
index 22219c81aac..9b343bfa7e3 100644
--- a/runners/google-cloud-dataflow-java/worker/src/test/java/org/apache/beam/runners/dataflow/worker/FnApiWindowMappingFnTest.java
+++ b/runners/google-cloud-dataflow-java/worker/src/test/java/org/apache/beam/runners/dataflow/worker/FnApiWindowMappingFnTest.java
@@ -61,7 +61,7 @@ import org.junit.runners.JUnit4;
 /** Tests for {@link FnApiWindowMappingFn}. */
 @RunWith(JUnit4.class)
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
 })
 public class FnApiWindowMappingFnTest {
   private static final ApiServiceDescriptor DATA_SERVICE =
diff --git a/runners/google-cloud-dataflow-java/worker/src/test/java/org/apache/beam/runners/dataflow/worker/GroupAlsoByWindowParDoFnFactoryTest.java b/runners/google-cloud-dataflow-java/worker/src/test/java/org/apache/beam/runners/dataflow/worker/GroupAlsoByWindowParDoFnFactoryTest.java
index 787309575b8..fb748ff0d19 100644
--- a/runners/google-cloud-dataflow-java/worker/src/test/java/org/apache/beam/runners/dataflow/worker/GroupAlsoByWindowParDoFnFactoryTest.java
+++ b/runners/google-cloud-dataflow-java/worker/src/test/java/org/apache/beam/runners/dataflow/worker/GroupAlsoByWindowParDoFnFactoryTest.java
@@ -41,7 +41,7 @@ import org.junit.runners.JUnit4;
 /** Tests for {@link GroupAlsoByWindowParDoFnFactory}. */
 @RunWith(JUnit4.class)
 @SuppressWarnings({
-  "rawtypes" // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes" // TODO(https://github.com/apache/beam/issues/20447)
 })
 public class GroupAlsoByWindowParDoFnFactoryTest {
   @Rule public TestPipeline p = TestPipeline.create().enableAbandonedNodeEnforcement(false);
diff --git a/runners/google-cloud-dataflow-java/worker/src/test/java/org/apache/beam/runners/dataflow/worker/GroupingShuffleReaderTest.java b/runners/google-cloud-dataflow-java/worker/src/test/java/org/apache/beam/runners/dataflow/worker/GroupingShuffleReaderTest.java
index 58c6a7e63dd..3793aa3bb75 100644
--- a/runners/google-cloud-dataflow-java/worker/src/test/java/org/apache/beam/runners/dataflow/worker/GroupingShuffleReaderTest.java
+++ b/runners/google-cloud-dataflow-java/worker/src/test/java/org/apache/beam/runners/dataflow/worker/GroupingShuffleReaderTest.java
@@ -92,7 +92,7 @@ import org.junit.runners.JUnit4;
 /** Tests for GroupingShuffleReader. */
 @RunWith(JUnit4.class)
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
 })
 public class GroupingShuffleReaderTest {
   private static final byte[] EMPTY_BYTE_ARRAY = new byte[0];
@@ -238,7 +238,7 @@ public class GroupingShuffleReaderTest {
 
         // safe co-variant cast from Reiterable to Iterable
         @SuppressWarnings({
-          "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+          "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
           "unchecked"
         })
         WindowedValue<KV<Integer, Iterable<KV<Integer, Integer>>>> windowedValue =
diff --git a/runners/google-cloud-dataflow-java/worker/src/test/java/org/apache/beam/runners/dataflow/worker/IntrinsicMapTaskExecutorFactoryTest.java b/runners/google-cloud-dataflow-java/worker/src/test/java/org/apache/beam/runners/dataflow/worker/IntrinsicMapTaskExecutorFactoryTest.java
index 58e76d76fcc..a81ec9855da 100644
--- a/runners/google-cloud-dataflow-java/worker/src/test/java/org/apache/beam/runners/dataflow/worker/IntrinsicMapTaskExecutorFactoryTest.java
+++ b/runners/google-cloud-dataflow-java/worker/src/test/java/org/apache/beam/runners/dataflow/worker/IntrinsicMapTaskExecutorFactoryTest.java
@@ -116,7 +116,7 @@ import org.mockito.MockitoAnnotations;
 /** Tests for {@link IntrinsicMapTaskExecutorFactory}. */
 @RunWith(JUnit4.class)
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
 })
 public class IntrinsicMapTaskExecutorFactoryTest {
   private static final String STAGE = "test";
@@ -193,7 +193,7 @@ public class IntrinsicMapTaskExecutorFactoryTest {
             idGenerator)) {
       // Safe covariant cast not expressible without rawtypes.
       @SuppressWarnings({
-        "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+        "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
         "unchecked"
       })
       List<Object> operations = (List) executor.operations;
diff --git a/runners/google-cloud-dataflow-java/worker/src/test/java/org/apache/beam/runners/dataflow/worker/IsmReaderTest.java b/runners/google-cloud-dataflow-java/worker/src/test/java/org/apache/beam/runners/dataflow/worker/IsmReaderTest.java
index 36aa2df5c41..549f409acd2 100644
--- a/runners/google-cloud-dataflow-java/worker/src/test/java/org/apache/beam/runners/dataflow/worker/IsmReaderTest.java
+++ b/runners/google-cloud-dataflow-java/worker/src/test/java/org/apache/beam/runners/dataflow/worker/IsmReaderTest.java
@@ -92,7 +92,7 @@ import org.junit.runners.JUnit4;
 /** Tests for {@link IsmReader}. */
 @RunWith(JUnit4.class)
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
 })
 public class IsmReaderTest {
   private static final long BLOOM_FILTER_SIZE_LIMIT = 10_000;
diff --git a/runners/google-cloud-dataflow-java/worker/src/test/java/org/apache/beam/runners/dataflow/worker/LazilyInitializedSideInputReaderTest.java b/runners/google-cloud-dataflow-java/worker/src/test/java/org/apache/beam/runners/dataflow/worker/LazilyInitializedSideInputReaderTest.java
index dfcde525f4f..fbdb0b6dbae 100644
--- a/runners/google-cloud-dataflow-java/worker/src/test/java/org/apache/beam/runners/dataflow/worker/LazilyInitializedSideInputReaderTest.java
+++ b/runners/google-cloud-dataflow-java/worker/src/test/java/org/apache/beam/runners/dataflow/worker/LazilyInitializedSideInputReaderTest.java
@@ -41,7 +41,7 @@ import org.mockito.MockitoAnnotations;
 /** Tests for {@link LazilyInitializedSideInputReader}. */
 @RunWith(JUnit4.class)
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
 })
 public class LazilyInitializedSideInputReaderTest {
   private static final String TEST_TAG = "test_tag";
diff --git a/runners/google-cloud-dataflow-java/worker/src/test/java/org/apache/beam/runners/dataflow/worker/PartialGroupByKeyParDoFnsTest.java b/runners/google-cloud-dataflow-java/worker/src/test/java/org/apache/beam/runners/dataflow/worker/PartialGroupByKeyParDoFnsTest.java
index 7c3932d4a56..0d392e822c0 100644
--- a/runners/google-cloud-dataflow-java/worker/src/test/java/org/apache/beam/runners/dataflow/worker/PartialGroupByKeyParDoFnsTest.java
+++ b/runners/google-cloud-dataflow-java/worker/src/test/java/org/apache/beam/runners/dataflow/worker/PartialGroupByKeyParDoFnsTest.java
@@ -87,7 +87,7 @@ import org.mockito.MockitoAnnotations;
 /** Tests for {@link PartialGroupByKeyParDoFns}. */
 @RunWith(JUnit4.class)
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
   "unchecked",
 })
 public class PartialGroupByKeyParDoFnsTest {
diff --git a/runners/google-cloud-dataflow-java/worker/src/test/java/org/apache/beam/runners/dataflow/worker/ReaderFactoryTest.java b/runners/google-cloud-dataflow-java/worker/src/test/java/org/apache/beam/runners/dataflow/worker/ReaderFactoryTest.java
index 7cdff4e1955..ea3d02a099e 100644
--- a/runners/google-cloud-dataflow-java/worker/src/test/java/org/apache/beam/runners/dataflow/worker/ReaderFactoryTest.java
+++ b/runners/google-cloud-dataflow-java/worker/src/test/java/org/apache/beam/runners/dataflow/worker/ReaderFactoryTest.java
@@ -42,7 +42,7 @@ import org.junit.runners.JUnit4;
 /** Tests for ReaderFactory. */
 @RunWith(JUnit4.class)
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
 })
 public class ReaderFactoryTest {
 
diff --git a/runners/google-cloud-dataflow-java/worker/src/test/java/org/apache/beam/runners/dataflow/worker/ShuffleReaderFactoryTest.java b/runners/google-cloud-dataflow-java/worker/src/test/java/org/apache/beam/runners/dataflow/worker/ShuffleReaderFactoryTest.java
index de78d083be7..febf8b4380f 100644
--- a/runners/google-cloud-dataflow-java/worker/src/test/java/org/apache/beam/runners/dataflow/worker/ShuffleReaderFactoryTest.java
+++ b/runners/google-cloud-dataflow-java/worker/src/test/java/org/apache/beam/runners/dataflow/worker/ShuffleReaderFactoryTest.java
@@ -49,7 +49,7 @@ import org.junit.runners.JUnit4;
  */
 @RunWith(JUnit4.class)
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
   "unchecked",
 })
 public class ShuffleReaderFactoryTest {
diff --git a/runners/google-cloud-dataflow-java/worker/src/test/java/org/apache/beam/runners/dataflow/worker/ShuffleSinkFactoryTest.java b/runners/google-cloud-dataflow-java/worker/src/test/java/org/apache/beam/runners/dataflow/worker/ShuffleSinkFactoryTest.java
index 32437c20aa7..0edbf80b4ee 100644
--- a/runners/google-cloud-dataflow-java/worker/src/test/java/org/apache/beam/runners/dataflow/worker/ShuffleSinkFactoryTest.java
+++ b/runners/google-cloud-dataflow-java/worker/src/test/java/org/apache/beam/runners/dataflow/worker/ShuffleSinkFactoryTest.java
@@ -42,7 +42,7 @@ import org.junit.runners.JUnit4;
 /** Tests for ShuffleSinkFactory. */
 @RunWith(JUnit4.class)
 @SuppressWarnings({
-  "rawtypes" // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes" // TODO(https://github.com/apache/beam/issues/20447)
 })
 public class ShuffleSinkFactoryTest {
 
diff --git a/runners/google-cloud-dataflow-java/worker/src/test/java/org/apache/beam/runners/dataflow/worker/StreamingPCollectionViewWriterDoFnFactoryTest.java b/runners/google-cloud-dataflow-java/worker/src/test/java/org/apache/beam/runners/dataflow/worker/StreamingPCollectionViewWriterDoFnFactoryTest.java
index 5ed67666ee5..4c2c434a406 100644
--- a/runners/google-cloud-dataflow-java/worker/src/test/java/org/apache/beam/runners/dataflow/worker/StreamingPCollectionViewWriterDoFnFactoryTest.java
+++ b/runners/google-cloud-dataflow-java/worker/src/test/java/org/apache/beam/runners/dataflow/worker/StreamingPCollectionViewWriterDoFnFactoryTest.java
@@ -39,7 +39,7 @@ import org.mockito.Mockito;
 /** Tests for {@link StreamingPCollectionViewWriterDoFnFactory}. */
 @RunWith(JUnit4.class)
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
 })
 public class StreamingPCollectionViewWriterDoFnFactoryTest {
   @Test
diff --git a/runners/google-cloud-dataflow-java/worker/src/test/java/org/apache/beam/runners/dataflow/worker/StreamingSideInputFetcherTest.java b/runners/google-cloud-dataflow-java/worker/src/test/java/org/apache/beam/runners/dataflow/worker/StreamingSideInputFetcherTest.java
index aebd6bd5910..469ae7f2f2b 100644
--- a/runners/google-cloud-dataflow-java/worker/src/test/java/org/apache/beam/runners/dataflow/worker/StreamingSideInputFetcherTest.java
+++ b/runners/google-cloud-dataflow-java/worker/src/test/java/org/apache/beam/runners/dataflow/worker/StreamingSideInputFetcherTest.java
@@ -79,7 +79,7 @@ public class StreamingSideInputFetcherTest {
   // to become a contravariant ?, it is not possible to cast state to an appropriate type
   // without rawtypes.
   @SuppressWarnings({
-    "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+    "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
     "unchecked"
   })
   @Before
diff --git a/runners/google-cloud-dataflow-java/worker/src/test/java/org/apache/beam/runners/dataflow/worker/StreamingStepMetricsContainerTest.java b/runners/google-cloud-dataflow-java/worker/src/test/java/org/apache/beam/runners/dataflow/worker/StreamingStepMetricsContainerTest.java
index caec162ba38..1a4c43905d2 100644
--- a/runners/google-cloud-dataflow-java/worker/src/test/java/org/apache/beam/runners/dataflow/worker/StreamingStepMetricsContainerTest.java
+++ b/runners/google-cloud-dataflow-java/worker/src/test/java/org/apache/beam/runners/dataflow/worker/StreamingStepMetricsContainerTest.java
@@ -40,7 +40,7 @@ import org.junit.runners.JUnit4;
 /** Tests for {@link StreamingStepMetricsContainer}. */
 @RunWith(JUnit4.class)
 @SuppressWarnings({
-  "rawtypes" // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes" // TODO(https://github.com/apache/beam/issues/20447)
 })
 public class StreamingStepMetricsContainerTest {
 
diff --git a/runners/google-cloud-dataflow-java/worker/src/test/java/org/apache/beam/runners/dataflow/worker/UserParDoFnFactoryTest.java b/runners/google-cloud-dataflow-java/worker/src/test/java/org/apache/beam/runners/dataflow/worker/UserParDoFnFactoryTest.java
index 59766eb866c..ca6e94b18ff 100644
--- a/runners/google-cloud-dataflow-java/worker/src/test/java/org/apache/beam/runners/dataflow/worker/UserParDoFnFactoryTest.java
+++ b/runners/google-cloud-dataflow-java/worker/src/test/java/org/apache/beam/runners/dataflow/worker/UserParDoFnFactoryTest.java
@@ -306,7 +306,7 @@ public class UserParDoFnFactoryTest {
   private CloudObject getCloudObject(DoFn<?, ?> fn, WindowingStrategy<?, ?> windowingStrategy) {
     CloudObject object = CloudObject.forClassName("DoFn");
     @SuppressWarnings({
-      "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+      "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
       "unchecked"
     })
     DoFnInfo<?, ?> info =
diff --git a/runners/google-cloud-dataflow-java/worker/src/test/java/org/apache/beam/runners/dataflow/worker/WindmillStateInternalsTest.java b/runners/google-cloud-dataflow-java/worker/src/test/java/org/apache/beam/runners/dataflow/worker/WindmillStateInternalsTest.java
index 94db54fceae..2abc4f0e3ba 100644
--- a/runners/google-cloud-dataflow-java/worker/src/test/java/org/apache/beam/runners/dataflow/worker/WindmillStateInternalsTest.java
+++ b/runners/google-cloud-dataflow-java/worker/src/test/java/org/apache/beam/runners/dataflow/worker/WindmillStateInternalsTest.java
@@ -93,7 +93,7 @@ import org.mockito.MockitoAnnotations;
 /** Tests for {@link WindmillStateInternals}. */
 @RunWith(JUnit4.class)
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
 })
 public class WindmillStateInternalsTest {
 
diff --git a/runners/google-cloud-dataflow-java/worker/src/test/java/org/apache/beam/runners/dataflow/worker/fn/control/BeamFnMapTaskExecutorTest.java b/runners/google-cloud-dataflow-java/worker/src/test/java/org/apache/beam/runners/dataflow/worker/fn/control/BeamFnMapTaskExecutorTest.java
index b365ac9ada7..074ff4787da 100644
--- a/runners/google-cloud-dataflow-java/worker/src/test/java/org/apache/beam/runners/dataflow/worker/fn/control/BeamFnMapTaskExecutorTest.java
+++ b/runners/google-cloud-dataflow-java/worker/src/test/java/org/apache/beam/runners/dataflow/worker/fn/control/BeamFnMapTaskExecutorTest.java
@@ -73,7 +73,7 @@ import org.mockito.MockitoAnnotations;
 /** Tests for {@link BeamFnMapTaskExecutor}. */
 @RunWith(JUnit4.class)
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
 })
 public class BeamFnMapTaskExecutorTest {
 
diff --git a/runners/google-cloud-dataflow-java/worker/src/test/java/org/apache/beam/runners/dataflow/worker/fn/control/DataflowSideInputHandlerFactoryTest.java b/runners/google-cloud-dataflow-java/worker/src/test/java/org/apache/beam/runners/dataflow/worker/fn/control/DataflowSideInputHandlerFactoryTest.java
index a7d46875ff4..41bf533f08d 100644
--- a/runners/google-cloud-dataflow-java/worker/src/test/java/org/apache/beam/runners/dataflow/worker/fn/control/DataflowSideInputHandlerFactoryTest.java
+++ b/runners/google-cloud-dataflow-java/worker/src/test/java/org/apache/beam/runners/dataflow/worker/fn/control/DataflowSideInputHandlerFactoryTest.java
@@ -51,7 +51,7 @@ import org.junit.runners.JUnit4;
 /** Test for {@link DataflowSideInputHandlerFactory} */
 @RunWith(JUnit4.class)
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
 })
 public final class DataflowSideInputHandlerFactoryTest {
 
diff --git a/runners/google-cloud-dataflow-java/worker/src/test/java/org/apache/beam/runners/dataflow/worker/fn/control/RegisterAndProcessBundleOperationTest.java b/runners/google-cloud-dataflow-java/worker/src/test/java/org/apache/beam/runners/dataflow/worker/fn/control/RegisterAndProcessBundleOperationTest.java
index 8a9ff93dda5..4064dd40fb2 100644
--- a/runners/google-cloud-dataflow-java/worker/src/test/java/org/apache/beam/runners/dataflow/worker/fn/control/RegisterAndProcessBundleOperationTest.java
+++ b/runners/google-cloud-dataflow-java/worker/src/test/java/org/apache/beam/runners/dataflow/worker/fn/control/RegisterAndProcessBundleOperationTest.java
@@ -97,7 +97,7 @@ import org.mockito.stubbing.Answer;
 /** Tests for {@link RegisterAndProcessBundleOperation}. */
 @RunWith(JUnit4.class)
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
   "FutureReturnValueIgnored",
 })
 public class RegisterAndProcessBundleOperationTest {
diff --git a/runners/google-cloud-dataflow-java/worker/src/test/java/org/apache/beam/runners/dataflow/worker/fn/control/SingularProcessBundleProgressTrackerTest.java b/runners/google-cloud-dataflow-java/worker/src/test/java/org/apache/beam/runners/dataflow/worker/fn/control/SingularProcessBundleProgressTrackerTest.java
index 07958fb906e..91c11942b8f 100644
--- a/runners/google-cloud-dataflow-java/worker/src/test/java/org/apache/beam/runners/dataflow/worker/fn/control/SingularProcessBundleProgressTrackerTest.java
+++ b/runners/google-cloud-dataflow-java/worker/src/test/java/org/apache/beam/runners/dataflow/worker/fn/control/SingularProcessBundleProgressTrackerTest.java
@@ -38,7 +38,7 @@ import org.mockito.Mockito;
 /** Tests for {@link BeamFnMapTaskExecutor.SingularProcessBundleProgressTracker}. */
 @RunWith(JUnit4.class)
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
 })
 public class SingularProcessBundleProgressTrackerTest {
 
diff --git a/runners/google-cloud-dataflow-java/worker/src/test/java/org/apache/beam/runners/dataflow/worker/graph/NodesTest.java b/runners/google-cloud-dataflow-java/worker/src/test/java/org/apache/beam/runners/dataflow/worker/graph/NodesTest.java
index bfa57aaa2ca..6ccb4096b1b 100644
--- a/runners/google-cloud-dataflow-java/worker/src/test/java/org/apache/beam/runners/dataflow/worker/graph/NodesTest.java
+++ b/runners/google-cloud-dataflow-java/worker/src/test/java/org/apache/beam/runners/dataflow/worker/graph/NodesTest.java
@@ -56,7 +56,7 @@ import org.junit.runners.JUnit4;
 /** Tests for {@link Nodes}. */
 @RunWith(JUnit4.class)
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
 })
 public class NodesTest {
   private static final String PCOLLECTION_ID = "fakeId";
diff --git a/runners/google-cloud-dataflow-java/worker/src/test/java/org/apache/beam/runners/dataflow/worker/util/ListOutputManager.java b/runners/google-cloud-dataflow-java/worker/src/test/java/org/apache/beam/runners/dataflow/worker/util/ListOutputManager.java
index 0e9027a4ade..7445ebd7928 100644
--- a/runners/google-cloud-dataflow-java/worker/src/test/java/org/apache/beam/runners/dataflow/worker/util/ListOutputManager.java
+++ b/runners/google-cloud-dataflow-java/worker/src/test/java/org/apache/beam/runners/dataflow/worker/util/ListOutputManager.java
@@ -37,7 +37,7 @@ public class ListOutputManager implements OutputManager {
   @Override
   public <T> void output(TupleTag<T> tag, WindowedValue<T> output) {
     @SuppressWarnings({
-      "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+      "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
       "unchecked"
     })
     List<WindowedValue<T>> outputList = (List) outputLists.get(tag);
@@ -45,7 +45,7 @@ public class ListOutputManager implements OutputManager {
     if (outputList == null) {
       outputList = Lists.newArrayList();
       @SuppressWarnings({
-        "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+        "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
         "unchecked"
       })
       List<WindowedValue<?>> untypedList = (List) outputList;
@@ -58,7 +58,7 @@ public class ListOutputManager implements OutputManager {
   public <T> List<WindowedValue<T>> getOutput(TupleTag<T> tag) {
     // Safe cast by design, inexpressible in Java without rawtypes
     @SuppressWarnings({
-      "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+      "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
       "unchecked"
     })
     List<WindowedValue<T>> outputList = (List) outputLists.get(tag);
diff --git a/runners/google-cloud-dataflow-java/worker/src/test/java/org/apache/beam/runners/dataflow/worker/util/common/worker/ExecutorTestUtils.java b/runners/google-cloud-dataflow-java/worker/src/test/java/org/apache/beam/runners/dataflow/worker/util/common/worker/ExecutorTestUtils.java
index 8acdc662f8f..ee891b48bfd 100644
--- a/runners/google-cloud-dataflow-java/worker/src/test/java/org/apache/beam/runners/dataflow/worker/util/common/worker/ExecutorTestUtils.java
+++ b/runners/google-cloud-dataflow-java/worker/src/test/java/org/apache/beam/runners/dataflow/worker/util/common/worker/ExecutorTestUtils.java
@@ -33,7 +33,7 @@ import org.apache.beam.vendor.guava.v26_0_jre.com.google.common.collect.Immutabl
 
 /** Utilities for tests. */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
   "unchecked",
 })
 public class ExecutorTestUtils {
diff --git a/runners/google-cloud-dataflow-java/worker/src/test/java/org/apache/beam/runners/dataflow/worker/util/common/worker/GroupingShuffleEntryIteratorTest.java b/runners/google-cloud-dataflow-java/worker/src/test/java/org/apache/beam/runners/dataflow/worker/util/common/worker/GroupingShuffleEntryIteratorTest.java
index 20b9e6ae007..446189cb49c 100644
--- a/runners/google-cloud-dataflow-java/worker/src/test/java/org/apache/beam/runners/dataflow/worker/util/common/worker/GroupingShuffleEntryIteratorTest.java
+++ b/runners/google-cloud-dataflow-java/worker/src/test/java/org/apache/beam/runners/dataflow/worker/util/common/worker/GroupingShuffleEntryIteratorTest.java
@@ -55,7 +55,7 @@ import org.mockito.MockitoAnnotations;
 /** Tests for {@link GroupingShuffleEntryIterator}. */
 @RunWith(JUnit4.class)
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
 })
 public class GroupingShuffleEntryIteratorTest {
   private static final ByteArrayShufflePosition START_POSITION =
diff --git a/runners/google-cloud-dataflow-java/worker/src/test/java/org/apache/beam/runners/dataflow/worker/util/common/worker/WriteOperationTest.java b/runners/google-cloud-dataflow-java/worker/src/test/java/org/apache/beam/runners/dataflow/worker/util/common/worker/WriteOperationTest.java
index 2c2c8bf3290..8da49a62144 100644
--- a/runners/google-cloud-dataflow-java/worker/src/test/java/org/apache/beam/runners/dataflow/worker/util/common/worker/WriteOperationTest.java
+++ b/runners/google-cloud-dataflow-java/worker/src/test/java/org/apache/beam/runners/dataflow/worker/util/common/worker/WriteOperationTest.java
@@ -47,7 +47,7 @@ import org.mockito.Mockito;
 /** Tests for WriteOperation. */
 @RunWith(JUnit4.class)
 @SuppressWarnings({
-  "rawtypes" // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes" // TODO(https://github.com/apache/beam/issues/20447)
 })
 public class WriteOperationTest {
 
diff --git a/runners/google-cloud-dataflow-java/worker/src/test/java/org/apache/beam/runners/dataflow/worker/windmill/GrpcWindmillServerTest.java b/runners/google-cloud-dataflow-java/worker/src/test/java/org/apache/beam/runners/dataflow/worker/windmill/GrpcWindmillServerTest.java
index 64a31f36831..fa3786d7daf 100644
--- a/runners/google-cloud-dataflow-java/worker/src/test/java/org/apache/beam/runners/dataflow/worker/windmill/GrpcWindmillServerTest.java
+++ b/runners/google-cloud-dataflow-java/worker/src/test/java/org/apache/beam/runners/dataflow/worker/windmill/GrpcWindmillServerTest.java
@@ -85,7 +85,7 @@ import org.slf4j.LoggerFactory;
 /** Unit tests for {@link GrpcWindmillServer}. */
 @RunWith(JUnit4.class)
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
 })
 public class GrpcWindmillServerTest {
   private static final Logger LOG = LoggerFactory.getLogger(GrpcWindmillServerTest.class);
diff --git a/runners/java-fn-execution/src/main/java/org/apache/beam/runners/fnexecution/artifact/ArtifactRetrievalService.java b/runners/java-fn-execution/src/main/java/org/apache/beam/runners/fnexecution/artifact/ArtifactRetrievalService.java
index 5a9f786eafe..b95d7d62488 100644
--- a/runners/java-fn-execution/src/main/java/org/apache/beam/runners/fnexecution/artifact/ArtifactRetrievalService.java
+++ b/runners/java-fn-execution/src/main/java/org/apache/beam/runners/fnexecution/artifact/ArtifactRetrievalService.java
@@ -37,7 +37,7 @@ import org.apache.beam.vendor.grpc.v1p43p2.io.grpc.stub.StreamObserver;
 
 /** An {@link ArtifactRetrievalService} that uses {@link FileSystems} as its backing storage. */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class ArtifactRetrievalService
     extends ArtifactRetrievalServiceGrpc.ArtifactRetrievalServiceImplBase implements FnService {
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 4326050115f..61b9d5b0f85 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
@@ -65,7 +65,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class ArtifactStagingService
     extends ArtifactStagingServiceGrpc.ArtifactStagingServiceImplBase implements FnService {
diff --git a/runners/java-fn-execution/src/main/java/org/apache/beam/runners/fnexecution/control/BundleCheckpointHandlers.java b/runners/java-fn-execution/src/main/java/org/apache/beam/runners/fnexecution/control/BundleCheckpointHandlers.java
index b077f25dc75..4b3290d2f98 100644
--- a/runners/java-fn-execution/src/main/java/org/apache/beam/runners/fnexecution/control/BundleCheckpointHandlers.java
+++ b/runners/java-fn-execution/src/main/java/org/apache/beam/runners/fnexecution/control/BundleCheckpointHandlers.java
@@ -39,8 +39,8 @@ import org.joda.time.Instant;
 
 /** Utility methods for creating {@link BundleCheckpointHandler}s. */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class BundleCheckpointHandlers {
 
diff --git a/runners/java-fn-execution/src/main/java/org/apache/beam/runners/fnexecution/control/DefaultJobBundleFactory.java b/runners/java-fn-execution/src/main/java/org/apache/beam/runners/fnexecution/control/DefaultJobBundleFactory.java
index 8d3a316c21a..0810a804a4a 100644
--- a/runners/java-fn-execution/src/main/java/org/apache/beam/runners/fnexecution/control/DefaultJobBundleFactory.java
+++ b/runners/java-fn-execution/src/main/java/org/apache/beam/runners/fnexecution/control/DefaultJobBundleFactory.java
@@ -92,8 +92,8 @@ import org.slf4j.LoggerFactory;
  */
 @ThreadSafe
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class DefaultJobBundleFactory implements JobBundleFactory {
   private static final Logger LOG = LoggerFactory.getLogger(DefaultJobBundleFactory.class);
diff --git a/runners/java-fn-execution/src/main/java/org/apache/beam/runners/fnexecution/control/FnApiControlClient.java b/runners/java-fn-execution/src/main/java/org/apache/beam/runners/fnexecution/control/FnApiControlClient.java
index 7fe3c0851fd..c83e6a7dca9 100644
--- a/runners/java-fn-execution/src/main/java/org/apache/beam/runners/fnexecution/control/FnApiControlClient.java
+++ b/runners/java-fn-execution/src/main/java/org/apache/beam/runners/fnexecution/control/FnApiControlClient.java
@@ -47,7 +47,7 @@ import org.slf4j.LoggerFactory;
  * <p>This low-level client is responsible only for correlating requests with responses.
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class FnApiControlClient implements Closeable, InstructionRequestHandler {
   private static final Logger LOG = LoggerFactory.getLogger(FnApiControlClient.class);
diff --git a/runners/java-fn-execution/src/main/java/org/apache/beam/runners/fnexecution/control/FnApiControlClientPoolService.java b/runners/java-fn-execution/src/main/java/org/apache/beam/runners/fnexecution/control/FnApiControlClientPoolService.java
index b4cc75ef621..edd76afd0f6 100644
--- a/runners/java-fn-execution/src/main/java/org/apache/beam/runners/fnexecution/control/FnApiControlClientPoolService.java
+++ b/runners/java-fn-execution/src/main/java/org/apache/beam/runners/fnexecution/control/FnApiControlClientPoolService.java
@@ -93,7 +93,7 @@ public class FnApiControlClientPoolService extends BeamFnControlGrpc.BeamFnContr
       synchronized (lock) {
         checkState(
             !closed, "%s already closed", FnApiControlClientPoolService.class.getSimpleName());
-        // TODO: https://issues.apache.org/jira/browse/BEAM-4151: Prevent stale client references
+        // TODO: https://github.com/apache/beam/issues/18790: Prevent stale client references
         // from leaking.
         vendedClients.put(workerId, newClient);
       }
diff --git a/runners/java-fn-execution/src/main/java/org/apache/beam/runners/fnexecution/control/ProcessBundleDescriptors.java b/runners/java-fn-execution/src/main/java/org/apache/beam/runners/fnexecution/control/ProcessBundleDescriptors.java
index 3dfcba441ca..4a8c59c8039 100644
--- a/runners/java-fn-execution/src/main/java/org/apache/beam/runners/fnexecution/control/ProcessBundleDescriptors.java
+++ b/runners/java-fn-execution/src/main/java/org/apache/beam/runners/fnexecution/control/ProcessBundleDescriptors.java
@@ -67,8 +67,8 @@ import org.checkerframework.checker.nullness.qual.Nullable;
 /** Utility methods for creating {@link ProcessBundleDescriptor} instances. */
 // TODO: Rename to ExecutableStages?
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class ProcessBundleDescriptors {
 
diff --git a/runners/java-fn-execution/src/main/java/org/apache/beam/runners/fnexecution/control/ReferenceCountingExecutableStageContextFactory.java b/runners/java-fn-execution/src/main/java/org/apache/beam/runners/fnexecution/control/ReferenceCountingExecutableStageContextFactory.java
index 360ec1c1b24..f17695c1231 100644
--- a/runners/java-fn-execution/src/main/java/org/apache/beam/runners/fnexecution/control/ReferenceCountingExecutableStageContextFactory.java
+++ b/runners/java-fn-execution/src/main/java/org/apache/beam/runners/fnexecution/control/ReferenceCountingExecutableStageContextFactory.java
@@ -43,7 +43,7 @@ import org.slf4j.LoggerFactory;
  * keeping.
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class ReferenceCountingExecutableStageContextFactory
     implements ExecutableStageContext.Factory {
diff --git a/runners/java-fn-execution/src/main/java/org/apache/beam/runners/fnexecution/control/RemoteBundle.java b/runners/java-fn-execution/src/main/java/org/apache/beam/runners/fnexecution/control/RemoteBundle.java
index 243cfbd92e7..0a85c4adeb2 100644
--- a/runners/java-fn-execution/src/main/java/org/apache/beam/runners/fnexecution/control/RemoteBundle.java
+++ b/runners/java-fn-execution/src/main/java/org/apache/beam/runners/fnexecution/control/RemoteBundle.java
@@ -31,7 +31,7 @@ import org.apache.beam.sdk.values.KV;
  * resources, and throw an exception if bundle processing has failed.
  */
 @SuppressWarnings({
-  "rawtypes" // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes" // TODO(https://github.com/apache/beam/issues/20447)
 })
 public interface RemoteBundle extends AutoCloseable {
   /** Get an id used to represent this bundle. */
diff --git a/runners/java-fn-execution/src/main/java/org/apache/beam/runners/fnexecution/control/RemoteOutputReceiver.java b/runners/java-fn-execution/src/main/java/org/apache/beam/runners/fnexecution/control/RemoteOutputReceiver.java
index 7130da7a3d1..e34de7a03b3 100644
--- a/runners/java-fn-execution/src/main/java/org/apache/beam/runners/fnexecution/control/RemoteOutputReceiver.java
+++ b/runners/java-fn-execution/src/main/java/org/apache/beam/runners/fnexecution/control/RemoteOutputReceiver.java
@@ -28,7 +28,7 @@ import org.apache.beam.sdk.fn.data.LogicalEndpoint;
  */
 @AutoValue
 @SuppressWarnings({
-  "rawtypes" // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes" // TODO(https://github.com/apache/beam/issues/20447)
 })
 public abstract class RemoteOutputReceiver<T> {
   public static <T> RemoteOutputReceiver of(Coder<T> coder, FnDataReceiver<T> receiver) {
diff --git a/runners/java-fn-execution/src/main/java/org/apache/beam/runners/fnexecution/control/SdkHarnessClient.java b/runners/java-fn-execution/src/main/java/org/apache/beam/runners/fnexecution/control/SdkHarnessClient.java
index 7f510810d1c..4c6d88db2f8 100644
--- a/runners/java-fn-execution/src/main/java/org/apache/beam/runners/fnexecution/control/SdkHarnessClient.java
+++ b/runners/java-fn-execution/src/main/java/org/apache/beam/runners/fnexecution/control/SdkHarnessClient.java
@@ -65,8 +65,8 @@ import org.slf4j.LoggerFactory;
  * CloseableFnDataReceiver}, which handle lower-level gRPC message wrangling.
  */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class SdkHarnessClient implements AutoCloseable {
   private static final Logger LOG = LoggerFactory.getLogger(SdkHarnessClient.class);
diff --git a/runners/java-fn-execution/src/main/java/org/apache/beam/runners/fnexecution/control/SingleEnvironmentInstanceJobBundleFactory.java b/runners/java-fn-execution/src/main/java/org/apache/beam/runners/fnexecution/control/SingleEnvironmentInstanceJobBundleFactory.java
index 5b734872e08..17e669e7651 100644
--- a/runners/java-fn-execution/src/main/java/org/apache/beam/runners/fnexecution/control/SingleEnvironmentInstanceJobBundleFactory.java
+++ b/runners/java-fn-execution/src/main/java/org/apache/beam/runners/fnexecution/control/SingleEnvironmentInstanceJobBundleFactory.java
@@ -49,7 +49,7 @@ import org.apache.beam.vendor.guava.v26_0_jre.com.google.common.collect.Iterable
  */
 @Deprecated
 @SuppressWarnings({
-  "rawtypes" // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes" // TODO(https://github.com/apache/beam/issues/20447)
 })
 public class SingleEnvironmentInstanceJobBundleFactory implements JobBundleFactory {
   public static JobBundleFactory create(
diff --git a/runners/java-fn-execution/src/main/java/org/apache/beam/runners/fnexecution/control/StageBundleFactory.java b/runners/java-fn-execution/src/main/java/org/apache/beam/runners/fnexecution/control/StageBundleFactory.java
index ee2b8e5caf9..32803de86cf 100644
--- a/runners/java-fn-execution/src/main/java/org/apache/beam/runners/fnexecution/control/StageBundleFactory.java
+++ b/runners/java-fn-execution/src/main/java/org/apache/beam/runners/fnexecution/control/StageBundleFactory.java
@@ -28,7 +28,7 @@ import org.apache.beam.runners.fnexecution.state.StateRequestHandler;
  * its lifetime can be cleaned up.
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public interface StageBundleFactory extends AutoCloseable {
   /** Get a new {@link RemoteBundle bundle} for processing the data in an executable stage. */
diff --git a/runners/java-fn-execution/src/main/java/org/apache/beam/runners/fnexecution/control/TimerReceiverFactory.java b/runners/java-fn-execution/src/main/java/org/apache/beam/runners/fnexecution/control/TimerReceiverFactory.java
index e46ef2a1574..85df1310da9 100644
--- a/runners/java-fn-execution/src/main/java/org/apache/beam/runners/fnexecution/control/TimerReceiverFactory.java
+++ b/runners/java-fn-execution/src/main/java/org/apache/beam/runners/fnexecution/control/TimerReceiverFactory.java
@@ -46,8 +46,8 @@ import org.slf4j.LoggerFactory;
  * timestamps to {@link BoundedWindow#TIMESTAMP_MAX_VALUE}.
  */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class TimerReceiverFactory {
   private static final Logger LOG = LoggerFactory.getLogger(TimerReceiverFactory.class);
diff --git a/runners/java-fn-execution/src/main/java/org/apache/beam/runners/fnexecution/data/GrpcDataService.java b/runners/java-fn-execution/src/main/java/org/apache/beam/runners/fnexecution/data/GrpcDataService.java
index 5ec1b9483ca..2f5de8879ba 100644
--- a/runners/java-fn-execution/src/main/java/org/apache/beam/runners/fnexecution/data/GrpcDataService.java
+++ b/runners/java-fn-execution/src/main/java/org/apache/beam/runners/fnexecution/data/GrpcDataService.java
@@ -51,7 +51,7 @@ import org.slf4j.LoggerFactory;
  * that connects.
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class GrpcDataService extends BeamFnDataGrpc.BeamFnDataImplBase
     implements FnService, FnDataService {
diff --git a/runners/java-fn-execution/src/main/java/org/apache/beam/runners/fnexecution/environment/DockerCommand.java b/runners/java-fn-execution/src/main/java/org/apache/beam/runners/fnexecution/environment/DockerCommand.java
index ed0b8706d7a..bdd995b4b7c 100644
--- a/runners/java-fn-execution/src/main/java/org/apache/beam/runners/fnexecution/environment/DockerCommand.java
+++ b/runners/java-fn-execution/src/main/java/org/apache/beam/runners/fnexecution/environment/DockerCommand.java
@@ -43,7 +43,7 @@ import org.slf4j.LoggerFactory;
     value = "OS_OPEN_STREAM",
     justification = "BufferedReader wraps stream we don't own and should not close")
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 class DockerCommand {
   private static final Logger LOG = LoggerFactory.getLogger(DockerCommand.class);
diff --git a/runners/java-fn-execution/src/main/java/org/apache/beam/runners/fnexecution/environment/DockerEnvironmentFactory.java b/runners/java-fn-execution/src/main/java/org/apache/beam/runners/fnexecution/environment/DockerEnvironmentFactory.java
index dafb0b7a85f..edeaeab3393 100644
--- a/runners/java-fn-execution/src/main/java/org/apache/beam/runners/fnexecution/environment/DockerEnvironmentFactory.java
+++ b/runners/java-fn-execution/src/main/java/org/apache/beam/runners/fnexecution/environment/DockerEnvironmentFactory.java
@@ -95,7 +95,7 @@ public class DockerEnvironmentFactory implements EnvironmentFactory {
 
     // Prepare docker invocation.
     String containerImage = dockerPayload.getContainerImage();
-    // TODO: https://issues.apache.org/jira/browse/BEAM-4148 The default service address will not
+    // TODO: https://github.com/apache/beam/issues/18929 The default service address will not
     // work for Docker for Mac.
     String provisionEndpoint = provisioningServiceServer.getApiServiceDescriptor().getUrl();
 
diff --git a/runners/java-fn-execution/src/main/java/org/apache/beam/runners/fnexecution/environment/EmbeddedEnvironmentFactory.java b/runners/java-fn-execution/src/main/java/org/apache/beam/runners/fnexecution/environment/EmbeddedEnvironmentFactory.java
index bd164fe26b6..27a2e33ed3e 100644
--- a/runners/java-fn-execution/src/main/java/org/apache/beam/runners/fnexecution/environment/EmbeddedEnvironmentFactory.java
+++ b/runners/java-fn-execution/src/main/java/org/apache/beam/runners/fnexecution/environment/EmbeddedEnvironmentFactory.java
@@ -51,7 +51,7 @@ import org.slf4j.LoggerFactory;
  * same process.
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class EmbeddedEnvironmentFactory implements EnvironmentFactory {
   private static final Logger LOG = LoggerFactory.getLogger(EmbeddedEnvironmentFactory.class);
@@ -110,7 +110,7 @@ public class EmbeddedEnvironmentFactory implements EnvironmentFactory {
                     OutboundObserverFactory.clientDirect(),
                     Caches.fromOptions(options));
               } catch (NoClassDefFoundError e) {
-                // TODO: https://issues.apache.org/jira/browse/BEAM-4384 load the FnHarness in a
+                // TODO: https://github.com/apache/beam/issues/18762 load the FnHarness in a
                 // Restricted classpath that we control for any user.
                 LOG.error(
                     "{} while executing an in-process FnHarness. "
diff --git a/runners/java-fn-execution/src/main/java/org/apache/beam/runners/fnexecution/environment/ProcessManager.java b/runners/java-fn-execution/src/main/java/org/apache/beam/runners/fnexecution/environment/ProcessManager.java
index b8a4279dffe..00ffc5b9b1a 100644
--- a/runners/java-fn-execution/src/main/java/org/apache/beam/runners/fnexecution/environment/ProcessManager.java
+++ b/runners/java-fn-execution/src/main/java/org/apache/beam/runners/fnexecution/environment/ProcessManager.java
@@ -36,7 +36,7 @@ import org.slf4j.LoggerFactory;
 /** A simple process manager which forks processes and kills them if necessary. */
 @ThreadSafe
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class ProcessManager {
   private static final Logger LOG = LoggerFactory.getLogger(ProcessManager.class);
diff --git a/runners/java-fn-execution/src/main/java/org/apache/beam/runners/fnexecution/logging/GrpcLoggingService.java b/runners/java-fn-execution/src/main/java/org/apache/beam/runners/fnexecution/logging/GrpcLoggingService.java
index f652cb9141f..125165a040c 100644
--- a/runners/java-fn-execution/src/main/java/org/apache/beam/runners/fnexecution/logging/GrpcLoggingService.java
+++ b/runners/java-fn-execution/src/main/java/org/apache/beam/runners/fnexecution/logging/GrpcLoggingService.java
@@ -31,7 +31,7 @@ import org.slf4j.LoggerFactory;
 
 /** An implementation of the Beam Fn Logging Service over gRPC. */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class GrpcLoggingService extends BeamFnLoggingGrpc.BeamFnLoggingImplBase
     implements FnService {
diff --git a/runners/java-fn-execution/src/main/java/org/apache/beam/runners/fnexecution/provisioning/StaticGrpcProvisionService.java b/runners/java-fn-execution/src/main/java/org/apache/beam/runners/fnexecution/provisioning/StaticGrpcProvisionService.java
index 1ab56f223be..b274890edf6 100644
--- a/runners/java-fn-execution/src/main/java/org/apache/beam/runners/fnexecution/provisioning/StaticGrpcProvisionService.java
+++ b/runners/java-fn-execution/src/main/java/org/apache/beam/runners/fnexecution/provisioning/StaticGrpcProvisionService.java
@@ -34,7 +34,7 @@ import org.apache.beam.vendor.grpc.v1p43p2.io.grpc.stub.StreamObserver;
  * A {@link ProvisionServiceImplBase provision service} that returns a static response to all calls.
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class StaticGrpcProvisionService extends ProvisionServiceGrpc.ProvisionServiceImplBase
     implements FnService {
diff --git a/runners/java-fn-execution/src/main/java/org/apache/beam/runners/fnexecution/state/InMemoryBagUserStateFactory.java b/runners/java-fn-execution/src/main/java/org/apache/beam/runners/fnexecution/state/InMemoryBagUserStateFactory.java
index 8cf7d3f6e3e..1bd0f121e23 100644
--- a/runners/java-fn-execution/src/main/java/org/apache/beam/runners/fnexecution/state/InMemoryBagUserStateFactory.java
+++ b/runners/java-fn-execution/src/main/java/org/apache/beam/runners/fnexecution/state/InMemoryBagUserStateFactory.java
@@ -35,8 +35,8 @@ import org.apache.beam.sdk.transforms.windowing.BoundedWindow;
  * called once per key. Needs to be reset via {@code resetForNewKey()} before processing a new key.
  */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class InMemoryBagUserStateFactory<K, V, W extends BoundedWindow>
     implements StateRequestHandlers.BagUserStateHandlerFactory<K, V, W> {
diff --git a/runners/java-fn-execution/src/main/java/org/apache/beam/runners/fnexecution/state/StateRequestHandlers.java b/runners/java-fn-execution/src/main/java/org/apache/beam/runners/fnexecution/state/StateRequestHandlers.java
index aafbfb01e91..968e9bd8ed7 100644
--- a/runners/java-fn-execution/src/main/java/org/apache/beam/runners/fnexecution/state/StateRequestHandlers.java
+++ b/runners/java-fn-execution/src/main/java/org/apache/beam/runners/fnexecution/state/StateRequestHandlers.java
@@ -63,8 +63,8 @@ import org.apache.beam.vendor.guava.v26_0_jre.com.google.common.collect.Immutabl
  * <p>TODO: Add a variant which works on {@link ByteString}s to remove encoding/decoding overhead.
  */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class StateRequestHandlers {
 
diff --git a/runners/java-fn-execution/src/main/java/org/apache/beam/runners/fnexecution/translation/BatchSideInputHandlerFactory.java b/runners/java-fn-execution/src/main/java/org/apache/beam/runners/fnexecution/translation/BatchSideInputHandlerFactory.java
index 638cd0f3f01..75e52683122 100644
--- a/runners/java-fn-execution/src/main/java/org/apache/beam/runners/fnexecution/translation/BatchSideInputHandlerFactory.java
+++ b/runners/java-fn-execution/src/main/java/org/apache/beam/runners/fnexecution/translation/BatchSideInputHandlerFactory.java
@@ -44,7 +44,7 @@ import org.apache.beam.vendor.guava.v26_0_jre.com.google.common.collect.Iterable
 
 /** {@link StateRequestHandler} that uses a {@link SideInputGetter} to access side inputs. */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class BatchSideInputHandlerFactory implements SideInputHandlerFactory {
 
diff --git a/runners/java-fn-execution/src/main/java/org/apache/beam/runners/fnexecution/translation/PipelineTranslatorUtils.java b/runners/java-fn-execution/src/main/java/org/apache/beam/runners/fnexecution/translation/PipelineTranslatorUtils.java
index 5446b3c411d..bd0027e3389 100644
--- a/runners/java-fn-execution/src/main/java/org/apache/beam/runners/fnexecution/translation/PipelineTranslatorUtils.java
+++ b/runners/java-fn-execution/src/main/java/org/apache/beam/runners/fnexecution/translation/PipelineTranslatorUtils.java
@@ -53,8 +53,8 @@ import org.joda.time.Instant;
 
 /** Utilities for pipeline translation. */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public final class PipelineTranslatorUtils {
   private PipelineTranslatorUtils() {}
diff --git a/runners/java-fn-execution/src/main/java/org/apache/beam/runners/fnexecution/translation/StreamingSideInputHandlerFactory.java b/runners/java-fn-execution/src/main/java/org/apache/beam/runners/fnexecution/translation/StreamingSideInputHandlerFactory.java
index 1dfcc4a8d7b..1ae95c77eff 100644
--- a/runners/java-fn-execution/src/main/java/org/apache/beam/runners/fnexecution/translation/StreamingSideInputHandlerFactory.java
+++ b/runners/java-fn-execution/src/main/java/org/apache/beam/runners/fnexecution/translation/StreamingSideInputHandlerFactory.java
@@ -43,8 +43,8 @@ import org.apache.beam.vendor.guava.v26_0_jre.com.google.common.collect.Immutabl
  * access the broadcast state that represents side inputs.
  */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class StreamingSideInputHandlerFactory implements SideInputHandlerFactory {
 
diff --git a/runners/java-fn-execution/src/test/java/org/apache/beam/runners/fnexecution/control/RemoteExecutionTest.java b/runners/java-fn-execution/src/test/java/org/apache/beam/runners/fnexecution/control/RemoteExecutionTest.java
index 59e61c1109a..396a67fb6ca 100644
--- a/runners/java-fn-execution/src/test/java/org/apache/beam/runners/fnexecution/control/RemoteExecutionTest.java
+++ b/runners/java-fn-execution/src/test/java/org/apache/beam/runners/fnexecution/control/RemoteExecutionTest.java
@@ -160,7 +160,7 @@ import org.junit.runners.JUnit4;
  */
 @RunWith(JUnit4.class)
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
   "keyfor",
   "unused" // TODO(BEAM-13271): Remove when new version of errorprone is released (2.11.0)
 })
diff --git a/runners/java-fn-execution/src/test/java/org/apache/beam/runners/fnexecution/control/SdkHarnessClientTest.java b/runners/java-fn-execution/src/test/java/org/apache/beam/runners/fnexecution/control/SdkHarnessClientTest.java
index 9c92f72e2e2..6366dc0496b 100644
--- a/runners/java-fn-execution/src/test/java/org/apache/beam/runners/fnexecution/control/SdkHarnessClientTest.java
+++ b/runners/java-fn-execution/src/test/java/org/apache/beam/runners/fnexecution/control/SdkHarnessClientTest.java
@@ -101,7 +101,7 @@ import org.mockito.MockitoAnnotations;
 /** Unit tests for {@link SdkHarnessClient}. */
 @RunWith(JUnit4.class)
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
 })
 public class SdkHarnessClientTest {
 
diff --git a/runners/java-fn-execution/src/test/java/org/apache/beam/runners/fnexecution/state/GrpcStateServiceTest.java b/runners/java-fn-execution/src/test/java/org/apache/beam/runners/fnexecution/state/GrpcStateServiceTest.java
index e154013096b..c7abbcf81c1 100644
--- a/runners/java-fn-execution/src/test/java/org/apache/beam/runners/fnexecution/state/GrpcStateServiceTest.java
+++ b/runners/java-fn-execution/src/test/java/org/apache/beam/runners/fnexecution/state/GrpcStateServiceTest.java
@@ -44,7 +44,7 @@ import org.mockito.MockitoAnnotations;
 /** Tests for {@link org.apache.beam.runners.fnexecution.state.GrpcStateService}. */
 @RunWith(JUnit4.class)
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
 })
 public class GrpcStateServiceTest {
   private static final long TIMEOUT_MS = 30 * 1000;
diff --git a/runners/java-fn-execution/src/test/java/org/apache/beam/runners/fnexecution/state/StateRequestHandlersTest.java b/runners/java-fn-execution/src/test/java/org/apache/beam/runners/fnexecution/state/StateRequestHandlersTest.java
index e39d72d8bf9..049319787eb 100644
--- a/runners/java-fn-execution/src/test/java/org/apache/beam/runners/fnexecution/state/StateRequestHandlersTest.java
+++ b/runners/java-fn-execution/src/test/java/org/apache/beam/runners/fnexecution/state/StateRequestHandlersTest.java
@@ -47,7 +47,7 @@ import org.mockito.Mockito;
 /** Tests for {@link StateRequestHandlers}. */
 @RunWith(JUnit4.class)
 @SuppressWarnings({
-  "rawtypes" // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes" // TODO(https://github.com/apache/beam/issues/20447)
 })
 public class StateRequestHandlersTest {
   @Test
diff --git a/runners/java-fn-execution/src/test/java/org/apache/beam/runners/fnexecution/wire/CommonCoderTest.java b/runners/java-fn-execution/src/test/java/org/apache/beam/runners/fnexecution/wire/CommonCoderTest.java
index ca5274a358b..869ed343986 100644
--- a/runners/java-fn-execution/src/test/java/org/apache/beam/runners/fnexecution/wire/CommonCoderTest.java
+++ b/runners/java-fn-execution/src/test/java/org/apache/beam/runners/fnexecution/wire/CommonCoderTest.java
@@ -107,7 +107,7 @@ import org.junit.runners.Parameterized.Parameters;
 /** Tests that Java SDK coders standardized by the Fn API meet the common spec. */
 @RunWith(Parameterized.class)
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
 })
 public class CommonCoderTest {
   private static final String STANDARD_CODERS_YAML_PATH =
diff --git a/runners/java-job-service/src/main/java/org/apache/beam/runners/jobsubmission/InMemoryJobService.java b/runners/java-job-service/src/main/java/org/apache/beam/runners/jobsubmission/InMemoryJobService.java
index e143fd9e461..9ac2ef045bf 100644
--- a/runners/java-job-service/src/main/java/org/apache/beam/runners/jobsubmission/InMemoryJobService.java
+++ b/runners/java-job-service/src/main/java/org/apache/beam/runners/jobsubmission/InMemoryJobService.java
@@ -76,7 +76,7 @@ import org.slf4j.LoggerFactory;
  * <p>TODO: replace in-memory job management state with persistent solution.
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class InMemoryJobService extends JobServiceGrpc.JobServiceImplBase implements FnService {
   private static final Logger LOG = LoggerFactory.getLogger(InMemoryJobService.class);
diff --git a/runners/java-job-service/src/main/java/org/apache/beam/runners/jobsubmission/JobInvocation.java b/runners/java-job-service/src/main/java/org/apache/beam/runners/jobsubmission/JobInvocation.java
index ac33e25154b..388fb16f387 100644
--- a/runners/java-job-service/src/main/java/org/apache/beam/runners/jobsubmission/JobInvocation.java
+++ b/runners/java-job-service/src/main/java/org/apache/beam/runners/jobsubmission/JobInvocation.java
@@ -46,7 +46,7 @@ import org.slf4j.LoggerFactory;
 
 /** Internal representation of a Job which has been invoked (prepared and run) by a client. */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class JobInvocation {
 
diff --git a/runners/java-job-service/src/main/java/org/apache/beam/runners/jobsubmission/JobInvoker.java b/runners/java-job-service/src/main/java/org/apache/beam/runners/jobsubmission/JobInvoker.java
index b092751f8ae..cd022ac6291 100644
--- a/runners/java-job-service/src/main/java/org/apache/beam/runners/jobsubmission/JobInvoker.java
+++ b/runners/java-job-service/src/main/java/org/apache/beam/runners/jobsubmission/JobInvoker.java
@@ -29,7 +29,7 @@ import org.apache.beam.vendor.guava.v26_0_jre.com.google.common.util.concurrent.
 
 /** Factory to create {@link JobInvocation} instances. */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public abstract class JobInvoker {
 
diff --git a/runners/java-job-service/src/main/java/org/apache/beam/runners/jobsubmission/JobServerDriver.java b/runners/java-job-service/src/main/java/org/apache/beam/runners/jobsubmission/JobServerDriver.java
index 7e1e5e88534..3b1dfe64db3 100644
--- a/runners/java-job-service/src/main/java/org/apache/beam/runners/jobsubmission/JobServerDriver.java
+++ b/runners/java-job-service/src/main/java/org/apache/beam/runners/jobsubmission/JobServerDriver.java
@@ -34,7 +34,7 @@ import org.slf4j.LoggerFactory;
 
 /** Shared code for starting and serving an {@link InMemoryJobService}. */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public abstract class JobServerDriver implements Runnable {
 
diff --git a/runners/java-job-service/src/main/java/org/apache/beam/runners/jobsubmission/PortablePipelineJarCreator.java b/runners/java-job-service/src/main/java/org/apache/beam/runners/jobsubmission/PortablePipelineJarCreator.java
index 21f00f4b2f0..709bc7eb144 100644
--- a/runners/java-job-service/src/main/java/org/apache/beam/runners/jobsubmission/PortablePipelineJarCreator.java
+++ b/runners/java-job-service/src/main/java/org/apache/beam/runners/jobsubmission/PortablePipelineJarCreator.java
@@ -64,8 +64,8 @@ import org.slf4j.LoggerFactory;
  * to be constructed and {@link #run} once per job.
  */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class PortablePipelineJarCreator implements PortablePipelineRunner {
   private static final Logger LOG = LoggerFactory.getLogger(PortablePipelineJarCreator.class);
diff --git a/runners/java-job-service/src/main/java/org/apache/beam/runners/jobsubmission/PortablePipelineJarUtils.java b/runners/java-job-service/src/main/java/org/apache/beam/runners/jobsubmission/PortablePipelineJarUtils.java
index 1319592e0ce..e2c32f45188 100644
--- a/runners/java-job-service/src/main/java/org/apache/beam/runners/jobsubmission/PortablePipelineJarUtils.java
+++ b/runners/java-job-service/src/main/java/org/apache/beam/runners/jobsubmission/PortablePipelineJarUtils.java
@@ -63,7 +63,7 @@ import org.apache.beam.vendor.guava.v26_0_jre.com.google.common.io.ByteStreams;
  * </ul>
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public abstract class PortablePipelineJarUtils {
   private static final String ARTIFACT_FOLDER = "artifacts";
diff --git a/runners/jet/src/main/java/org/apache/beam/runners/jet/DAGBuilder.java b/runners/jet/src/main/java/org/apache/beam/runners/jet/DAGBuilder.java
index 509b23d3254..f7792e5e31c 100644
--- a/runners/jet/src/main/java/org/apache/beam/runners/jet/DAGBuilder.java
+++ b/runners/jet/src/main/java/org/apache/beam/runners/jet/DAGBuilder.java
@@ -42,8 +42,8 @@ import org.apache.beam.sdk.values.PCollectionView;
 
 /** Utility class for wiring up Jet DAGs based on Beam pipelines. */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class DAGBuilder {
 
diff --git a/runners/jet/src/main/java/org/apache/beam/runners/jet/JetGraphVisitor.java b/runners/jet/src/main/java/org/apache/beam/runners/jet/JetGraphVisitor.java
index 4959e51ced6..bad7b19be80 100644
--- a/runners/jet/src/main/java/org/apache/beam/runners/jet/JetGraphVisitor.java
+++ b/runners/jet/src/main/java/org/apache/beam/runners/jet/JetGraphVisitor.java
@@ -28,7 +28,7 @@ import org.apache.beam.sdk.values.PValue;
 
 /** Logic that specifies how to apply translations when traversing the nodes of a Beam pipeline. */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 class JetGraphVisitor extends Pipeline.PipelineVisitor.Defaults {
 
diff --git a/runners/jet/src/main/java/org/apache/beam/runners/jet/JetPipelineResult.java b/runners/jet/src/main/java/org/apache/beam/runners/jet/JetPipelineResult.java
index e2e738f2868..dd780c985b3 100644
--- a/runners/jet/src/main/java/org/apache/beam/runners/jet/JetPipelineResult.java
+++ b/runners/jet/src/main/java/org/apache/beam/runners/jet/JetPipelineResult.java
@@ -39,7 +39,7 @@ import org.slf4j.LoggerFactory;
 
 /** Jet specific implementation of {@link PipelineResult}. */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class JetPipelineResult implements PipelineResult {
 
diff --git a/runners/jet/src/main/java/org/apache/beam/runners/jet/JetTransformTranslator.java b/runners/jet/src/main/java/org/apache/beam/runners/jet/JetTransformTranslator.java
index df8243de2db..c4d84162b6c 100644
--- a/runners/jet/src/main/java/org/apache/beam/runners/jet/JetTransformTranslator.java
+++ b/runners/jet/src/main/java/org/apache/beam/runners/jet/JetTransformTranslator.java
@@ -24,7 +24,7 @@ import org.apache.beam.sdk.runners.TransformHierarchy;
 import org.apache.beam.sdk.transforms.PTransform;
 
 @SuppressWarnings({
-  "rawtypes" // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes" // TODO(https://github.com/apache/beam/issues/20447)
 })
 interface JetTransformTranslator<T extends PTransform> {
 
diff --git a/runners/jet/src/main/java/org/apache/beam/runners/jet/JetTransformTranslators.java b/runners/jet/src/main/java/org/apache/beam/runners/jet/JetTransformTranslators.java
index 4b504ece074..fc9e1e6ccb1 100644
--- a/runners/jet/src/main/java/org/apache/beam/runners/jet/JetTransformTranslators.java
+++ b/runners/jet/src/main/java/org/apache/beam/runners/jet/JetTransformTranslators.java
@@ -62,9 +62,9 @@ import org.apache.beam.sdk.values.TupleTag;
 import org.apache.beam.sdk.values.WindowingStrategy;
 
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
   "unchecked",
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 class JetTransformTranslators {
 
diff --git a/runners/jet/src/main/java/org/apache/beam/runners/jet/Utils.java b/runners/jet/src/main/java/org/apache/beam/runners/jet/Utils.java
index 654160a6ebc..1c34cb98f25 100644
--- a/runners/jet/src/main/java/org/apache/beam/runners/jet/Utils.java
+++ b/runners/jet/src/main/java/org/apache/beam/runners/jet/Utils.java
@@ -58,10 +58,10 @@ import org.checkerframework.checker.nullness.qual.Nullable;
 
 /** Various common methods used by the Jet based runner. */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
   "nullness",
   "keyfor"
-}) // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+}) // TODO(https://github.com/apache/beam/issues/20497)
 public class Utils {
 
   public static String getTupleTagId(PValue value) {
diff --git a/runners/jet/src/main/java/org/apache/beam/runners/jet/metrics/JetMetricResults.java b/runners/jet/src/main/java/org/apache/beam/runners/jet/metrics/JetMetricResults.java
index 2b5d5f58c27..a448542f181 100644
--- a/runners/jet/src/main/java/org/apache/beam/runners/jet/metrics/JetMetricResults.java
+++ b/runners/jet/src/main/java/org/apache/beam/runners/jet/metrics/JetMetricResults.java
@@ -39,7 +39,7 @@ import org.checkerframework.checker.nullness.qual.Nullable;
 
 /** Jet specific {@link MetricResults}. */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class JetMetricResults extends MetricResults {
 
diff --git a/runners/jet/src/main/java/org/apache/beam/runners/jet/processors/AbstractParDoP.java b/runners/jet/src/main/java/org/apache/beam/runners/jet/processors/AbstractParDoP.java
index c5df5a6fa3b..b9858ff6562 100644
--- a/runners/jet/src/main/java/org/apache/beam/runners/jet/processors/AbstractParDoP.java
+++ b/runners/jet/src/main/java/org/apache/beam/runners/jet/processors/AbstractParDoP.java
@@ -66,8 +66,8 @@ import org.apache.beam.sdk.values.WindowingStrategy;
 import org.apache.beam.vendor.guava.v26_0_jre.com.google.common.collect.Lists;
 
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 abstract class AbstractParDoP<InputT, OutputT> implements Processor {
 
diff --git a/runners/jet/src/main/java/org/apache/beam/runners/jet/processors/AssignWindowP.java b/runners/jet/src/main/java/org/apache/beam/runners/jet/processors/AssignWindowP.java
index 04573171476..f459769db45 100644
--- a/runners/jet/src/main/java/org/apache/beam/runners/jet/processors/AssignWindowP.java
+++ b/runners/jet/src/main/java/org/apache/beam/runners/jet/processors/AssignWindowP.java
@@ -38,10 +38,10 @@ import org.joda.time.Instant;
  * @param <T> type of element being windowed
  */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
   "nullness",
   "keyfor"
-}) // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+}) // TODO(https://github.com/apache/beam/issues/20497)
 public class AssignWindowP<T> extends AbstractProcessor {
 
   @SuppressWarnings({"FieldCanBeLocal", "unused"})
diff --git a/runners/jet/src/main/java/org/apache/beam/runners/jet/processors/BoundedSourceP.java b/runners/jet/src/main/java/org/apache/beam/runners/jet/processors/BoundedSourceP.java
index c90597abae7..4da880e618b 100644
--- a/runners/jet/src/main/java/org/apache/beam/runners/jet/processors/BoundedSourceP.java
+++ b/runners/jet/src/main/java/org/apache/beam/runners/jet/processors/BoundedSourceP.java
@@ -43,10 +43,10 @@ import org.apache.beam.sdk.util.WindowedValue;
  * source.
  */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
   "nullness",
   "keyfor"
-}) // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+}) // TODO(https://github.com/apache/beam/issues/20497)
 public class BoundedSourceP<T> extends AbstractProcessor implements Traverser {
 
   private final Traverser<BoundedSource<T>> shardsTraverser;
diff --git a/runners/jet/src/main/java/org/apache/beam/runners/jet/processors/FlattenP.java b/runners/jet/src/main/java/org/apache/beam/runners/jet/processors/FlattenP.java
index 533ca8a592a..62648d2b4c6 100644
--- a/runners/jet/src/main/java/org/apache/beam/runners/jet/processors/FlattenP.java
+++ b/runners/jet/src/main/java/org/apache/beam/runners/jet/processors/FlattenP.java
@@ -31,8 +31,8 @@ import org.apache.beam.sdk.util.WindowedValue;
 
 /** Jet {@link com.hazelcast.jet.core.Processor} implementation for Beam's Flatten primitive. */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class FlattenP extends AbstractProcessor {
 
diff --git a/runners/jet/src/main/java/org/apache/beam/runners/jet/processors/ImpulseP.java b/runners/jet/src/main/java/org/apache/beam/runners/jet/processors/ImpulseP.java
index 1f0dc7ad916..671dbd582ba 100644
--- a/runners/jet/src/main/java/org/apache/beam/runners/jet/processors/ImpulseP.java
+++ b/runners/jet/src/main/java/org/apache/beam/runners/jet/processors/ImpulseP.java
@@ -35,8 +35,8 @@ import org.apache.beam.sdk.util.WindowedValue;
  * /** * Jet {@link com.hazelcast.jet.core.Processor} implementation for Beam's Impulse primitive.
  */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class ImpulseP extends AbstractProcessor {
 
diff --git a/runners/jet/src/main/java/org/apache/beam/runners/jet/processors/StatefulParDoP.java b/runners/jet/src/main/java/org/apache/beam/runners/jet/processors/StatefulParDoP.java
index 9fb18052c31..3b3d7919362 100644
--- a/runners/jet/src/main/java/org/apache/beam/runners/jet/processors/StatefulParDoP.java
+++ b/runners/jet/src/main/java/org/apache/beam/runners/jet/processors/StatefulParDoP.java
@@ -52,8 +52,8 @@ import org.joda.time.Instant;
  * Jet {@link com.hazelcast.jet.core.Processor} implementation for Beam's stateful ParDo primitive.
  */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class StatefulParDoP<OutputT>
     extends AbstractParDoP<KV<?, ?>, OutputT> { // todo: unify with ParDoP?
diff --git a/runners/jet/src/main/java/org/apache/beam/runners/jet/processors/UnboundedSourceP.java b/runners/jet/src/main/java/org/apache/beam/runners/jet/processors/UnboundedSourceP.java
index 8a1769cc1e7..38a75d47e70 100644
--- a/runners/jet/src/main/java/org/apache/beam/runners/jet/processors/UnboundedSourceP.java
+++ b/runners/jet/src/main/java/org/apache/beam/runners/jet/processors/UnboundedSourceP.java
@@ -43,10 +43,10 @@ import org.apache.beam.sdk.util.WindowedValue;
  * source.
  */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
   "nullness",
   "keyfor"
-}) // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+}) // TODO(https://github.com/apache/beam/issues/20497)
 public class UnboundedSourceP<T, CmT extends UnboundedSource.CheckpointMark>
     extends AbstractProcessor {
 
diff --git a/runners/jet/src/main/java/org/apache/beam/runners/jet/processors/ViewP.java b/runners/jet/src/main/java/org/apache/beam/runners/jet/processors/ViewP.java
index 1df33c63bbb..1106585501f 100644
--- a/runners/jet/src/main/java/org/apache/beam/runners/jet/processors/ViewP.java
+++ b/runners/jet/src/main/java/org/apache/beam/runners/jet/processors/ViewP.java
@@ -43,8 +43,8 @@ import org.joda.time.Instant;
  * input is complete emits them.
  */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class ViewP extends AbstractProcessor {
 
diff --git a/runners/jet/src/main/java/org/apache/beam/runners/jet/processors/WindowGroupP.java b/runners/jet/src/main/java/org/apache/beam/runners/jet/processors/WindowGroupP.java
index b9ead6fbe45..1d2d39058ba 100644
--- a/runners/jet/src/main/java/org/apache/beam/runners/jet/processors/WindowGroupP.java
+++ b/runners/jet/src/main/java/org/apache/beam/runners/jet/processors/WindowGroupP.java
@@ -68,8 +68,8 @@ import org.joda.time.Instant;
  * @param <V> type of elements being windowed
  */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class WindowGroupP<K, V> extends AbstractProcessor {
 
diff --git a/runners/jet/src/test/java/org/apache/beam/runners/jet/TestJetRunner.java b/runners/jet/src/test/java/org/apache/beam/runners/jet/TestJetRunner.java
index bc21ff2b368..0f34db0b2eb 100644
--- a/runners/jet/src/test/java/org/apache/beam/runners/jet/TestJetRunner.java
+++ b/runners/jet/src/test/java/org/apache/beam/runners/jet/TestJetRunner.java
@@ -46,7 +46,7 @@ import org.apache.beam.sdk.values.TupleTag;
 
 /** Slightly altered version of the Jet based runner, used in unit-tests. */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
 })
 public class TestJetRunner extends PipelineRunner<PipelineResult> {
 
diff --git a/runners/jet/src/test/java/org/apache/beam/runners/jet/TestStreamP.java b/runners/jet/src/test/java/org/apache/beam/runners/jet/TestStreamP.java
index abb37f6193d..96b2614b1a7 100644
--- a/runners/jet/src/test/java/org/apache/beam/runners/jet/TestStreamP.java
+++ b/runners/jet/src/test/java/org/apache/beam/runners/jet/TestStreamP.java
@@ -41,7 +41,7 @@ import org.joda.time.Instant;
  * transform.
  */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
 })
 public class TestStreamP extends AbstractProcessor {
 
diff --git a/runners/portability/java/build.gradle b/runners/portability/java/build.gradle
index d78315ee5f0..ed476e255b3 100644
--- a/runners/portability/java/build.gradle
+++ b/runners/portability/java/build.gradle
@@ -122,7 +122,7 @@ startLocalJobService.configure{finalizedBy stopLocalJobService}
 
 def sickbayTests = [
 
-        //TODO: https://issues.apache.org/jira/browse/BEAM-10995
+        //TODO: https://github.com/apache/beam/issues/20631
         'org.apache.beam.sdk.transforms.windowing.WindowingTest.testWindowPreservation',
 ]
 
@@ -155,13 +155,13 @@ def createUlrValidatesRunnerTask = { name, environmentType, dockerImageTask = ""
     }
     filter {
       // There is not currently a category for excluding these _only_ in committed mode
-      // https://issues.apache.org/jira/browse/BEAM-10445
+      // https://github.com/apache/beam/issues/20370
       excludeTestsMatching 'org.apache.beam.sdk.metrics.MetricsTest$CommittedMetricTests.testCommittedCounterMetrics'
-      // https://issues.apache.org/jira/browse/BEAM-10446
+      // https://github.com/apache/beam/issues/20371
       excludeTestsMatching 'org.apache.beam.sdk.metrics.MetricsTest$CommittedMetricTests.testCommittedDistributionMetrics'
 
       // Teardown not called in exceptions
-      // https://issues.apache.org/jira/browse/BEAM-10447
+      // https://github.com/apache/beam/issues/20372
       excludeTestsMatching 'org.apache.beam.sdk.transforms.ParDoLifecycleTest.testTeardownCalledAfterExceptionInFinishBundle'
       excludeTestsMatching 'org.apache.beam.sdk.transforms.ParDoLifecycleTest.testTeardownCalledAfterExceptionInFinishBundleStateful'
       excludeTestsMatching 'org.apache.beam.sdk.transforms.ParDoLifecycleTest.testTeardownCalledAfterExceptionInProcessElement'
@@ -172,7 +172,7 @@ def createUlrValidatesRunnerTask = { name, environmentType, dockerImageTask = ""
       excludeTestsMatching 'org.apache.beam.sdk.transforms.ParDoLifecycleTest.testTeardownCalledAfterExceptionInStartBundleStateful'
 
       // Only known window fns supported, not general window merging
-      // https://issues.apache.org/jira/browse/BEAM-10448
+      // https://github.com/apache/beam/issues/20437
       excludeTestsMatching 'org.apache.beam.sdk.transforms.windowing.WindowTest.testMergingCustomWindows'
       excludeTestsMatching 'org.apache.beam.sdk.transforms.windowing.WindowTest.testMergingCustomWindowsKeyedCollection'
       excludeTestsMatching 'org.apache.beam.sdk.transforms.windowing.WindowTest.testMergingCustomWindowsWithoutCustomWindowTypes'
@@ -181,18 +181,18 @@ def createUlrValidatesRunnerTask = { name, environmentType, dockerImageTask = ""
       excludeTestsMatching 'org.apache.beam.sdk.transforms.GroupByKeyTest$WindowTests.testGroupByKeyMergingWindows'
 
       // Misc failures
-      // https://issues.apache.org/jira/browse/BEAM-10451
+      // https://github.com/apache/beam/issues/20375
       excludeTestsMatching 'org.apache.beam.sdk.transforms.CombineTest$WindowingTests.testGlobalCombineWithDefaultsAndTriggers'
       excludeTestsMatching 'org.apache.beam.sdk.transforms.CombineTest$WindowingTests.testSessionsCombine'
       excludeTestsMatching 'org.apache.beam.sdk.transforms.CombineTest$WindowingTests.testSessionsCombineWithContext'
 
-      // https://issues.apache.org/jira/browse/BEAM-10454
+      // https://github.com/apache/beam/issues/20373
       excludeTestsMatching 'org.apache.beam.sdk.testing.PAssertTest.testWindowedIsEqualTo'
 
-      // https://issues.apache.org/jira/browse/BEAM-10452
+      // https://github.com/apache/beam/issues/20374
       excludeTestsMatching 'org.apache.beam.sdk.transforms.CombineTest$BasicTests.testHotKeyCombiningWithAccumulationMode'
 
-      // https://issues.apache.org/jira/browse/BEAM-12275
+      // https://github.com/apache/beam/issues/20878
       excludeTestsMatching 'org.apache.beam.sdk.transforms.ParDoTest$MultipleInputsAndOutputTests.testSideInputAnnotationWithMultipleSideInputs'
       excludeTestsMatching 'org.apache.beam.sdk.transforms.ViewTest.testMapAsEntrySetSideInput'
       excludeTestsMatching 'org.apache.beam.sdk.transforms.ViewTest.testWindowedMultimapAsEntrySetSideInput'
diff --git a/runners/portability/java/src/main/java/org/apache/beam/runners/portability/CloseableResource.java b/runners/portability/java/src/main/java/org/apache/beam/runners/portability/CloseableResource.java
index ec5d60c2ab1..52d42d54e7f 100644
--- a/runners/portability/java/src/main/java/org/apache/beam/runners/portability/CloseableResource.java
+++ b/runners/portability/java/src/main/java/org/apache/beam/runners/portability/CloseableResource.java
@@ -38,7 +38,7 @@ import org.checkerframework.checker.nullness.qual.Nullable;
  * <p>Not thread-safe.
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class CloseableResource<T> implements AutoCloseable {
 
diff --git a/runners/portability/java/src/main/java/org/apache/beam/runners/portability/JobServicePipelineResult.java b/runners/portability/java/src/main/java/org/apache/beam/runners/portability/JobServicePipelineResult.java
index 8173dfa24b1..dfca1726b73 100644
--- a/runners/portability/java/src/main/java/org/apache/beam/runners/portability/JobServicePipelineResult.java
+++ b/runners/portability/java/src/main/java/org/apache/beam/runners/portability/JobServicePipelineResult.java
@@ -39,7 +39,7 @@ import org.joda.time.Duration;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-@SuppressWarnings({"keyfor", "nullness"}) // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+@SuppressWarnings({"keyfor", "nullness"}) // TODO(https://github.com/apache/beam/issues/20497)
 class JobServicePipelineResult implements PipelineResult, AutoCloseable {
 
   private static final long POLL_INTERVAL_MS = 3_000;
diff --git a/runners/portability/java/src/main/java/org/apache/beam/runners/portability/PortableMetrics.java b/runners/portability/java/src/main/java/org/apache/beam/runners/portability/PortableMetrics.java
index 859f66b803f..946f757ccb2 100644
--- a/runners/portability/java/src/main/java/org/apache/beam/runners/portability/PortableMetrics.java
+++ b/runners/portability/java/src/main/java/org/apache/beam/runners/portability/PortableMetrics.java
@@ -44,7 +44,7 @@ import org.apache.beam.sdk.metrics.MetricsFilter;
 import org.apache.beam.vendor.guava.v26_0_jre.com.google.common.collect.Iterables;
 
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class PortableMetrics extends MetricResults {
   private static final String NAMESPACE_LABEL = "NAMESPACE";
diff --git a/runners/portability/java/src/main/java/org/apache/beam/runners/portability/PortableRunner.java b/runners/portability/java/src/main/java/org/apache/beam/runners/portability/PortableRunner.java
index 593dde89197..8ab2ea22d61 100644
--- a/runners/portability/java/src/main/java/org/apache/beam/runners/portability/PortableRunner.java
+++ b/runners/portability/java/src/main/java/org/apache/beam/runners/portability/PortableRunner.java
@@ -59,7 +59,7 @@ import org.slf4j.LoggerFactory;
 
 /** A {@link PipelineRunner} a {@link Pipeline} against a {@code JobService}. */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class PortableRunner extends PipelineRunner<PipelineResult> {
 
diff --git a/runners/samza/src/main/java/org/apache/beam/runners/samza/SamzaExecutionContext.java b/runners/samza/src/main/java/org/apache/beam/runners/samza/SamzaExecutionContext.java
index b15efaa1c78..18bb098bf2c 100644
--- a/runners/samza/src/main/java/org/apache/beam/runners/samza/SamzaExecutionContext.java
+++ b/runners/samza/src/main/java/org/apache/beam/runners/samza/SamzaExecutionContext.java
@@ -27,7 +27,7 @@ import org.apache.samza.metrics.MetricsRegistryMap;
 
 /** Runtime context for the Samza runner. */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class SamzaExecutionContext implements ApplicationContainerContext {
 
diff --git a/runners/samza/src/main/java/org/apache/beam/runners/samza/SamzaJobInvoker.java b/runners/samza/src/main/java/org/apache/beam/runners/samza/SamzaJobInvoker.java
index 2aaeaaac222..38694de8e7b 100644
--- a/runners/samza/src/main/java/org/apache/beam/runners/samza/SamzaJobInvoker.java
+++ b/runners/samza/src/main/java/org/apache/beam/runners/samza/SamzaJobInvoker.java
@@ -33,7 +33,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class SamzaJobInvoker extends JobInvoker {
 
diff --git a/runners/samza/src/main/java/org/apache/beam/runners/samza/SamzaPipelineResult.java b/runners/samza/src/main/java/org/apache/beam/runners/samza/SamzaPipelineResult.java
index 9a0ac0ec141..a75526dc0b1 100644
--- a/runners/samza/src/main/java/org/apache/beam/runners/samza/SamzaPipelineResult.java
+++ b/runners/samza/src/main/java/org/apache/beam/runners/samza/SamzaPipelineResult.java
@@ -34,7 +34,7 @@ import org.slf4j.LoggerFactory;
 
 /** The result from executing a Samza Pipeline. */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class SamzaPipelineResult implements PipelineResult {
   private static final Logger LOG = LoggerFactory.getLogger(SamzaPipelineResult.class);
diff --git a/runners/samza/src/main/java/org/apache/beam/runners/samza/SamzaRunner.java b/runners/samza/src/main/java/org/apache/beam/runners/samza/SamzaRunner.java
index 546b5469bd7..dd7dd68627a 100644
--- a/runners/samza/src/main/java/org/apache/beam/runners/samza/SamzaRunner.java
+++ b/runners/samza/src/main/java/org/apache/beam/runners/samza/SamzaRunner.java
@@ -58,7 +58,7 @@ import org.slf4j.LoggerFactory;
  * Samza plan.
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class SamzaRunner extends PipelineRunner<SamzaPipelineResult> {
   private static final Logger LOG = LoggerFactory.getLogger(SamzaRunner.class);
diff --git a/runners/samza/src/main/java/org/apache/beam/runners/samza/SamzaRunnerOverrideConfigs.java b/runners/samza/src/main/java/org/apache/beam/runners/samza/SamzaRunnerOverrideConfigs.java
index 3546a1c5457..4c5fa432ca8 100644
--- a/runners/samza/src/main/java/org/apache/beam/runners/samza/SamzaRunnerOverrideConfigs.java
+++ b/runners/samza/src/main/java/org/apache/beam/runners/samza/SamzaRunnerOverrideConfigs.java
@@ -25,7 +25,7 @@ import java.time.Duration;
 // pipeline option.
 /** A helper class for holding all the beam runner specific samza configs. */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class SamzaRunnerOverrideConfigs {
   public static final String BEAM_RUNNER_CONFIG_PREFIX = "beam.override.";
diff --git a/runners/samza/src/main/java/org/apache/beam/runners/samza/adapter/BoundedSourceSystem.java b/runners/samza/src/main/java/org/apache/beam/runners/samza/adapter/BoundedSourceSystem.java
index bce221a9b8d..a5b663fa3b1 100644
--- a/runners/samza/src/main/java/org/apache/beam/runners/samza/adapter/BoundedSourceSystem.java
+++ b/runners/samza/src/main/java/org/apache/beam/runners/samza/adapter/BoundedSourceSystem.java
@@ -67,7 +67,7 @@ import org.slf4j.LoggerFactory;
  */
 // TODO: instrumentation for the consumer
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class BoundedSourceSystem {
   private static final Logger LOG = LoggerFactory.getLogger(BoundedSourceSystem.class);
diff --git a/runners/samza/src/main/java/org/apache/beam/runners/samza/adapter/UnboundedSourceSystem.java b/runners/samza/src/main/java/org/apache/beam/runners/samza/adapter/UnboundedSourceSystem.java
index cb1dd0fcc56..0c6b6cee6aa 100644
--- a/runners/samza/src/main/java/org/apache/beam/runners/samza/adapter/UnboundedSourceSystem.java
+++ b/runners/samza/src/main/java/org/apache/beam/runners/samza/adapter/UnboundedSourceSystem.java
@@ -71,8 +71,8 @@ import org.slf4j.LoggerFactory;
  * into partitions. Samza creates the job model by assigning partitions to Samza tasks.
  */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class UnboundedSourceSystem {
   private static final Logger LOG = LoggerFactory.getLogger(UnboundedSourceSystem.class);
diff --git a/runners/samza/src/main/java/org/apache/beam/runners/samza/container/BeamContainerRunner.java b/runners/samza/src/main/java/org/apache/beam/runners/samza/container/BeamContainerRunner.java
index 6ca8b29919a..0f4a1c7a690 100644
--- a/runners/samza/src/main/java/org/apache/beam/runners/samza/container/BeamContainerRunner.java
+++ b/runners/samza/src/main/java/org/apache/beam/runners/samza/container/BeamContainerRunner.java
@@ -34,8 +34,8 @@ import org.slf4j.LoggerFactory;
 
 /** Runs the beam Yarn container, using the static global job model. */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class BeamContainerRunner implements ApplicationRunner {
   private static final Logger LOG = LoggerFactory.getLogger(BeamContainerRunner.class);
diff --git a/runners/samza/src/main/java/org/apache/beam/runners/samza/container/ContainerCfgLoader.java b/runners/samza/src/main/java/org/apache/beam/runners/samza/container/ContainerCfgLoader.java
index 99455e74925..37a05c69a2d 100644
--- a/runners/samza/src/main/java/org/apache/beam/runners/samza/container/ContainerCfgLoader.java
+++ b/runners/samza/src/main/java/org/apache/beam/runners/samza/container/ContainerCfgLoader.java
@@ -31,7 +31,7 @@ import org.slf4j.LoggerFactory;
 
 /** Loader for the Beam yarn container to load job model. */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class ContainerCfgLoader implements ConfigLoader {
   private static final Logger LOG = LoggerFactory.getLogger(ContainerCfgLoader.class);
diff --git a/runners/samza/src/main/java/org/apache/beam/runners/samza/metrics/SamzaMetricsContainer.java b/runners/samza/src/main/java/org/apache/beam/runners/samza/metrics/SamzaMetricsContainer.java
index 35c927d8892..d1ce4c1b257 100644
--- a/runners/samza/src/main/java/org/apache/beam/runners/samza/metrics/SamzaMetricsContainer.java
+++ b/runners/samza/src/main/java/org/apache/beam/runners/samza/metrics/SamzaMetricsContainer.java
@@ -38,7 +38,7 @@ import org.apache.samza.metrics.MetricsRegistryMap;
  * metrics.
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class SamzaMetricsContainer {
   private static final String BEAM_METRICS_GROUP = "BeamMetrics";
diff --git a/runners/samza/src/main/java/org/apache/beam/runners/samza/runtime/BundleManager.java b/runners/samza/src/main/java/org/apache/beam/runners/samza/runtime/BundleManager.java
index e5bf8ec70b2..873c5f3005f 100644
--- a/runners/samza/src/main/java/org/apache/beam/runners/samza/runtime/BundleManager.java
+++ b/runners/samza/src/main/java/org/apache/beam/runners/samza/runtime/BundleManager.java
@@ -57,7 +57,7 @@ import org.slf4j.LoggerFactory;
  * @param <OutT> output type of the {@link DoFnOp}
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class BundleManager<OutT> {
   private static final Logger LOG = LoggerFactory.getLogger(BundleManager.class);
diff --git a/runners/samza/src/main/java/org/apache/beam/runners/samza/runtime/DoFnOp.java b/runners/samza/src/main/java/org/apache/beam/runners/samza/runtime/DoFnOp.java
index 79de63cc557..f9aaea962a8 100644
--- a/runners/samza/src/main/java/org/apache/beam/runners/samza/runtime/DoFnOp.java
+++ b/runners/samza/src/main/java/org/apache/beam/runners/samza/runtime/DoFnOp.java
@@ -70,8 +70,8 @@ import org.slf4j.LoggerFactory;
 
 /** Samza operator for {@link DoFn}. */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class DoFnOp<InT, FnOutT, OutT> implements Op<InT, OutT, Void> {
   private static final Logger LOG = LoggerFactory.getLogger(DoFnOp.class);
diff --git a/runners/samza/src/main/java/org/apache/beam/runners/samza/runtime/DoFnRunnerWithKeyedInternals.java b/runners/samza/src/main/java/org/apache/beam/runners/samza/runtime/DoFnRunnerWithKeyedInternals.java
index ce89c36ac5b..a07cf5fe2c8 100644
--- a/runners/samza/src/main/java/org/apache/beam/runners/samza/runtime/DoFnRunnerWithKeyedInternals.java
+++ b/runners/samza/src/main/java/org/apache/beam/runners/samza/runtime/DoFnRunnerWithKeyedInternals.java
@@ -28,8 +28,8 @@ import org.joda.time.Instant;
 
 /** This class wraps a DoFnRunner with keyed StateInternals and TimerInternals access. */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class DoFnRunnerWithKeyedInternals<InputT, OutputT> implements DoFnRunner<InputT, OutputT> {
   private final DoFnRunner<InputT, OutputT> underlying;
diff --git a/runners/samza/src/main/java/org/apache/beam/runners/samza/runtime/GroupByKeyOp.java b/runners/samza/src/main/java/org/apache/beam/runners/samza/runtime/GroupByKeyOp.java
index dd4157a9608..3ecd406da61 100644
--- a/runners/samza/src/main/java/org/apache/beam/runners/samza/runtime/GroupByKeyOp.java
+++ b/runners/samza/src/main/java/org/apache/beam/runners/samza/runtime/GroupByKeyOp.java
@@ -54,7 +54,7 @@ import org.slf4j.LoggerFactory;
 
 /** Samza operator for {@link org.apache.beam.sdk.transforms.GroupByKey}. */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class GroupByKeyOp<K, InputT, OutputT>
     implements Op<KeyedWorkItem<K, InputT>, KV<K, OutputT>, K> {
diff --git a/runners/samza/src/main/java/org/apache/beam/runners/samza/runtime/KeyedInternals.java b/runners/samza/src/main/java/org/apache/beam/runners/samza/runtime/KeyedInternals.java
index 6501247c3e5..c661be1096c 100644
--- a/runners/samza/src/main/java/org/apache/beam/runners/samza/runtime/KeyedInternals.java
+++ b/runners/samza/src/main/java/org/apache/beam/runners/samza/runtime/KeyedInternals.java
@@ -39,8 +39,8 @@ import org.joda.time.Instant;
 /** Provides access to the keyed StateInternals and TimerInternals. */
 @ThreadSafe
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 class KeyedInternals<K> {
 
diff --git a/runners/samza/src/main/java/org/apache/beam/runners/samza/runtime/KeyedTimerData.java b/runners/samza/src/main/java/org/apache/beam/runners/samza/runtime/KeyedTimerData.java
index 9c6bf386cfd..5eeefeaa0bd 100644
--- a/runners/samza/src/main/java/org/apache/beam/runners/samza/runtime/KeyedTimerData.java
+++ b/runners/samza/src/main/java/org/apache/beam/runners/samza/runtime/KeyedTimerData.java
@@ -43,8 +43,8 @@ import org.joda.time.Instant;
  */
 @SuppressWarnings({
   "keyfor",
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class KeyedTimerData<K> implements Comparable<KeyedTimerData<K>> {
   private final byte[] keyBytes;
diff --git a/runners/samza/src/main/java/org/apache/beam/runners/samza/runtime/OpAdapter.java b/runners/samza/src/main/java/org/apache/beam/runners/samza/runtime/OpAdapter.java
index 46746a6c50f..d04a697b37b 100644
--- a/runners/samza/src/main/java/org/apache/beam/runners/samza/runtime/OpAdapter.java
+++ b/runners/samza/src/main/java/org/apache/beam/runners/samza/runtime/OpAdapter.java
@@ -41,7 +41,7 @@ import org.slf4j.LoggerFactory;
  * This class is initialized once for each Op within a Task for each Task.
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class OpAdapter<InT, OutT, K>
     implements AsyncFlatMapFunction<OpMessage<InT>, OpMessage<OutT>>,
diff --git a/runners/samza/src/main/java/org/apache/beam/runners/samza/runtime/OpMessage.java b/runners/samza/src/main/java/org/apache/beam/runners/samza/runtime/OpMessage.java
index fe731e7f1e6..dc288e6f901 100644
--- a/runners/samza/src/main/java/org/apache/beam/runners/samza/runtime/OpMessage.java
+++ b/runners/samza/src/main/java/org/apache/beam/runners/samza/runtime/OpMessage.java
@@ -27,7 +27,7 @@ import org.joda.time.Instant;
  * input).
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class OpMessage<T> {
   /**
diff --git a/runners/samza/src/main/java/org/apache/beam/runners/samza/runtime/SamzaAssignContext.java b/runners/samza/src/main/java/org/apache/beam/runners/samza/runtime/SamzaAssignContext.java
index f6bb25fbdf2..97e64b31def 100644
--- a/runners/samza/src/main/java/org/apache/beam/runners/samza/runtime/SamzaAssignContext.java
+++ b/runners/samza/src/main/java/org/apache/beam/runners/samza/runtime/SamzaAssignContext.java
@@ -23,7 +23,7 @@ import org.apache.beam.sdk.util.WindowedValue;
 import org.apache.beam.vendor.guava.v26_0_jre.com.google.common.collect.Iterables;
 import org.joda.time.Instant;
 
-@SuppressWarnings({"keyfor", "nullness"}) // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+@SuppressWarnings({"keyfor", "nullness"}) // TODO(https://github.com/apache/beam/issues/20497)
 class SamzaAssignContext<InT, W extends BoundedWindow> extends WindowFn<InT, W>.AssignContext {
   private final WindowedValue<InT> value;
 
diff --git a/runners/samza/src/main/java/org/apache/beam/runners/samza/runtime/SamzaDoFnRunners.java b/runners/samza/src/main/java/org/apache/beam/runners/samza/runtime/SamzaDoFnRunners.java
index 15923b1b935..3a6ca184b8f 100644
--- a/runners/samza/src/main/java/org/apache/beam/runners/samza/runtime/SamzaDoFnRunners.java
+++ b/runners/samza/src/main/java/org/apache/beam/runners/samza/runtime/SamzaDoFnRunners.java
@@ -67,8 +67,8 @@ import org.joda.time.Instant;
 
 /** A factory for Samza runner translator to create underlying DoFnRunner used in {@link DoFnOp}. */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class SamzaDoFnRunners {
 
diff --git a/runners/samza/src/main/java/org/apache/beam/runners/samza/runtime/SamzaStoreStateInternals.java b/runners/samza/src/main/java/org/apache/beam/runners/samza/runtime/SamzaStoreStateInternals.java
index a9e38a7f2ed..7df48fb4cad 100644
--- a/runners/samza/src/main/java/org/apache/beam/runners/samza/runtime/SamzaStoreStateInternals.java
+++ b/runners/samza/src/main/java/org/apache/beam/runners/samza/runtime/SamzaStoreStateInternals.java
@@ -87,10 +87,10 @@ import org.joda.time.Instant;
 
 /** {@link StateInternals} that uses Samza local {@link KeyValueStore} to manage state. */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
   "keyfor",
   "nullness"
-}) // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+}) // TODO(https://github.com/apache/beam/issues/20497)
 public class SamzaStoreStateInternals<K> implements StateInternals {
   static final String BEAM_STORE = "beamStore";
 
diff --git a/runners/samza/src/main/java/org/apache/beam/runners/samza/runtime/SamzaTimerInternalsFactory.java b/runners/samza/src/main/java/org/apache/beam/runners/samza/runtime/SamzaTimerInternalsFactory.java
index 78142174323..0d27e83f919 100644
--- a/runners/samza/src/main/java/org/apache/beam/runners/samza/runtime/SamzaTimerInternalsFactory.java
+++ b/runners/samza/src/main/java/org/apache/beam/runners/samza/runtime/SamzaTimerInternalsFactory.java
@@ -61,8 +61,8 @@ import org.slf4j.LoggerFactory;
  * set, and removes the ready timers when the watermark is advanced.
  */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class SamzaTimerInternalsFactory<K> implements TimerInternalsFactory<K> {
   private static final Logger LOG = LoggerFactory.getLogger(SamzaTimerInternalsFactory.class);
diff --git a/runners/samza/src/main/java/org/apache/beam/runners/samza/runtime/SplittableParDoProcessKeyedElementsOp.java b/runners/samza/src/main/java/org/apache/beam/runners/samza/runtime/SplittableParDoProcessKeyedElementsOp.java
index 4ed4fcd8fc7..cf164b145b6 100644
--- a/runners/samza/src/main/java/org/apache/beam/runners/samza/runtime/SplittableParDoProcessKeyedElementsOp.java
+++ b/runners/samza/src/main/java/org/apache/beam/runners/samza/runtime/SplittableParDoProcessKeyedElementsOp.java
@@ -59,7 +59,7 @@ import org.slf4j.LoggerFactory;
 
 /** Samza operator for {@link org.apache.beam.sdk.transforms.GroupByKey}. */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class SplittableParDoProcessKeyedElementsOp<
         InputT, OutputT, RestrictionT, PositionT, WatermarkEstimatorStateT>
diff --git a/runners/samza/src/main/java/org/apache/beam/runners/samza/translation/ConfigBuilder.java b/runners/samza/src/main/java/org/apache/beam/runners/samza/translation/ConfigBuilder.java
index 4b5989af102..6ed4003cdcf 100644
--- a/runners/samza/src/main/java/org/apache/beam/runners/samza/translation/ConfigBuilder.java
+++ b/runners/samza/src/main/java/org/apache/beam/runners/samza/translation/ConfigBuilder.java
@@ -57,7 +57,7 @@ import org.slf4j.LoggerFactory;
 
 /** Builder class to generate configs for BEAM samza runner during runtime. */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class ConfigBuilder {
   private static final Logger LOG = LoggerFactory.getLogger(ConfigBuilder.class);
diff --git a/runners/samza/src/main/java/org/apache/beam/runners/samza/translation/ConfigContext.java b/runners/samza/src/main/java/org/apache/beam/runners/samza/translation/ConfigContext.java
index ea5f6d9e5b4..d8feaff424d 100644
--- a/runners/samza/src/main/java/org/apache/beam/runners/samza/translation/ConfigContext.java
+++ b/runners/samza/src/main/java/org/apache/beam/runners/samza/translation/ConfigContext.java
@@ -29,7 +29,7 @@ import org.apache.beam.vendor.guava.v26_0_jre.com.google.common.collect.Iterable
 
 /** Helper that provides context data such as output for config generation. */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class ConfigContext {
   private final Map<PValue, String> idMap;
diff --git a/runners/samza/src/main/java/org/apache/beam/runners/samza/translation/GroupByKeyTranslator.java b/runners/samza/src/main/java/org/apache/beam/runners/samza/translation/GroupByKeyTranslator.java
index d5ded165dc5..f12675863ce 100644
--- a/runners/samza/src/main/java/org/apache/beam/runners/samza/translation/GroupByKeyTranslator.java
+++ b/runners/samza/src/main/java/org/apache/beam/runners/samza/translation/GroupByKeyTranslator.java
@@ -56,7 +56,7 @@ import org.apache.samza.operators.MessageStream;
 import org.apache.samza.serializers.KVSerde;
 
 /** Translates {@link GroupByKey} to Samza {@link GroupByKeyOp}. */
-@SuppressWarnings({"keyfor", "nullness"}) // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+@SuppressWarnings({"keyfor", "nullness"}) // TODO(https://github.com/apache/beam/issues/20497)
 class GroupByKeyTranslator<K, InputT, OutputT>
     implements TransformTranslator<
             PTransform<PCollection<KV<K, InputT>>, PCollection<KV<K, OutputT>>>>,
diff --git a/runners/samza/src/main/java/org/apache/beam/runners/samza/translation/ImpulseTranslator.java b/runners/samza/src/main/java/org/apache/beam/runners/samza/translation/ImpulseTranslator.java
index 25b39abc6d6..97ee9ab502b 100644
--- a/runners/samza/src/main/java/org/apache/beam/runners/samza/translation/ImpulseTranslator.java
+++ b/runners/samza/src/main/java/org/apache/beam/runners/samza/translation/ImpulseTranslator.java
@@ -38,7 +38,7 @@ import org.apache.samza.system.descriptors.GenericSystemDescriptor;
  * org.apache.beam.runners.samza.translation.SamzaImpulseSystemFactory.SamzaImpulseSystemConsumer}.
  */
 @SuppressWarnings({
-  "rawtypes" // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes" // TODO(https://github.com/apache/beam/issues/20447)
 })
 public class ImpulseTranslator
     implements TransformTranslator<PTransform<PBegin, PCollection<byte[]>>> {
diff --git a/runners/samza/src/main/java/org/apache/beam/runners/samza/translation/PViewToIdMapper.java b/runners/samza/src/main/java/org/apache/beam/runners/samza/translation/PViewToIdMapper.java
index 693e624e3df..f7bca872759 100644
--- a/runners/samza/src/main/java/org/apache/beam/runners/samza/translation/PViewToIdMapper.java
+++ b/runners/samza/src/main/java/org/apache/beam/runners/samza/translation/PViewToIdMapper.java
@@ -31,8 +31,8 @@ import org.apache.beam.sdk.values.PValue;
  * {@link Pipeline}.
  */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class PViewToIdMapper extends Pipeline.PipelineVisitor.Defaults {
   private final Map<PValue, String> idMap = new HashMap<>();
diff --git a/runners/samza/src/main/java/org/apache/beam/runners/samza/translation/ParDoBoundMultiTranslator.java b/runners/samza/src/main/java/org/apache/beam/runners/samza/translation/ParDoBoundMultiTranslator.java
index 84e2c2efec6..b64d5871f80 100644
--- a/runners/samza/src/main/java/org/apache/beam/runners/samza/translation/ParDoBoundMultiTranslator.java
+++ b/runners/samza/src/main/java/org/apache/beam/runners/samza/translation/ParDoBoundMultiTranslator.java
@@ -79,8 +79,8 @@ import org.joda.time.Instant;
  * portable api to Samza {@link DoFnOp}.
  */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 class ParDoBoundMultiTranslator<InT, OutT>
     implements TransformTranslator<ParDo.MultiOutput<InT, OutT>>,
diff --git a/runners/samza/src/main/java/org/apache/beam/runners/samza/translation/PortableTranslationContext.java b/runners/samza/src/main/java/org/apache/beam/runners/samza/translation/PortableTranslationContext.java
index 5708388eaaf..1f8fecc12da 100644
--- a/runners/samza/src/main/java/org/apache/beam/runners/samza/translation/PortableTranslationContext.java
+++ b/runners/samza/src/main/java/org/apache/beam/runners/samza/translation/PortableTranslationContext.java
@@ -45,8 +45,8 @@ import org.apache.samza.table.descriptors.TableDescriptor;
  * org.apache.beam.model.pipeline.v1.RunnerApi.PTransform}.
  */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class PortableTranslationContext {
   private final Map<String, MessageStream<?>> messageStreams = new HashMap<>();
diff --git a/runners/samza/src/main/java/org/apache/beam/runners/samza/translation/SamzaImpulseSystemFactory.java b/runners/samza/src/main/java/org/apache/beam/runners/samza/translation/SamzaImpulseSystemFactory.java
index ffec3ffa881..7352e9a434a 100644
--- a/runners/samza/src/main/java/org/apache/beam/runners/samza/translation/SamzaImpulseSystemFactory.java
+++ b/runners/samza/src/main/java/org/apache/beam/runners/samza/translation/SamzaImpulseSystemFactory.java
@@ -44,7 +44,7 @@ import org.apache.samza.system.SystemStreamPartition;
  * in portable api.
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class SamzaImpulseSystemFactory implements SystemFactory {
   @Override
diff --git a/runners/samza/src/main/java/org/apache/beam/runners/samza/translation/SamzaPipelineTranslator.java b/runners/samza/src/main/java/org/apache/beam/runners/samza/translation/SamzaPipelineTranslator.java
index 1dd779d90b7..65caa8ba68e 100644
--- a/runners/samza/src/main/java/org/apache/beam/runners/samza/translation/SamzaPipelineTranslator.java
+++ b/runners/samza/src/main/java/org/apache/beam/runners/samza/translation/SamzaPipelineTranslator.java
@@ -36,8 +36,8 @@ import org.apache.beam.vendor.guava.v26_0_jre.com.google.common.collect.Immutabl
 
 /** This class knows all the translators from a primitive BEAM transform to a Samza operator. */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class SamzaPipelineTranslator {
 
diff --git a/runners/samza/src/main/java/org/apache/beam/runners/samza/translation/SamzaPortablePipelineTranslator.java b/runners/samza/src/main/java/org/apache/beam/runners/samza/translation/SamzaPortablePipelineTranslator.java
index e634be6f178..b3218eff5bf 100644
--- a/runners/samza/src/main/java/org/apache/beam/runners/samza/translation/SamzaPortablePipelineTranslator.java
+++ b/runners/samza/src/main/java/org/apache/beam/runners/samza/translation/SamzaPortablePipelineTranslator.java
@@ -38,8 +38,8 @@ import org.slf4j.LoggerFactory;
  */
 @SuppressWarnings({
   "keyfor",
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class SamzaPortablePipelineTranslator {
   private static final Logger LOG = LoggerFactory.getLogger(SamzaPortablePipelineTranslator.class);
diff --git a/runners/samza/src/main/java/org/apache/beam/runners/samza/translation/SamzaTestStreamSystemFactory.java b/runners/samza/src/main/java/org/apache/beam/runners/samza/translation/SamzaTestStreamSystemFactory.java
index 570be619695..052d03a6a22 100644
--- a/runners/samza/src/main/java/org/apache/beam/runners/samza/translation/SamzaTestStreamSystemFactory.java
+++ b/runners/samza/src/main/java/org/apache/beam/runners/samza/translation/SamzaTestStreamSystemFactory.java
@@ -51,7 +51,7 @@ import org.apache.samza.system.SystemStreamPartition;
  * events.
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class SamzaTestStreamSystemFactory implements SystemFactory {
   @Override
diff --git a/runners/samza/src/main/java/org/apache/beam/runners/samza/translation/SamzaTransformOverrides.java b/runners/samza/src/main/java/org/apache/beam/runners/samza/translation/SamzaTransformOverrides.java
index 51fb68258e4..94100689caa 100644
--- a/runners/samza/src/main/java/org/apache/beam/runners/samza/translation/SamzaTransformOverrides.java
+++ b/runners/samza/src/main/java/org/apache/beam/runners/samza/translation/SamzaTransformOverrides.java
@@ -28,7 +28,7 @@ import org.apache.beam.vendor.guava.v26_0_jre.com.google.common.collect.Immutabl
 
 /** {@link org.apache.beam.sdk.transforms.PTransform} overrides for Samza runner. */
 @SuppressWarnings({
-  "rawtypes" // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes" // TODO(https://github.com/apache/beam/issues/20447)
 })
 public class SamzaTransformOverrides {
   public static List<PTransformOverride> getDefaultOverrides() {
diff --git a/runners/samza/src/main/java/org/apache/beam/runners/samza/translation/SplittableParDoTranslators.java b/runners/samza/src/main/java/org/apache/beam/runners/samza/translation/SplittableParDoTranslators.java
index 91dc2a6e3de..60b6bda0d55 100644
--- a/runners/samza/src/main/java/org/apache/beam/runners/samza/translation/SplittableParDoTranslators.java
+++ b/runners/samza/src/main/java/org/apache/beam/runners/samza/translation/SplittableParDoTranslators.java
@@ -45,8 +45,8 @@ import org.apache.samza.serializers.KVSerde;
 
 /** A set of translators for {@link SplittableParDo}. */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class SplittableParDoTranslators {
 
diff --git a/runners/samza/src/main/java/org/apache/beam/runners/samza/translation/TranslationContext.java b/runners/samza/src/main/java/org/apache/beam/runners/samza/translation/TranslationContext.java
index 5a696287848..f9193ddfaaf 100644
--- a/runners/samza/src/main/java/org/apache/beam/runners/samza/translation/TranslationContext.java
+++ b/runners/samza/src/main/java/org/apache/beam/runners/samza/translation/TranslationContext.java
@@ -70,10 +70,10 @@ import org.slf4j.LoggerFactory;
  * PTransform}.
  */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
   "keyfor",
   "nullness"
-}) // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+}) // TODO(https://github.com/apache/beam/issues/20497)
 public class TranslationContext {
   private static final Logger LOG = LoggerFactory.getLogger(TranslationContext.class);
   private final StreamApplicationDescriptor appDescriptor;
diff --git a/runners/samza/src/main/java/org/apache/beam/runners/samza/util/SamzaCoders.java b/runners/samza/src/main/java/org/apache/beam/runners/samza/util/SamzaCoders.java
index 0ec9fa6478c..a118b5a704b 100644
--- a/runners/samza/src/main/java/org/apache/beam/runners/samza/util/SamzaCoders.java
+++ b/runners/samza/src/main/java/org/apache/beam/runners/samza/util/SamzaCoders.java
@@ -28,7 +28,7 @@ import org.apache.samza.serializers.Serde;
 
 /** Utils for Coders creation/conversion in Samza. */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class SamzaCoders {
 
diff --git a/runners/samza/src/main/java/org/apache/beam/runners/samza/util/SamzaPipelineTranslatorUtils.java b/runners/samza/src/main/java/org/apache/beam/runners/samza/util/SamzaPipelineTranslatorUtils.java
index e265ab02e41..88fdebc2d02 100644
--- a/runners/samza/src/main/java/org/apache/beam/runners/samza/util/SamzaPipelineTranslatorUtils.java
+++ b/runners/samza/src/main/java/org/apache/beam/runners/samza/util/SamzaPipelineTranslatorUtils.java
@@ -26,7 +26,7 @@ import org.apache.beam.sdk.values.PCollection;
 
 /** Utilities for pipeline translation. */
 @SuppressWarnings({
-  "rawtypes" // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes" // TODO(https://github.com/apache/beam/issues/20447)
 })
 public final class SamzaPipelineTranslatorUtils {
   private SamzaPipelineTranslatorUtils() {}
diff --git a/runners/samza/src/test/java/org/apache/beam/runners/samza/adapter/UnboundedSourceSystemTest.java b/runners/samza/src/test/java/org/apache/beam/runners/samza/adapter/UnboundedSourceSystemTest.java
index bb07645c381..b171a5475c2 100644
--- a/runners/samza/src/test/java/org/apache/beam/runners/samza/adapter/UnboundedSourceSystemTest.java
+++ b/runners/samza/src/test/java/org/apache/beam/runners/samza/adapter/UnboundedSourceSystemTest.java
@@ -203,7 +203,7 @@ public class UnboundedSourceSystemTest {
   }
 
   @Test
-  @Ignore("https://issues.apache.org/jira/browse/BEAM-10521")
+  @Ignore("https://github.com/apache/beam/issues/20376")
   public void testMultipleAdvanceWatermark() throws IOException, InterruptedException {
     final Instant now = Instant.now();
     final Instant nowPlusOne = now.plus(Duration.millis(1L));
diff --git a/runners/samza/src/test/java/org/apache/beam/runners/samza/runtime/SamzaStoreStateInternalsTest.java b/runners/samza/src/test/java/org/apache/beam/runners/samza/runtime/SamzaStoreStateInternalsTest.java
index 64a93246937..e7116a4f0c2 100644
--- a/runners/samza/src/test/java/org/apache/beam/runners/samza/runtime/SamzaStoreStateInternalsTest.java
+++ b/runners/samza/src/test/java/org/apache/beam/runners/samza/runtime/SamzaStoreStateInternalsTest.java
@@ -78,7 +78,7 @@ import org.junit.Test;
 
 /** Tests for SamzaStoreStateInternals. */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
   "unused" // TODO(BEAM-13271): Remove when new version of errorprone is released (2.11.0)
 })
 public class SamzaStoreStateInternalsTest implements Serializable {
diff --git a/runners/samza/src/test/java/org/apache/beam/runners/samza/runtime/SamzaTimerInternalsFactoryTest.java b/runners/samza/src/test/java/org/apache/beam/runners/samza/runtime/SamzaTimerInternalsFactoryTest.java
index 291519d6912..e2db0cb7c84 100644
--- a/runners/samza/src/test/java/org/apache/beam/runners/samza/runtime/SamzaTimerInternalsFactoryTest.java
+++ b/runners/samza/src/test/java/org/apache/beam/runners/samza/runtime/SamzaTimerInternalsFactoryTest.java
@@ -68,8 +68,8 @@ import org.rocksdb.WriteOptions;
  * timers.
  */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class SamzaTimerInternalsFactoryTest {
   @Rule public transient TemporaryFolder temporaryFolder = new TemporaryFolder();
diff --git a/runners/samza/src/test/java/org/apache/beam/runners/samza/translation/SamzaImpulseSystemTest.java b/runners/samza/src/test/java/org/apache/beam/runners/samza/translation/SamzaImpulseSystemTest.java
index 46a04f1ccca..9cc0cc10894 100644
--- a/runners/samza/src/test/java/org/apache/beam/runners/samza/translation/SamzaImpulseSystemTest.java
+++ b/runners/samza/src/test/java/org/apache/beam/runners/samza/translation/SamzaImpulseSystemTest.java
@@ -35,7 +35,7 @@ import org.junit.Test;
  * org.apache.beam.runners.samza.translation.SamzaImpulseSystemFactory.SamzaImpulseSystemConsumer}.
  */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
 })
 public class SamzaImpulseSystemTest {
   @Test
diff --git a/runners/spark/2/src/main/java/org/apache/beam/runners/spark/structuredstreaming/translation/streaming/DatasetSourceStreaming.java b/runners/spark/2/src/main/java/org/apache/beam/runners/spark/structuredstreaming/translation/streaming/DatasetSourceStreaming.java
index d6eff8fc376..c91ab8a1af6 100644
--- a/runners/spark/2/src/main/java/org/apache/beam/runners/spark/structuredstreaming/translation/streaming/DatasetSourceStreaming.java
+++ b/runners/spark/2/src/main/java/org/apache/beam/runners/spark/structuredstreaming/translation/streaming/DatasetSourceStreaming.java
@@ -68,7 +68,7 @@ import org.apache.spark.sql.types.StructType;
  */
 @SuppressFBWarnings("SE_BAD_FIELD") // make spotbugs happy
 @SuppressWarnings({
-  "rawtypes" // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes" // TODO(https://github.com/apache/beam/issues/20447)
 })
 class DatasetSourceStreaming implements DataSourceV2, MicroBatchReadSupport {
 
diff --git a/runners/spark/3/src/main/java/org/apache/beam/runners/spark/structuredstreaming/translation/streaming/DatasetSourceStreaming.java b/runners/spark/3/src/main/java/org/apache/beam/runners/spark/structuredstreaming/translation/streaming/DatasetSourceStreaming.java
index b83a631a6bb..5eb60f68cb3 100644
--- a/runners/spark/3/src/main/java/org/apache/beam/runners/spark/structuredstreaming/translation/streaming/DatasetSourceStreaming.java
+++ b/runners/spark/3/src/main/java/org/apache/beam/runners/spark/structuredstreaming/translation/streaming/DatasetSourceStreaming.java
@@ -20,6 +20,6 @@ package org.apache.beam.runners.spark.structuredstreaming.translation.streaming;
 /**
  * Spark structured streaming framework does not support more than one aggregation in streaming mode
  * because of watermark implementation. As a consequence, this runner, does not support streaming
- * mode yet see https://issues.apache.org/jira/browse/BEAM-9933
+ * mode yet see https://github.com/apache/beam/issues/20241
  */
 class DatasetSourceStreaming {}
diff --git a/runners/spark/src/main/java/org/apache/beam/runners/spark/SparkJobInvoker.java b/runners/spark/src/main/java/org/apache/beam/runners/spark/SparkJobInvoker.java
index 3a06b40690c..25d20f18a1a 100644
--- a/runners/spark/src/main/java/org/apache/beam/runners/spark/SparkJobInvoker.java
+++ b/runners/spark/src/main/java/org/apache/beam/runners/spark/SparkJobInvoker.java
@@ -35,7 +35,7 @@ import org.slf4j.LoggerFactory;
 
 /** Creates a job invocation to manage the Spark runner's execution of a portable pipeline. */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class SparkJobInvoker extends JobInvoker {
 
diff --git a/runners/spark/src/main/java/org/apache/beam/runners/spark/SparkNativePipelineVisitor.java b/runners/spark/src/main/java/org/apache/beam/runners/spark/SparkNativePipelineVisitor.java
index 528c33b9f74..86fef0d8141 100644
--- a/runners/spark/src/main/java/org/apache/beam/runners/spark/SparkNativePipelineVisitor.java
+++ b/runners/spark/src/main/java/org/apache/beam/runners/spark/SparkNativePipelineVisitor.java
@@ -39,8 +39,8 @@ import org.apache.beam.vendor.guava.v26_0_jre.com.google.common.collect.Lists;
  * debugging purposes using {@link SparkRunnerDebugger}.
  */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class SparkNativePipelineVisitor extends SparkRunner.Evaluator {
   private final List<NativeTransform> transforms;
diff --git a/runners/spark/src/main/java/org/apache/beam/runners/spark/SparkPipelineResult.java b/runners/spark/src/main/java/org/apache/beam/runners/spark/SparkPipelineResult.java
index aa8c40eccf2..1a19f0401d7 100644
--- a/runners/spark/src/main/java/org/apache/beam/runners/spark/SparkPipelineResult.java
+++ b/runners/spark/src/main/java/org/apache/beam/runners/spark/SparkPipelineResult.java
@@ -40,8 +40,8 @@ import org.joda.time.Duration;
 
 /** Represents a Spark pipeline execution result. */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public abstract class SparkPipelineResult implements PipelineResult {
 
diff --git a/runners/spark/src/main/java/org/apache/beam/runners/spark/SparkPipelineRunner.java b/runners/spark/src/main/java/org/apache/beam/runners/spark/SparkPipelineRunner.java
index e72c86522bf..b7495548e4d 100644
--- a/runners/spark/src/main/java/org/apache/beam/runners/spark/SparkPipelineRunner.java
+++ b/runners/spark/src/main/java/org/apache/beam/runners/spark/SparkPipelineRunner.java
@@ -67,7 +67,7 @@ import org.slf4j.LoggerFactory;
 
 /** Runs a portable pipeline on Apache Spark. */
 @SuppressWarnings({
-  "rawtypes" // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes" // TODO(https://github.com/apache/beam/issues/20447)
 })
 public class SparkPipelineRunner implements PortablePipelineRunner {
   private static final Logger LOG = LoggerFactory.getLogger(SparkPipelineRunner.class);
diff --git a/runners/spark/src/main/java/org/apache/beam/runners/spark/SparkRunner.java b/runners/spark/src/main/java/org/apache/beam/runners/spark/SparkRunner.java
index c15cf15df05..5dff798e7b0 100644
--- a/runners/spark/src/main/java/org/apache/beam/runners/spark/SparkRunner.java
+++ b/runners/spark/src/main/java/org/apache/beam/runners/spark/SparkRunner.java
@@ -90,7 +90,7 @@ import org.slf4j.LoggerFactory;
  * SparkPipelineResult result = (SparkPipelineResult) p.run(); }
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public final class SparkRunner extends PipelineRunner<SparkPipelineResult> {
 
diff --git a/runners/spark/src/main/java/org/apache/beam/runners/spark/SparkRunnerDebugger.java b/runners/spark/src/main/java/org/apache/beam/runners/spark/SparkRunnerDebugger.java
index 0474ca580a4..a6f59dbfbd4 100644
--- a/runners/spark/src/main/java/org/apache/beam/runners/spark/SparkRunnerDebugger.java
+++ b/runners/spark/src/main/java/org/apache/beam/runners/spark/SparkRunnerDebugger.java
@@ -52,7 +52,7 @@ import org.slf4j.LoggerFactory;
  * }</pre>
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public final class SparkRunnerDebugger extends PipelineRunner<SparkPipelineResult> {
 
diff --git a/runners/spark/src/main/java/org/apache/beam/runners/spark/SparkTransformOverrides.java b/runners/spark/src/main/java/org/apache/beam/runners/spark/SparkTransformOverrides.java
index f93a3d84a9d..a536e59c723 100644
--- a/runners/spark/src/main/java/org/apache/beam/runners/spark/SparkTransformOverrides.java
+++ b/runners/spark/src/main/java/org/apache/beam/runners/spark/SparkTransformOverrides.java
@@ -29,7 +29,7 @@ import org.apache.beam.vendor.guava.v26_0_jre.com.google.common.collect.Immutabl
 
 /** {@link PTransform} overrides for Spark runner. */
 @SuppressWarnings({
-  "rawtypes" // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes" // TODO(https://github.com/apache/beam/issues/20447)
 })
 class SparkTransformOverrides {
   public static List<PTransformOverride> getDefaultOverrides(boolean streaming) {
diff --git a/runners/spark/src/main/java/org/apache/beam/runners/spark/TestSparkRunner.java b/runners/spark/src/main/java/org/apache/beam/runners/spark/TestSparkRunner.java
index 9bce49dea8e..abcebbc23c5 100644
--- a/runners/spark/src/main/java/org/apache/beam/runners/spark/TestSparkRunner.java
+++ b/runners/spark/src/main/java/org/apache/beam/runners/spark/TestSparkRunner.java
@@ -58,7 +58,7 @@ import org.slf4j.LoggerFactory;
  * SparkPipelineResult result = (SparkPipelineResult) p.run(); }
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public final class TestSparkRunner extends PipelineRunner<SparkPipelineResult> {
 
diff --git a/runners/spark/src/main/java/org/apache/beam/runners/spark/aggregators/AggregatorsAccumulator.java b/runners/spark/src/main/java/org/apache/beam/runners/spark/aggregators/AggregatorsAccumulator.java
index 09935e6e639..96f9098c351 100644
--- a/runners/spark/src/main/java/org/apache/beam/runners/spark/aggregators/AggregatorsAccumulator.java
+++ b/runners/spark/src/main/java/org/apache/beam/runners/spark/aggregators/AggregatorsAccumulator.java
@@ -39,7 +39,7 @@ import org.slf4j.LoggerFactory;
  *     href="https://spark.apache.org/docs/latest/api/java/org/apache/spark/util/AccumulatorV2.html">accumulatorsV2</a>
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class AggregatorsAccumulator {
   private static final Logger LOG = LoggerFactory.getLogger(AggregatorsAccumulator.class);
diff --git a/runners/spark/src/main/java/org/apache/beam/runners/spark/aggregators/NamedAggregators.java b/runners/spark/src/main/java/org/apache/beam/runners/spark/aggregators/NamedAggregators.java
index 4e2c254618d..2ae43196a5c 100644
--- a/runners/spark/src/main/java/org/apache/beam/runners/spark/aggregators/NamedAggregators.java
+++ b/runners/spark/src/main/java/org/apache/beam/runners/spark/aggregators/NamedAggregators.java
@@ -31,7 +31,7 @@ import org.apache.beam.vendor.guava.v26_0_jre.com.google.common.collect.Maps;
  * launched. We can then add aggregators on the fly in Spark.
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class NamedAggregators implements Serializable {
   /** Map from aggregator name to current state. */
diff --git a/runners/spark/src/main/java/org/apache/beam/runners/spark/coders/CoderHelpers.java b/runners/spark/src/main/java/org/apache/beam/runners/spark/coders/CoderHelpers.java
index 69289a4bbb3..52c29b8abf7 100644
--- a/runners/spark/src/main/java/org/apache/beam/runners/spark/coders/CoderHelpers.java
+++ b/runners/spark/src/main/java/org/apache/beam/runners/spark/coders/CoderHelpers.java
@@ -39,7 +39,7 @@ import scala.Tuple2;
 
 /** Serialization utility class. */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public final class CoderHelpers {
   private CoderHelpers() {}
diff --git a/runners/spark/src/main/java/org/apache/beam/runners/spark/coders/SparkRunnerKryoRegistrator.java b/runners/spark/src/main/java/org/apache/beam/runners/spark/coders/SparkRunnerKryoRegistrator.java
index a91a491626b..440cd9b6858 100644
--- a/runners/spark/src/main/java/org/apache/beam/runners/spark/coders/SparkRunnerKryoRegistrator.java
+++ b/runners/spark/src/main/java/org/apache/beam/runners/spark/coders/SparkRunnerKryoRegistrator.java
@@ -42,7 +42,7 @@ import scala.collection.mutable.WrappedArray;
  * spark.kryo.registrator} configuration.
  */
 @SuppressWarnings({
-  "rawtypes" // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes" // TODO(https://github.com/apache/beam/issues/20447)
 })
 public class SparkRunnerKryoRegistrator implements KryoRegistrator {
 
diff --git a/runners/spark/src/main/java/org/apache/beam/runners/spark/coders/StatelessJavaSerializer.java b/runners/spark/src/main/java/org/apache/beam/runners/spark/coders/StatelessJavaSerializer.java
index 7421b661f78..f65af361037 100644
--- a/runners/spark/src/main/java/org/apache/beam/runners/spark/coders/StatelessJavaSerializer.java
+++ b/runners/spark/src/main/java/org/apache/beam/runners/spark/coders/StatelessJavaSerializer.java
@@ -44,8 +44,8 @@ import java.io.ObjectStreamClass;
  * https://github.com/spring-projects/spring-loaded/issues/107
  */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 class StatelessJavaSerializer extends Serializer {
 
diff --git a/runners/spark/src/main/java/org/apache/beam/runners/spark/io/CreateStream.java b/runners/spark/src/main/java/org/apache/beam/runners/spark/io/CreateStream.java
index 5e09c1f8a22..57f27b4a88a 100644
--- a/runners/spark/src/main/java/org/apache/beam/runners/spark/io/CreateStream.java
+++ b/runners/spark/src/main/java/org/apache/beam/runners/spark/io/CreateStream.java
@@ -87,7 +87,7 @@ import org.joda.time.Instant;
  */
 // TODO: write a proper Builder enforcing all those rules mentioned.
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public final class CreateStream<T> extends PTransform<PBegin, PCollection<T>> {
   public static final String TRANSFORM_URN = "beam:transform:spark:createstream:v1";
diff --git a/runners/spark/src/main/java/org/apache/beam/runners/spark/io/MicrobatchSource.java b/runners/spark/src/main/java/org/apache/beam/runners/spark/io/MicrobatchSource.java
index 685c1a740fe..3a3fd1c8c4f 100644
--- a/runners/spark/src/main/java/org/apache/beam/runners/spark/io/MicrobatchSource.java
+++ b/runners/spark/src/main/java/org/apache/beam/runners/spark/io/MicrobatchSource.java
@@ -47,7 +47,7 @@ import org.slf4j.LoggerFactory;
  * UnboundedSource}.
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class MicrobatchSource<T, CheckpointMarkT extends UnboundedSource.CheckpointMark>
     extends Source<T> {
diff --git a/runners/spark/src/main/java/org/apache/beam/runners/spark/io/SourceDStream.java b/runners/spark/src/main/java/org/apache/beam/runners/spark/io/SourceDStream.java
index 9b80b9f238a..0bd9143b50b 100644
--- a/runners/spark/src/main/java/org/apache/beam/runners/spark/io/SourceDStream.java
+++ b/runners/spark/src/main/java/org/apache/beam/runners/spark/io/SourceDStream.java
@@ -51,7 +51,7 @@ import scala.Tuple2;
  * RateController} mechanism.
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 class SourceDStream<T, CheckpointMarkT extends UnboundedSource.CheckpointMark>
     extends InputDStream<Tuple2<Source<T>, CheckpointMarkT>> {
diff --git a/runners/spark/src/main/java/org/apache/beam/runners/spark/io/SourceRDD.java b/runners/spark/src/main/java/org/apache/beam/runners/spark/io/SourceRDD.java
index 95efe95605f..6f5febd2c09 100644
--- a/runners/spark/src/main/java/org/apache/beam/runners/spark/io/SourceRDD.java
+++ b/runners/spark/src/main/java/org/apache/beam/runners/spark/io/SourceRDD.java
@@ -53,8 +53,8 @@ import scala.collection.JavaConversions;
 
 /** Classes implementing Beam {@link Source} {@link RDD}s. */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class SourceRDD {
 
diff --git a/runners/spark/src/main/java/org/apache/beam/runners/spark/io/SparkUnboundedSource.java b/runners/spark/src/main/java/org/apache/beam/runners/spark/io/SparkUnboundedSource.java
index 96bceae3f57..398e2c03fe8 100644
--- a/runners/spark/src/main/java/org/apache/beam/runners/spark/io/SparkUnboundedSource.java
+++ b/runners/spark/src/main/java/org/apache/beam/runners/spark/io/SparkUnboundedSource.java
@@ -78,7 +78,7 @@ import scala.runtime.BoxedUnit;
  * </ul>
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class SparkUnboundedSource {
 
diff --git a/runners/spark/src/main/java/org/apache/beam/runners/spark/metrics/MetricsAccumulator.java b/runners/spark/src/main/java/org/apache/beam/runners/spark/metrics/MetricsAccumulator.java
index b885b888ca5..3eb3cab55c9 100644
--- a/runners/spark/src/main/java/org/apache/beam/runners/spark/metrics/MetricsAccumulator.java
+++ b/runners/spark/src/main/java/org/apache/beam/runners/spark/metrics/MetricsAccumulator.java
@@ -40,7 +40,7 @@ import org.slf4j.LoggerFactory;
  *     href="https://spark.apache.org/docs/2.4.4/streaming-programming-guide.html#accumulators-broadcast-variables-and-checkpoints">accumulatorsV2</a>
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class MetricsAccumulator {
   private static final Logger LOG = LoggerFactory.getLogger(MetricsAccumulator.class);
diff --git a/runners/spark/src/main/java/org/apache/beam/runners/spark/metrics/WithMetricsSupport.java b/runners/spark/src/main/java/org/apache/beam/runners/spark/metrics/WithMetricsSupport.java
index 705db1a8da2..1d551f0b12e 100644
--- a/runners/spark/src/main/java/org/apache/beam/runners/spark/metrics/WithMetricsSupport.java
+++ b/runners/spark/src/main/java/org/apache/beam/runners/spark/metrics/WithMetricsSupport.java
@@ -48,10 +48,10 @@ import org.slf4j.LoggerFactory;
  * it delegates all metric related getters to the "decorated" instance.
  */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
   "keyfor",
   "nullness"
-}) // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+}) // TODO(https://github.com/apache/beam/issues/20497)
 public class WithMetricsSupport extends MetricRegistry {
 
   private static final Logger LOG = LoggerFactory.getLogger(WithMetricsSupport.class);
diff --git a/runners/spark/src/main/java/org/apache/beam/runners/spark/stateful/SparkGroupAlsoByWindowViaWindowSet.java b/runners/spark/src/main/java/org/apache/beam/runners/spark/stateful/SparkGroupAlsoByWindowViaWindowSet.java
index c0ad420d12b..05187509269 100644
--- a/runners/spark/src/main/java/org/apache/beam/runners/spark/stateful/SparkGroupAlsoByWindowViaWindowSet.java
+++ b/runners/spark/src/main/java/org/apache/beam/runners/spark/stateful/SparkGroupAlsoByWindowViaWindowSet.java
@@ -94,7 +94,7 @@ import scala.runtime.AbstractFunction1;
  * the state (and output if no firing) in the following steps.
  */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class SparkGroupAlsoByWindowViaWindowSet implements Serializable {
   private static final Logger LOG =
diff --git a/runners/spark/src/main/java/org/apache/beam/runners/spark/stateful/SparkStateInternals.java b/runners/spark/src/main/java/org/apache/beam/runners/spark/stateful/SparkStateInternals.java
index a1bc9c753d2..d326b391f7d 100644
--- a/runners/spark/src/main/java/org/apache/beam/runners/spark/stateful/SparkStateInternals.java
+++ b/runners/spark/src/main/java/org/apache/beam/runners/spark/stateful/SparkStateInternals.java
@@ -49,7 +49,7 @@ import org.joda.time.Instant;
 
 /** An implementation of {@link StateInternals} for the SparkRunner. */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 class SparkStateInternals<K> implements StateInternals {
 
diff --git a/runners/spark/src/main/java/org/apache/beam/runners/spark/stateful/SparkTimerInternals.java b/runners/spark/src/main/java/org/apache/beam/runners/spark/stateful/SparkTimerInternals.java
index 6f2e07bc9ec..597c18b4cac 100644
--- a/runners/spark/src/main/java/org/apache/beam/runners/spark/stateful/SparkTimerInternals.java
+++ b/runners/spark/src/main/java/org/apache/beam/runners/spark/stateful/SparkTimerInternals.java
@@ -38,7 +38,7 @@ import org.joda.time.Instant;
 
 /** An implementation of {@link TimerInternals} for the SparkRunner. */
 @SuppressWarnings({
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class SparkTimerInternals implements TimerInternals {
   private final Instant highWatermark;
diff --git a/runners/spark/src/main/java/org/apache/beam/runners/spark/stateful/StateSpecFunctions.java b/runners/spark/src/main/java/org/apache/beam/runners/spark/stateful/StateSpecFunctions.java
index aabc5d6b164..ed0b0a4e2ea 100644
--- a/runners/spark/src/main/java/org/apache/beam/runners/spark/stateful/StateSpecFunctions.java
+++ b/runners/spark/src/main/java/org/apache/beam/runners/spark/stateful/StateSpecFunctions.java
@@ -53,8 +53,8 @@ import scala.runtime.AbstractFunction3;
 
 /** A class containing {@link org.apache.spark.streaming.StateSpec} mappingFunctions. */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class StateSpecFunctions {
   private static final Logger LOG = LoggerFactory.getLogger(StateSpecFunctions.class);
diff --git a/runners/spark/src/main/java/org/apache/beam/runners/spark/structuredstreaming/SparkStructuredStreamingPipelineResult.java b/runners/spark/src/main/java/org/apache/beam/runners/spark/structuredstreaming/SparkStructuredStreamingPipelineResult.java
index b316dde4464..663c87af4c6 100644
--- a/runners/spark/src/main/java/org/apache/beam/runners/spark/structuredstreaming/SparkStructuredStreamingPipelineResult.java
+++ b/runners/spark/src/main/java/org/apache/beam/runners/spark/structuredstreaming/SparkStructuredStreamingPipelineResult.java
@@ -37,8 +37,8 @@ import org.joda.time.Duration;
 
 /** Represents a Spark pipeline execution result. */
 @SuppressWarnings({
-  "rawtypes", // TODO(https://issues.apache.org/jira/browse/BEAM-10556)
-  "nullness" // TODO(https://issues.apache.org/jira/browse/BEAM-10402)
+  "rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
+  "nullness" // TODO(https://github.com/apache/beam/issues/20497)
 })
 public class SparkStructuredStreamingPipelineResult implements PipelineResult {
 
diff --git a/runners/spark/src/main/java/org/apache/beam/runners/spark/structuredstreaming/SparkStructuredStreamingRunner.java b/runners/spark/src/main/java/org/apache/beam/runners/spark/structuredstreaming/SparkStructuredStreamingRunner.java
... 12464 lines suppressed ...