This is an automated email from the ASF dual-hosted git repository.
snuyanzin pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/flink.git
The following commit(s) were added to refs/heads/master by this push:
new 17dda6176f8 [FLINK-38903] Update flink-shaded to 21.0
17dda6176f8 is described below
commit 17dda6176f87bcc410b16b0cc51e86b6a64b3e8f
Author: Mate Czagany <[email protected]>
AuthorDate: Thu Jan 22 00:56:36 2026 +0100
[FLINK-38903] Update flink-shaded to 21.0
---
.../generated/security_configuration.html | 2 +-
.../shortcodes/generated/security_ssl_section.html | 2 +-
.../flink/configuration/SecurityOptions.java | 2 +-
.../src/test/resources/rest_api_v1.snapshot | 90 ++++++++++++++++------
.../org/apache/flink/runtime/net/SSLUtils.java | 16 ++++
.../network/netty/NettyConnectionManagerTest.java | 22 +++++-
.../planner/plan/nodes/exec/ExecNodeBase.java | 2 +-
pom.xml | 14 ++--
8 files changed, 114 insertions(+), 36 deletions(-)
diff --git a/docs/layouts/shortcodes/generated/security_configuration.html
b/docs/layouts/shortcodes/generated/security_configuration.html
index ff19479042e..85109758ab9 100644
--- a/docs/layouts/shortcodes/generated/security_configuration.html
+++ b/docs/layouts/shortcodes/generated/security_configuration.html
@@ -244,7 +244,7 @@
</tr>
<tr>
<td><h5>security.ssl.verify-hostname</h5></td>
- <td style="word-wrap: break-word;">true</td>
+ <td style="word-wrap: break-word;">false</td>
<td>Boolean</td>
<td>Flag to enable peer’s hostname verification during ssl
handshake.</td>
</tr>
diff --git a/docs/layouts/shortcodes/generated/security_ssl_section.html
b/docs/layouts/shortcodes/generated/security_ssl_section.html
index ad5c72b3cf2..8a4f869e308 100644
--- a/docs/layouts/shortcodes/generated/security_ssl_section.html
+++ b/docs/layouts/shortcodes/generated/security_ssl_section.html
@@ -136,7 +136,7 @@
</tr>
<tr>
<td><h5>security.ssl.verify-hostname</h5></td>
- <td style="word-wrap: break-word;">true</td>
+ <td style="word-wrap: break-word;">false</td>
<td>Boolean</td>
<td>Flag to enable peer’s hostname verification during ssl
handshake.</td>
</tr>
diff --git
a/flink-core/src/main/java/org/apache/flink/configuration/SecurityOptions.java
b/flink-core/src/main/java/org/apache/flink/configuration/SecurityOptions.java
index 24ecf2f6eaf..d4ff4431335 100644
---
a/flink-core/src/main/java/org/apache/flink/configuration/SecurityOptions.java
+++
b/flink-core/src/main/java/org/apache/flink/configuration/SecurityOptions.java
@@ -519,7 +519,7 @@ public class SecurityOptions {
public static final ConfigOption<Boolean> SSL_VERIFY_HOSTNAME =
key("security.ssl.verify-hostname")
.booleanType()
- .defaultValue(true)
+ .defaultValue(false)
.withDescription(
"Flag to enable peer’s hostname verification
during ssl handshake.");
diff --git a/flink-runtime-web/src/test/resources/rest_api_v1.snapshot
b/flink-runtime-web/src/test/resources/rest_api_v1.snapshot
index d9ec78270e2..b8d8f19359e 100644
--- a/flink-runtime-web/src/test/resources/rest_api_v1.snapshot
+++ b/flink-runtime-web/src/test/resources/rest_api_v1.snapshot
@@ -1552,7 +1552,7 @@
"properties" : {
"checkpointed_size" : {
"type" : "object",
- "id" :
"urn:jsonschema:org:apache:flink:runtime:rest:messages:util.stats:StatsSummaryDto",
+ "id" :
"urn:jsonschema:org:apache:flink:runtime:rest:messages:util:stats:StatsSummaryDto",
"properties" : {
"min" : {
"type" : "integer"
@@ -1582,23 +1582,23 @@
},
"state_size" : {
"type" : "object",
- "$ref" :
"urn:jsonschema:org:apache:flink:runtime:rest:messages:util.stats:StatsSummaryDto"
+ "$ref" :
"urn:jsonschema:org:apache:flink:runtime:rest:messages:util:stats:StatsSummaryDto"
},
"end_to_end_duration" : {
"type" : "object",
- "$ref" :
"urn:jsonschema:org:apache:flink:runtime:rest:messages:util.stats:StatsSummaryDto"
+ "$ref" :
"urn:jsonschema:org:apache:flink:runtime:rest:messages:util:stats:StatsSummaryDto"
},
"alignment_buffered" : {
"type" : "object",
- "$ref" :
"urn:jsonschema:org:apache:flink:runtime:rest:messages:util.stats:StatsSummaryDto"
+ "$ref" :
"urn:jsonschema:org:apache:flink:runtime:rest:messages:util:stats:StatsSummaryDto"
},
"processed_data" : {
"type" : "object",
- "$ref" :
"urn:jsonschema:org:apache:flink:runtime:rest:messages:util.stats:StatsSummaryDto"
+ "$ref" :
"urn:jsonschema:org:apache:flink:runtime:rest:messages:util:stats:StatsSummaryDto"
},
"persisted_data" : {
"type" : "object",
- "$ref" :
"urn:jsonschema:org:apache:flink:runtime:rest:messages:util.stats:StatsSummaryDto"
+ "$ref" :
"urn:jsonschema:org:apache:flink:runtime:rest:messages:util:stats:StatsSummaryDto"
}
}
},
@@ -2155,7 +2155,7 @@
"properties" : {
"checkpointed_size" : {
"type" : "object",
- "id" :
"urn:jsonschema:org:apache:flink:runtime:rest:messages:util.stats:StatsSummaryDto",
+ "id" :
"urn:jsonschema:org:apache:flink:runtime:rest:messages:util:stats:StatsSummaryDto",
"properties" : {
"min" : {
"type" : "integer"
@@ -2185,11 +2185,11 @@
},
"state_size" : {
"type" : "object",
- "$ref" :
"urn:jsonschema:org:apache:flink:runtime:rest:messages:util.stats:StatsSummaryDto"
+ "$ref" :
"urn:jsonschema:org:apache:flink:runtime:rest:messages:util:stats:StatsSummaryDto"
},
"end_to_end_duration" : {
"type" : "object",
- "$ref" :
"urn:jsonschema:org:apache:flink:runtime:rest:messages:util.stats:StatsSummaryDto"
+ "$ref" :
"urn:jsonschema:org:apache:flink:runtime:rest:messages:util:stats:StatsSummaryDto"
},
"checkpoint_duration" : {
"type" : "object",
@@ -2197,11 +2197,11 @@
"properties" : {
"sync" : {
"type" : "object",
- "$ref" :
"urn:jsonschema:org:apache:flink:runtime:rest:messages:util.stats:StatsSummaryDto"
+ "$ref" :
"urn:jsonschema:org:apache:flink:runtime:rest:messages:util:stats:StatsSummaryDto"
},
"async" : {
"type" : "object",
- "$ref" :
"urn:jsonschema:org:apache:flink:runtime:rest:messages:util.stats:StatsSummaryDto"
+ "$ref" :
"urn:jsonschema:org:apache:flink:runtime:rest:messages:util:stats:StatsSummaryDto"
}
}
},
@@ -2211,25 +2211,25 @@
"properties" : {
"buffered" : {
"type" : "object",
- "$ref" :
"urn:jsonschema:org:apache:flink:runtime:rest:messages:util.stats:StatsSummaryDto"
+ "$ref" :
"urn:jsonschema:org:apache:flink:runtime:rest:messages:util:stats:StatsSummaryDto"
},
"processed" : {
"type" : "object",
- "$ref" :
"urn:jsonschema:org:apache:flink:runtime:rest:messages:util.stats:StatsSummaryDto"
+ "$ref" :
"urn:jsonschema:org:apache:flink:runtime:rest:messages:util:stats:StatsSummaryDto"
},
"persisted" : {
"type" : "object",
- "$ref" :
"urn:jsonschema:org:apache:flink:runtime:rest:messages:util.stats:StatsSummaryDto"
+ "$ref" :
"urn:jsonschema:org:apache:flink:runtime:rest:messages:util:stats:StatsSummaryDto"
},
"duration" : {
"type" : "object",
- "$ref" :
"urn:jsonschema:org:apache:flink:runtime:rest:messages:util.stats:StatsSummaryDto"
+ "$ref" :
"urn:jsonschema:org:apache:flink:runtime:rest:messages:util:stats:StatsSummaryDto"
}
}
},
"start_delay" : {
"type" : "object",
- "$ref" :
"urn:jsonschema:org:apache:flink:runtime:rest:messages:util.stats:StatsSummaryDto"
+ "$ref" :
"urn:jsonschema:org:apache:flink:runtime:rest:messages:util:stats:StatsSummaryDto"
}
}
},
@@ -2820,7 +2820,30 @@
},
"response" : {
"type" : "object",
- "id" :
"urn:jsonschema:org:apache:flink:runtime:rest:messages:job:JobResourceRequirementsBody"
+ "id" :
"urn:jsonschema:org:apache:flink:runtime:rest:messages:job:JobResourceRequirementsBody",
+ "properties" : {
+ "jobVertexResourceRequirements" : {
+ "type" : "object",
+ "additionalProperties" : {
+ "type" : "object",
+ "id" :
"urn:jsonschema:org:apache:flink:runtime:jobgraph:JobVertexResourceRequirements",
+ "properties" : {
+ "parallelism" : {
+ "type" : "object",
+ "id" :
"urn:jsonschema:org:apache:flink:runtime:jobgraph:JobVertexResourceRequirements:Parallelism",
+ "properties" : {
+ "lowerBound" : {
+ "type" : "integer"
+ },
+ "upperBound" : {
+ "type" : "integer"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
}
}, {
"url" : "/jobs/:jobid/resource-requirements",
@@ -2837,7 +2860,30 @@
},
"request" : {
"type" : "object",
- "id" :
"urn:jsonschema:org:apache:flink:runtime:rest:messages:job:JobResourceRequirementsBody"
+ "id" :
"urn:jsonschema:org:apache:flink:runtime:rest:messages:job:JobResourceRequirementsBody",
+ "properties" : {
+ "jobVertexResourceRequirements" : {
+ "type" : "object",
+ "additionalProperties" : {
+ "type" : "object",
+ "id" :
"urn:jsonschema:org:apache:flink:runtime:jobgraph:JobVertexResourceRequirements",
+ "properties" : {
+ "parallelism" : {
+ "type" : "object",
+ "id" :
"urn:jsonschema:org:apache:flink:runtime:jobgraph:JobVertexResourceRequirements:Parallelism",
+ "properties" : {
+ "lowerBound" : {
+ "type" : "integer"
+ },
+ "upperBound" : {
+ "type" : "integer"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
},
"response" : {
"type" : "object",
@@ -4441,12 +4487,12 @@
"jobId" : {
"type" : "any"
},
- "assignedTasks" : {
- "type" : "integer"
- },
"resource" : {
"type" : "object",
"$ref" :
"urn:jsonschema:org:apache:flink:runtime:rest:messages:ResourceProfileInfo"
+ },
+ "assignedTasks" : {
+ "type" : "integer"
}
}
}
@@ -4634,4 +4680,4 @@
}
}
} ]
-}
+}
\ No newline at end of file
diff --git
a/flink-runtime/src/main/java/org/apache/flink/runtime/net/SSLUtils.java
b/flink-runtime/src/main/java/org/apache/flink/runtime/net/SSLUtils.java
index 0660873b1cb..898511b9556 100644
--- a/flink-runtime/src/main/java/org/apache/flink/runtime/net/SSLUtils.java
+++ b/flink-runtime/src/main/java/org/apache/flink/runtime/net/SSLUtils.java
@@ -367,6 +367,8 @@ public class SSLUtils {
sslContextBuilder = SslContextBuilder.forServer(kmf);
}
+ setHostnameVerification(sslContextBuilder, config, clientMode);
+
Optional<TrustManagerFactory> tmf = getTrustManagerFactory(config,
true);
tmf.map(sslContextBuilder::trustManager);
@@ -433,6 +435,8 @@ public class SSLUtils {
sslContextBuilder = SslContextBuilder.forServer(kmf);
}
+ setHostnameVerification(sslContextBuilder, config, clientMode);
+
if (clientMode || clientAuth != ClientAuth.NONE) {
Optional<TrustManagerFactory> tmf = getTrustManagerFactory(config,
false);
tmf.map(
@@ -453,6 +457,18 @@ public class SSLUtils {
// Utilities
// ------------------------------------------------------------------------
+ /**
+ * Set hostname verification. By default, Netty will enable hostname
verification since 4.2.x
+ * for client-mode connections.
+ */
+ private static void setHostnameVerification(
+ SslContextBuilder sslContextBuilder, Configuration config, boolean
clientMode) {
+ if (clientMode) {
+ sslContextBuilder.endpointIdentificationAlgorithm(
+ config.get(SecurityOptions.SSL_VERIFY_HOSTNAME) ? "HTTPS"
: null);
+ }
+ }
+
private static String getAndCheckOption(
Configuration config,
ConfigOption<String> primaryOption,
diff --git
a/flink-runtime/src/test/java/org/apache/flink/runtime/io/network/netty/NettyConnectionManagerTest.java
b/flink-runtime/src/test/java/org/apache/flink/runtime/io/network/netty/NettyConnectionManagerTest.java
index 27566b2e3ba..9fcb4c0abd8 100644
---
a/flink-runtime/src/test/java/org/apache/flink/runtime/io/network/netty/NettyConnectionManagerTest.java
+++
b/flink-runtime/src/test/java/org/apache/flink/runtime/io/network/netty/NettyConnectionManagerTest.java
@@ -36,6 +36,8 @@ import static org.assertj.core.api.Assertions.assertThat;
/** Simple netty connection manager test. */
class NettyConnectionManagerTest {
+ private static final String EVENT_EXECUTOR_GROUP_FIELD_CHILDREN =
"children";
+
/**
* Tests that the number of arenas and number of threads of the client and
server are set to the
* same number, that is the number of configured task slots.
@@ -68,7 +70,7 @@ class NettyConnectionManagerTest {
Bootstrap boostrap = connectionManager.getClient().getBootstrap();
EventLoopGroup group = boostrap.config().group();
- Field f =
group.getClass().getSuperclass().getSuperclass().getDeclaredField("children");
+ Field f = getInheritedField(group.getClass());
f.setAccessible(true);
Object[] eventExecutors = (Object[]) f.get(group);
@@ -80,7 +82,7 @@ class NettyConnectionManagerTest {
ServerBootstrap bootstrap =
connectionManager.getServer().getBootstrap();
EventLoopGroup group = bootstrap.config().group();
- Field f =
group.getClass().getSuperclass().getSuperclass().getDeclaredField("children");
+ Field f = getInheritedField(group.getClass());
f.setAccessible(true);
Object[] eventExecutors = (Object[]) f.get(group);
@@ -92,7 +94,7 @@ class NettyConnectionManagerTest {
ServerBootstrap bootstrap =
connectionManager.getServer().getBootstrap();
EventLoopGroup group = bootstrap.childGroup();
- Field f =
group.getClass().getSuperclass().getSuperclass().getDeclaredField("children");
+ Field f = getInheritedField(group.getClass());
f.setAccessible(true);
Object[] eventExecutors = (Object[]) f.get(group);
@@ -104,4 +106,18 @@ class NettyConnectionManagerTest {
return new NettyConnectionManager(
new ResultPartitionManager(), new TaskEventDispatcher(),
config, true);
}
+
+ private static Field getInheritedField(Class<?> clazz) {
+ while (clazz != null) {
+ try {
+ Field field =
clazz.getDeclaredField(EVENT_EXECUTOR_GROUP_FIELD_CHILDREN);
+ field.setAccessible(true);
+ return field;
+ } catch (NoSuchFieldException e) {
+ clazz = clazz.getSuperclass();
+ }
+ }
+ throw new IllegalArgumentException(
+ "Field " + EVENT_EXECUTOR_GROUP_FIELD_CHILDREN + " not found
in hierarchy");
+ }
}
diff --git
a/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/plan/nodes/exec/ExecNodeBase.java
b/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/plan/nodes/exec/ExecNodeBase.java
index 92d9f8fbd95..26a56ad1968 100644
---
a/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/plan/nodes/exec/ExecNodeBase.java
+++
b/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/plan/nodes/exec/ExecNodeBase.java
@@ -92,7 +92,7 @@ public abstract class ExecNodeBase<T> implements ExecNode<T> {
* Retrieves the default context from the {@link ExecNodeMetadata}
annotation to be serialized
* into the JSON plan.
*/
- @JsonProperty(value = FIELD_NAME_TYPE, access =
JsonProperty.Access.READ_ONLY, index = 1)
+ @JsonProperty(value = FIELD_NAME_TYPE, index = 1)
protected final ExecNodeContext getContextFromAnnotation() {
return isCompiled ? context :
ExecNodeContext.newContext(this.getClass()).withId(getId());
}
diff --git a/pom.xml b/pom.xml
index a3d9c467dd1..91bacb64b79 100644
--- a/pom.xml
+++ b/pom.xml
@@ -127,9 +127,9 @@ under the License.
<flink.forkCountUnitTest>4</flink.forkCountUnitTest>
<flink.reuseForks>true</flink.reuseForks>
<flink.surefire.baseArgLine>-XX:+UseG1GC -Xms256m
-XX:+IgnoreUnrecognizedVMOptions
${surefire.module.config}</flink.surefire.baseArgLine>
- <flink.shaded.version>20.0</flink.shaded.version>
-
<flink.shaded.jackson.version>2.18.2</flink.shaded.jackson.version>
-
<flink.shaded.jsonpath.version>2.9.0</flink.shaded.jsonpath.version>
+ <flink.shaded.version>21.0</flink.shaded.version>
+
<flink.shaded.jackson.version>2.20.1</flink.shaded.jackson.version>
+
<flink.shaded.jsonpath.version>2.10.0</flink.shaded.jsonpath.version>
<flink.markBundledAsOptional>true</flink.markBundledAsOptional>
<source.java.version>11</source.java.version>
<target.java.version>17</target.java.version>
@@ -355,13 +355,13 @@ under the License.
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-shaded-asm-9</artifactId>
- <version>9.6-${flink.shaded.version}</version>
+ <version>9.9.1-${flink.shaded.version}</version>
</dependency>
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-shaded-guava</artifactId>
-
<version>33.4.0-jre-${flink.shaded.version}</version>
+
<version>33.5.0-jre-${flink.shaded.version}</version>
</dependency>
<dependency>
@@ -379,13 +379,13 @@ under the License.
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-shaded-netty</artifactId>
-
<version>4.1.100.Final-${flink.shaded.version}</version>
+
<version>4.2.6.Final-${flink.shaded.version}</version>
</dependency>
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-shaded-netty-tcnative-dynamic</artifactId>
-
<version>2.0.62.Final-${flink.shaded.version}</version>
+
<version>2.0.74.Final-${flink.shaded.version}</version>
<scope>test</scope>
</dependency>