diff --git a/.test-infra/dataproc/flink_cluster.sh b/.test-infra/dataproc/flink_cluster.sh
index fb1c2f3..5d019a0 100755
--- a/.test-infra/dataproc/flink_cluster.sh
+++ b/.test-infra/dataproc/flink_cluster.sh
@@ -35,7 +35,7 @@
 #    HARNESS_IMAGES_TO_PULL='gcr.io/<IMAGE_REPOSITORY>/python:latest gcr.io/<IMAGE_REPOSITORY>/java:latest' \
 #    JOB_SERVER_IMAGE=gcr.io/<IMAGE_REPOSITORY>/job-server-flink:latest \
 #    ARTIFACTS_DIR=gs://<bucket-for-artifacts> \
-#    FLINK_DOWNLOAD_URL=https://archive.apache.org/dist/flink/flink-1.10.0/flink-1.10.0-bin-scala_2.11.tgz \
+#    FLINK_DOWNLOAD_URL=https://archive.apache.org/dist/flink/flink-1.10.1/flink-1.10.1-bin-scala_2.11.tgz \
 #    HADOOP_DOWNLOAD_URL=https://repo.maven.apache.org/maven2/org/apache/flink/flink-shaded-hadoop-2-uber/2.8.3-9.0/flink-shaded-hadoop-2-uber-2.8.3-9.0.jar \
 #    FLINK_NUM_WORKERS=2 \
 #    FLINK_TASKMANAGER_SLOTS=1 \
diff --git a/.test-infra/jenkins/Flink.groovy b/.test-infra/jenkins/Flink.groovy
index 5242b1a..53f11fc 100644
--- a/.test-infra/jenkins/Flink.groovy
+++ b/.test-infra/jenkins/Flink.groovy
@@ -17,7 +17,7 @@
  */
 
 class Flink {
-  private static final String flinkDownloadUrl = 'https://archive.apache.org/dist/flink/flink-1.10.0/flink-1.10.0-bin-scala_2.11.tgz'
+  private static final String flinkDownloadUrl = 'https://archive.apache.org/dist/flink/flink-1.10.1/flink-1.10.1-bin-scala_2.11.tgz'
   private static final String hadoopDownloadUrl = 'https://repo.maven.apache.org/maven2/org/apache/flink/flink-shaded-hadoop-2-uber/2.8.3-9.0/flink-shaded-hadoop-2-uber-2.8.3-9.0.jar'
   private static final String FLINK_DIR = '"$WORKSPACE/src/.test-infra/dataproc"'
   private static final String FLINK_SCRIPT = 'flink_cluster.sh'
diff --git a/runners/flink/1.10/build.gradle b/runners/flink/1.10/build.gradle
index 7342ec1..5a79c3e 100644
--- a/runners/flink/1.10/build.gradle
+++ b/runners/flink/1.10/build.gradle
@@ -20,7 +20,7 @@
 /* All properties required for loading the Flink build script */
 project.ext {
   // Set the version of all Flink-related dependencies here.
-  flink_version = '1.10.0'
+  flink_version = '1.10.1'
   // Version specific code overrides.
   main_source_overrides = ["${basePath}/1.8/src/main/java", "${basePath}/1.9/src/main/java", './src/main/java']
   test_source_overrides = ["${basePath}/1.8/src/test/java", "${basePath}/1.9/src/test/java", './src/test/java']
diff --git a/runners/flink/1.10/src/test/java/org/apache/beam/runners/flink/FlinkRunnerTest.java b/runners/flink/1.10/src/test/java/org/apache/beam/runners/flink/FlinkRunnerTest.java
index be91d8e..2a4b237 100644
--- a/runners/flink/1.10/src/test/java/org/apache/beam/runners/flink/FlinkRunnerTest.java
+++ b/runners/flink/1.10/src/test/java/org/apache/beam/runners/flink/FlinkRunnerTest.java
@@ -27,6 +27,7 @@
 import org.apache.flink.client.program.OptimizerPlanEnvironment;
 import org.apache.flink.client.program.PackagedProgram;
 import org.apache.flink.client.program.ProgramInvocationException;
+import org.apache.flink.configuration.Configuration;
 import org.hamcrest.MatcherAssert;
 import org.hamcrest.core.StringContains;
 import org.junit.Assert;
@@ -45,7 +46,8 @@
   public void testEnsureStdoutStdErrIsRestored() throws Exception {
     PackagedProgram packagedProgram =
         PackagedProgram.newBuilder().setEntryPointClassName(getClass().getName()).build();
-    OptimizerPlanEnvironment env = new OptimizerPlanEnvironment();
+    // constructor changed between Flink 1.10.0 and 1.10.1 and will again change in 1.11
+    OptimizerPlanEnvironment env = new OptimizerPlanEnvironment(new Configuration());
     try {
       // Flink will throw an error because no job graph will be generated by the main method
       env.getPipeline(packagedProgram, false);
